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
Beman
e9f6d2c37c
Re-implement the endian types by inheriting from endian_buffer.
2014-11-15 21:04:19 -05:00
Beman
561d8f7070
Initial commit buffers.hpp and related infrastructure. A separate buffer class without arithmetic operators was requested during the formal review.
2014-11-15 08:02:08 -05:00
Beman
f8e60ae4e9
Switch to VC++ 2014, and clear a resulting shadow warning.
2014-11-14 14:23:36 -05:00
Beman
31f930330d
Refine "Choosing between endian types and endian conversion functions" docs.
2014-11-14 09:52:44 -05:00
Beman
fd1ab6daff
Add additional ambiguity detection.
2014-11-13 13:10:57 -05:00
Beman
c755a6b6af
Add overall css style sheet for more uniform presentation and ease of maintenance.
2014-11-12 08:26:01 -05:00
Beman
c41521cead
For the endian types, add stream inserters and extractors as requested during the formal review.
2014-11-11 21:08:08 -05:00
Beman
a1be441f8f
Initial commit
2014-11-11 10:50:12 -05:00
Beman
4c58fc2efa
Clear [-Wunused-parameter] warnings (Roger Leigh)
2014-08-29 08:12:16 -04:00
Beman Dawes
2ebb04e1df
Merge pull request #5 from danieljames/metadata
...
Create metadata file.
2014-08-22 21:55:12 -04:00
Daniel James
fff254cbc2
Add metadata file.
2014-08-21 20:30:29 +01:00
Beman
72a9095a03
Fix tests that were backwards on big endian machines. Thanks to Lars Viklund for testing on three different big-endian systems.
2014-08-15 18:07:12 -04:00
Beman
4cfeb52325
Fix broken link.
2014-08-15 13:11:37 -04:00