65 Commits

Author SHA1 Message Date
shiagarw
72aa534b81 Adding support of UTF8 file name processing in mio on windows
Contributing back changes from app.
2020-12-20 23:49:18 +05:30
mandreyel
b296e2d40f Fix not releasing file handle on unsuccessful mapping on win32 2019-12-27 18:25:47 +01:00
Austin McCartney
2bde42c3f2 Corrected CMakeLists.txt comment 2019-06-15 09:31:12 -06:00
Austin McCartney
62e6506330 Travis, CDash, and CMake 3.14 warnings 2019-06-08 11:45:46 -06:00
mandreyel
518b99b967 Fix offset method name to reflect actual intent
It was meant to return the mapping offset from the start of the file,
but in reality it returned the mapping offset from the start of the page
that is mapped. It is now renamed to reflect this.
2019-05-27 18:38:29 +02:00
MambaWong
c071714a70
Fix memory mapped data offset
I think the virtual address maybe like this: ctx.data = mapping_start + offset - aligned_offset;
2019-05-19 13:29:27 +08:00
mandreyel
88e0263b07 Fix memory mapped data offset 2019-03-13 00:06:43 +01:00
mandreyel
18fbf199ec Fix minor errors in internal docs 2019-03-12 22:58:51 +01:00
Antonio Mallia
d25c02f09c
Update mmap.ipp 2019-02-02 14:07:14 -05:00
Antonio Mallia
d35a6db82a
Update mmap.ipp 2019-01-30 18:13:19 -05:00
mandreyel
c7c7163a82 Fix file length calculation bug and half-missing comment 2018-11-27 12:02:46 +01:00
mandreyel
d4283a45ec Add Windows wide char path support 2018-11-13 11:30:51 +01:00
mandreyel
d77add92da
Merge pull request #32 from gmbeard/multi-target-windows-api
Multi target windows api
2018-11-11 15:15:41 +01:00
easyaspi314 (Devin)
3c49b5c3fa Add line break and comment #endifs 2018-11-09 11:30:47 -05:00
Greg Beard
6125094190 Merge branch 'master' into multi-target-windows-api 2018-11-09 11:59:41 +00:00
easyaspi314 (Devin)
cc9e98f382 Conditionally enable the exception-throwing constructors
This allows MIO to be compiled with -fno-exceptions, as that is the
only place where MIO uses them.
2018-11-08 23:32:14 -05:00
mandreyel
45e5fcde97 Third follow up attempt to fix MSVC SFINAE build error 2018-11-07 12:32:08 +01:00
mandreyel
bd14437895 Second follow up attempt to fix MSVC SFINAE build error 2018-11-07 12:08:49 +01:00
mandreyel
261acc6bc6 Follow up attempt to fix MSVC SFINAE build error 2018-11-07 11:42:42 +01:00
mandreyel
0da3002815 Fix missing error code in conditional_sync 2018-11-07 11:08:34 +01:00
mandreyel
d33a0d567f Update docs to specify exception type 2018-10-26 09:02:12 +02:00
AlanAtWork
56aaf4e71f Throw std::system_error 2018-10-25 10:47:05 -05:00
mandreyel
2e048e5a25 Add entire file mapping overload to factory methods 2018-10-25 09:22:46 +02:00
James Darpinian
0b3261071e Map entire file by default. 2018-10-24 23:19:58 -07:00
James Darpinian
99447c57cf MSVC can't handle constexpr INVALID_HANDLE_VALUE
Causes error C2131: expression did not evaluate to a constant
note: failure was caused by unevaluable pointer value
2018-10-24 03:02:02 -07:00
mandreyel
1157537c98 Update docs, example.cpp and README.md 2018-10-22 18:46:07 +02:00
mandreyel
865d7f35ce Update basic_mmap destructor sync behavior 2018-10-22 14:57:47 +02:00
mandreyel
98d0d875b5 Refactor code to remove basic_mmap impl indirection 2018-10-22 14:46:42 +02:00
mandreyel
5ac44ecb00 Create invalid_handle value and update unmapped shared_mmap handle methods to return it 2018-10-22 13:30:35 +02:00
Greg Beard
3338d0ddaf Merge branch 'master' into multi-target-windows-api 2018-10-22 11:09:10 +01:00
pierce
78d60cc6d9 Fix shared_mmap constructor method 2018-10-21 14:25:30 +08:00
Greg Beard
acfca0042e Adds a mio::mio_full_winapi target, which defines no WinAPI flags
The extra target doesn't `#define` any of `WIN32_LEAN_AND_MEAN`,
`NOMINMAX`. The default `mio::mio` adds both of these. This commit also
removes these defines from the `.*pp` files; they're now inserted by the
compile commands.
2018-10-19 07:21:34 +01:00
mandreyel
365a80c9ac Fix char* being an invalid path type 2018-10-18 19:30:41 +02:00
Greg Beard
0082811090 Changes Windows version to directly use CreateFileA
`CreateFile` is `#define`d as `CreateFileW` in unicode builds (when `/D
UNICODE` is defined). This is probably more likely to be a issue when
integrating into GUI projects.

This commit allows compilation to succeed when `UNICODE` has been
defined and adds a note to the README, explicitly stating that mio
doesn't support wide char string types as parameters.
2018-10-18 13:01:55 +01:00
Austin McCartney
0bc5453bfd corrected minor typos in CMake comments 2018-10-13 09:38:00 -06:00
Austin McCartney
9721918446 expanded comments regarding 2018-10-13 09:32:42 -06:00
Austin McCartney
b35ef4725a Expanded CMake Support
This commit introduces several features for the CMake build system.

+ CTest integration
+ CDash integration
+ CPack integration
+ CMake find_package support

To accomodate post-installation consumption, the `include` preprocessor
statements in several library header files were updated to use paths
relative to a root include directory rather than paths relative to the
file itself.
2018-10-13 09:11:10 -06:00
mandreyel
a53f63b58b Update code style in README and test.cpp 2018-09-07 15:59:45 +02:00
mandreyel
f3b8286c47 Move access_mode to page.hpp 2018-07-27 21:47:52 +02:00
Freddie Rice
d16962d443 swapped order of members in class to calm down the compiler 2018-07-26 18:12:14 -04:00
mandreyel
7dfc49b197 Update example include and minor style change 2018-07-12 21:31:53 +02:00
mandreyel
c6039f7ab5 Update empty function docs 2018-04-15 19:12:27 +02:00
mandreyel
2659608761 Update iterator documentation 2018-04-15 19:07:19 +02:00
mandreyel
0dfc6497f2
Merge pull request #4 from TrentHouliston/patch-1
Add missing inline for memory_map
2018-04-15 18:43:10 +02:00
lukediamond
5a6e136512 Fixed mutable begin() for basic_mmap. 2018-04-14 02:00:22 -04:00
Trent Houliston
ab385b9ed4
Add missing inline for memory_map 2018-04-12 11:13:47 +10:00
mandreyel
dcfce4d0ca Fix shared_mmap API 2017-10-30 10:25:04 +01:00
mandreyel
61470daa08 updated example, removed multi-byte support, bugfix 2017-10-08 23:14:43 +02:00
mandreyel
adf941015f updated README and comments 2017-10-08 17:42:15 +02:00
mandreyel
2024c807f0 bugfix, updated README 2017-10-06 13:18:12 +02:00