Commit Graph

249 Commits

Author SHA1 Message Date
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