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
Beman
84faaa7bbf
Rename the conversion functions to discourage unthinking use of the in-place versions as these are unsafe in that they effectively break the type system by treating the buffer as an undescriminated union. Remove the synonym functions based on names popularized by BSD, OS X, and Linux since these are permitted to be implemented as macros, which would cause endless difficulties if encountered.
2014-11-20 15:38:25 -05:00
Beman
8a9ea6747d
Preliminary doc changes to reflect addition of buffers.
2014-11-19 15:58:15 -05:00
Beman
fc7733ade1
Major renaming. Class "endian" becomes class "endian_arithmetic" to mimic the C++ standard's description of such types as "arithmetic types". Rename header accordingly. The convenience typedefs have been changed shorten aligned names, as they are often being, but keeping the unaligned type names relatively short via a simple "_ut" suffix.
2014-11-19 10:53:11 -05:00
Beman
61d9046348
Remove "operator value_type() const noexcept" from buffers. Make the buffer ctor explicit. Buffers were requested by people who do not want automatic conversions because they want full control over conversions, and are very concerned about "efficiency".
...
Add "operator value_type() const noexcept" to the endian arithmetic types. These types are used by people who do want fully automatic conversions. The arithmetic types need to be drop-in replacements for the built-in arithmetic types for these users.
2014-11-18 14:33:31 -05:00
Beman
221ad3c585
Add use_cases.cpp
2014-11-18 10:05:45 -05:00