$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r63238 - in sandbox/SOC/2010/bit_masks: boost/integer/details boost/integer/details/bft lib/integer/test lib/integer/test/bft_testing
From: bbartmanboost_at_[hidden]
Date: 2010-06-22 11:14:34
Author: bbartman
Date: 2010-06-22 11:14:32 EDT (Tue, 22 Jun 2010)
New Revision: 63238
URL: http://svn.boost.org/trac/boost/changeset/63238
Log:
completed the addition of the filler class this allows for the user to specify empty bits to be set inside of the bitfield_tuples internal storage
Added:
   sandbox/SOC/2010/bit_masks/lib/integer/test/bft_testing/filler_test.cpp   (contents, props changed)
Removed:
   sandbox/SOC/2010/bit_masks/boost/integer/details/bit_filler.hpp
Text files modified: 
   sandbox/SOC/2010/bit_masks/boost/integer/details/bft/arg_parse_impl.hpp |    37 +++++++++++++++++++++++++++++++++++--   
   sandbox/SOC/2010/bit_masks/boost/integer/details/filler.hpp             |    21 +++++++++++++++++++++                   
   sandbox/SOC/2010/bit_masks/lib/integer/test/Jamfile.v2                  |     1 +                                       
   3 files changed, 57 insertions(+), 2 deletions(-)
Modified: sandbox/SOC/2010/bit_masks/boost/integer/details/bft/arg_parse_impl.hpp
==============================================================================
--- sandbox/SOC/2010/bit_masks/boost/integer/details/bft/arg_parse_impl.hpp	(original)
+++ sandbox/SOC/2010/bit_masks/boost/integer/details/bft/arg_parse_impl.hpp	2010-06-22 11:14:32 EDT (Tue, 22 Jun 2010)
@@ -4,8 +4,8 @@
 //  http://www.boost.org/LICENSE_1_0.txt)
 
 
-#ifndef BOOST_BITFIELD_TUPLE_bft_arg_parse_implHPP
-#define BOOST_BITFIELD_TUPLE_bft_arg_parse_implHPP
+#ifndef BOOST_BITFIELD_TUPLE_BFT_ARG_PARSE_IMPL_HPP
+#define BOOST_BITFIELD_TUPLE_BFT_ARG_PARSE_IMPL_HPP
 #include <boost/mpl/vector.hpp>
 #include <boost/mpl/void.hpp>
 #include <boost/mpl/push_back.hpp>
@@ -14,6 +14,7 @@
 #include <boost/mpl/find_if.hpp>
 #include <boost/integer/details/bft/name_lookup.hpp>
 #include <boost/integer/details/bit_flag.hpp>
+#include <boost/integer/details/filler.hpp>
 
 namespace boost { namespace details {
 
@@ -232,6 +233,38 @@
         > type;
     };
 };
+/* Specialization for filler. */
+template <  std::size_t PaddingBits,
+            typename StoragePolicy,
+            typename FieldVector,
+            typename Offset
+>
+struct bft_arg_parse_impl <
+    filler<
+        PaddingBits
+    >,
+    StoragePolicy,
+    FieldVector,
+    Offset >
+{
+    typedef filler<PaddingBits> param;
+    typedef FieldVector     field_vector;
+    typedef StoragePolicy   storage_policy;
+    typedef mpl::size_t<PaddingBits + Offset::value > offset;
+
+    typedef bft_arg_parse_impl<param,storage_policy,field_vector,offset> type;
+
+    template <typename NextParam>
+    struct process {
+        typedef bft_arg_parse_impl<
+            NextParam,
+            storage_policy,
+            field_vector,
+            offset
+        > type;
+    };
+};
+
 
 
 
Deleted: sandbox/SOC/2010/bit_masks/boost/integer/details/bit_filler.hpp
==============================================================================
Modified: sandbox/SOC/2010/bit_masks/boost/integer/details/filler.hpp
==============================================================================
--- sandbox/SOC/2010/bit_masks/boost/integer/details/filler.hpp	(original)
+++ sandbox/SOC/2010/bit_masks/boost/integer/details/filler.hpp	2010-06-22 11:14:32 EDT (Tue, 22 Jun 2010)
@@ -0,0 +1,21 @@
+//  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_FILLER_HPP
+#define BOOST_BITFIELD_TUPLE_FILLER_HPP
+#include <cstddef>
+
+namespace boost {
+
+/** Template is used to specify a size or ammound of bits which is 
+ *  not to be used but instead to be filled with padding or unused bits.
+ */
+template < std::size_t N>
+struct filler;
+
+} // end boost
+
+#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-06-22 11:14:32 EDT (Tue, 22 Jun 2010)
@@ -40,5 +40,6 @@
         [ run bft_testing/fusion_iterator_testing.cpp ]
         [ run bft_testing/fusion_integration_testing.cpp ]
         [ run bft_testing/flag_test.cpp ]
+        [ run bft_testing/filler_test.cpp ]
     ;
 
Added: sandbox/SOC/2010/bit_masks/lib/integer/test/bft_testing/filler_test.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/test/bft_testing/filler_test.cpp	2010-06-22 11:14:32 EDT (Tue, 22 Jun 2010)
@@ -0,0 +1,36 @@
+//  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/assert.hpp>
+
+
+using namespace boost;
+
+struct red;
+struct green;
+struct pink;
+struct blue;
+struct salmon;
+
+typedef bitfield_tuple<
+    member<char,red,4>,
+    member<unsigned char, green,5>,
+    storage<std::size_t>,
+    filler<3>,
+    member<int, salmon, 16>,
+    flag<blue>
+>                                       test_tuple;
+
+
+int main() {
+    
+    
+    // BOOST_ASSERT(( ));
+    return 0;
+}
+
+