$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r64099 - in sandbox/SOC/2010/bit_masks: boost/integer/detail/bft lib/integer/test lib/integer/test/bft_testing
From: bbartmanboost_at_[hidden]
Date: 2010-07-17 10:37:06
Author: bbartman
Date: 2010-07-17 10:37:05 EDT (Sat, 17 Jul 2010)
New Revision: 64099
URL: http://svn.boost.org/trac/boost/changeset/64099
Log:
adding test files and headers for calculating the necessary information about the pointer which is to be stuffed into a bitfield.
Added:
   sandbox/SOC/2010/bit_masks/boost/integer/detail/bft/pointer_parsing_meta_functions.hpp   (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/test/bft_testing/pointer_parsing_meta_function_test.cpp   (contents, props changed)
Text files modified: 
   sandbox/SOC/2010/bit_masks/boost/integer/detail/bft/arg_parse_impl.hpp |    31 +++++++++++++++++++++++++++++++         
   sandbox/SOC/2010/bit_masks/lib/integer/test/Jamfile.v2                 |     1 +                                       
   2 files changed, 32 insertions(+), 0 deletions(-)
Modified: sandbox/SOC/2010/bit_masks/boost/integer/detail/bft/arg_parse_impl.hpp
==============================================================================
--- sandbox/SOC/2010/bit_masks/boost/integer/detail/bft/arg_parse_impl.hpp	(original)
+++ sandbox/SOC/2010/bit_masks/boost/integer/detail/bft/arg_parse_impl.hpp	2010-07-17 10:37:05 EDT (Sat, 17 Jul 2010)
@@ -25,6 +25,7 @@
 #include <boost/integer/bitfield_tuple/pointer.hpp>
 
 #include <boost/integer/detail/bft/name_lookup.hpp>
+#include <boost/integer/detail/bft/pointer_parsing_meta_functions.hpp>
 
 namespace boost { namespace detail {
 
@@ -359,6 +360,36 @@
     FieldVector,
     Offset >
 {
+    /** What must be calculated writen out so I can see it better.
+     *
+     *  1.) Make sure that the mask for the pointer isn't 0.
+     *      A.) if it is that means that NOTHING is being stored in the pointer
+     *      and everything else can be ignroed (Not sure if this should be a
+     *      PRECONDITION that causes a static_assertion or not).
+     *      B.) Make sure the mask is the same size as a pointer.
+     *      If it is NOT the same size as a pointer, then cause a static 
+     *      assertion.
+     *
+     *  2.) Determin the offset into the mask.
+     *      A.) What is mean by this is that I need know which bits wihtin the
+     *      mask that have value are respected as such and the ones which don't
+     *      are able to be used for extra storage.
+     *      B.) Summary: Look for leading zeros and look for trailing zeros.
+     *      Those are the places which values can be stored within.
+     *      C.) PRECONDITION: The offset must be less then or equal to the number
+     *      of leading 0's within the value of the pointer.
+     *      D.) Behavior in the case that there are leading zeros wihtin the
+     *      mask and the offset is not the same as the amound of leading zeros
+     *      within the mask. The zeros are treated as filler and the pointer is
+     *      always stored relative to the mask provided.
+     *      
+     *
+     *  3.) The offset of the storage location of the pointer shall be relative
+     *  to the first 1 within the mask provided.
+     */
+
+    
+
     /*
     typedef bitfields::bit_align<AlignTo> param;
     typedef FieldVector     field_vector;
Added: sandbox/SOC/2010/bit_masks/boost/integer/detail/bft/pointer_parsing_meta_functions.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/boost/integer/detail/bft/pointer_parsing_meta_functions.hpp	2010-07-17 10:37:05 EDT (Sat, 17 Jul 2010)
@@ -0,0 +1,18 @@
+//  Copyright 2010 Brian Bartman.
+//  Distributed under the Boost Software License, Version 1.0.
+//  (See accompanying file LICENSE_1_0.txt or copy at 
+//  http://www.boost.org/LICENSE_1_0.txt)
+
+
+#ifndef BOOST_BITFIELD_TUPLE_POINTER_PARSING_HELPERS_HPP
+#define BOOST_BITFIELD_TUPLE_POINTER_PARSING_HELPERS_HPP
+
+/** This file contains metafunctions which are used to do complex operations
+ *  on the Mask provided by the user.
+ */
+namespace boost { namespace detail { namespace pointer_member {
+
+
+}}} // end boost::detail::pointer_member
+
+#endif
Modified: sandbox/SOC/2010/bit_masks/lib/integer/test/Jamfile.v2
==============================================================================
--- sandbox/SOC/2010/bit_masks/lib/integer/test/Jamfile.v2	(original)
+++ sandbox/SOC/2010/bit_masks/lib/integer/test/Jamfile.v2	2010-07-17 10:37:05 EDT (Sat, 17 Jul 2010)
@@ -53,6 +53,7 @@
         [ run bft_testing/boost_endian_integration_test.cpp ]
         [ run bft_testing/custom_member_test.cpp ]
         [ run bft_testing/pointer_member_test.cpp ]
+        [ run bft_testing/pointer_parsing_meta_function_test.cpp ]
         [ run ppb_testing/pointer_plus_bits_test.cpp ]
 
 
Added: sandbox/SOC/2010/bit_masks/lib/integer/test/bft_testing/pointer_parsing_meta_function_test.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/test/bft_testing/pointer_parsing_meta_function_test.cpp	2010-07-17 10:37:05 EDT (Sat, 17 Jul 2010)
@@ -0,0 +1,12 @@
+//  Copyright 2010 Brian Bartman.
+//  Distributed under the Boost Software License, Version 1.0.
+//  (See accompanying file LICENSE_1_0.txt or copy at 
+//  http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/integer/bitfield_tuple.hpp>
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/type_traits/is_same.hpp>
+
+int main() {
+    return 0;
+}