Commit Graph

467 Commits

Author SHA1 Message Date
Beman
321d5a087a For X86 and X64 architectures, which permit unaligned loads and stores, unaligned little endian buffer and arithmetic types use regular loads and stores when the size is exact. This makes unaligned little endian buffer and arithmetic types significantly more efficient on these architectures.(Pull request from Jeremy Maitin-Shepard) Docs updated, but timing results have not yet been updated. 2015-01-06 16:57:53 -05:00
Beman
0cdcb5f048 Rename build directory to benchmark so will not automatically be built by b2 in boost-root. 2015-01-05 07:16:49 -05:00
Beman
c440b3b7da Update modification date. Explicit updated needed because of FrontPage bug. 2015-01-04 09:26:49 -05:00
Beman
a32c13451b Remove Release History details that are already covered by Mini-review page. Add FAQ for C++03 compiler support. 2015-01-04 09:15:28 -05:00
Beman
08b5a27461 Add examples. 2015-01-04 09:13:15 -05:00
Beman
04d079fa61 Refactor "Choosing the approach" into its own page. It was dominating the main home page, yet is really a topic for study after other material is absorbed. 2015-01-02 10:46:53 -05:00
Beman
ca8b904502 Minor edits. Update TOC. 2014-12-31 10:32:47 -05:00
Beman
48f7363cd7 Minor wording refinements. 2014-12-31 10:15:47 -05:00
Beman
4669f1b04b Add design patterns section 2014-12-31 09:57:16 -05:00
Beman
25143c6b9a Clear Inspection Report problems. 2014-12-17 17:48:54 -05:00
Beman
48ea9cc333 Beef up index.html TOC, add msg to publish.bat. 2014-12-17 16:26:33 -05:00
Beman
79709fe054 Add additional use case 2014-12-17 11:57:35 -05:00
Beman
25a00586a2 Replace local ref to boost.png with full URL so works for gh-pages and other environments where local ref is not available. 2014-12-17 09:21:28 -05:00
Beman
c1e46997c8 Initial commit 2014-12-17 09:19:16 -05:00
Beman
5407a099d3 Add use cases 2014-12-16 11:45:22 -05:00
Beman
fb87b21a0d Minor edits. 2014-12-16 10:17:40 -05:00
Beman
d15b2fdb1c Refined rationale for choice of exact-length types for conversion support. 2014-12-16 08:49:01 -05:00
Beman
6de2f69b77 Get MSVC 64-builds working under Visual Studio. 2014-12-15 20:20:16 -05:00
Beman
f3d0496fae Remove name_changes.sed. It was a development artifact. 2014-12-15 08:53:59 -05:00
Beman
05ea08995c Pass through index.html making corrections and editorial changes. 2014-12-15 08:40:35 -05:00
Beman
e8530e4563 Add FAQ entry for built-in integer names. 2014-12-11 12:05:31 -05:00
Beman
971ba888d6 Decompose Reversible into EndianReversible and EndianReversibleInplace. 2014-12-11 11:41:44 -05:00
Beman
6c173766e3 Eliminate gcc -Wconversion warnings. 2014-12-10 15:03:06 -05:00
Beman
dcde9463fc Do not define _SCL_SECURE_NO_WARNINGS or _CRT_SECURE_NO_WARNINGS if already defined (such as on the command line), plus related cleanups. 2014-12-10 10:26:49 -05:00
Beman
66a7a0bfac Minor editing tweaks. 2014-12-10 09:58:01 -05:00
Beman
c201455c84 Change "in_place" to "inplace". Rationale: shortens names without impacting expressiveness. 2014-12-10 09:39:03 -05:00
Beman
2cbcd6f7d3 Rename "runtime_conditional_reverse" to "conditional_reverse". The differing number of arguments is sufficient to disambiguate the compile-time and run-time overloads. 2014-12-10 09:26:47 -05:00
Beman
51b990eb50 Add associated-files.vcxproj and related infrastructure so Visual Studio IDE find-in-files and replace-in-files works for associated files like headers and HTML files. 2014-12-10 09:00:43 -05:00
Beman
c8d4ab2d11 Add comment about Requirements so it won't be forgotten. 2014-12-10 08:40:56 -05:00
Beman
dcca2835a9 Rename "reverse_endianness" to "endian_reverse". Shorter but still plenty explicit. See bikeshed.txt for alternatives considered. 2014-12-10 08:30:30 -05:00
Beman
e4466edf4e Drop the _unless_big and _unless_little functions. KISS. They were confusing, and less confusing names were never found. 2014-12-09 20:43:47 -05:00
Beman
55a65c3806 Revert to again supply the reverse_endianness_in_place template. This has the effect of providing a default reverse_endianness_in_place for user-defined types. Add error checking for UDT's to verify this works as desired. Provide a note in the conversion docs to that effect. 2014-12-09 11:36:42 -05:00
Beman
a0b5805b73 Minor namespace detail cleanup. 2014-12-09 07:38:04 -05:00
Beman
7b86b251d7 Change example to use buffers as arithmetic is not needed. 2014-12-09 07:13:55 -05:00
Beman
4b6019c82e Use hex in literal for value where octal is confusing. 2014-12-09 07:10:25 -05:00
Beman
f0532a3854 Improve comments. 2014-12-09 07:08:41 -05:00
Beman
28fd6ef4b0 Bring docs in sync with implementation. Still somewhat incomplete. 2014-12-09 07:04:48 -05:00
Beman
f96cec4f17 Work-in-progress on endian_buffer docs. 2014-12-06 08:16:35 -05:00
Beman
7a77827a71 Current very unstable state. 2014-12-05 09:50:45 -05:00
Beman
db16b51b41 Tweak comments. 2014-12-05 09:05:05 -05:00
Beman
b6c9150aea Doc tweeks. 2014-12-05 09:03:17 -05:00
Beman
439207b388 Add conversion_use_case 2014-12-05 09:01:59 -05:00
Beman
e2045b7ffa Finalize buffer and arithmetic decomposition. Finalize name changes. Finalize test cases. Remove cruft. Docs still to do. 2014-11-26 10:04:33 -05:00
Beman
bb785ed8e0 UDT tests added. Passing on Windows, all local compilers. 2014-11-25 11:31:30 -05:00
Beman
7b119ba0ee Add full set of modify in place tests. 2014-11-25 09:58:59 -05:00
Beman
56103a7bc6 Finish conversion.hpp cleanup after name changes. conversion_test.cpp return-by-value tests reorganized and passing. UTD and in-place tests still to come. Add doc/bikeshed.txt to keep record of naming rationale. 2014-11-24 10:04:23 -05:00
Beman
4197f996ac More conversion.hpp fixes. Some, but not all, conversion_test tests passing. 2014-11-23 10:38:21 -05:00
Beman
ce73f59741 Add "_endianness" to the names of the two customization points. These names must be defined in user namespaces (for ADL to work) and so must be much more explicit than names that are defined in namespace endian. 2014-11-23 08:40:58 -05:00
Beman
f9c562b4b4 Rework conversion.hpp: Make the UDT customization point for the value returning conversion functions much more explicit. Provide a separate UDT customization point for the in-place conversion functions, and reverse_in_place() overloads for the built-in arithmetic types. Eliminate the unsafe general-use reverse functions. With explicit customization points these are no longer needed. Complete the renaming of conversion functions started in the prior commit. The reverse and reverse_in_place names are much more meaningful and less likely to be misunderstood. The longer "reverse_in_place" name will hopefully at least slow users down before inappropriate (and possibly unsafe use, such as when trying to recover data after an exception). 2014-11-22 16:27:11 -05:00
Beman
49a91c293a Rename endian_buffer typedefs. New names a bit longer, but also a bit more explicit and more obviously related to endian_arithmetic typedefs. 2014-11-21 15:49:28 -05:00