OSDN Git Service

bit.hpp … を使おうとしているのだが・・・
authorMyun2 <myun2@nwhite.info>
Fri, 18 May 2012 17:28:36 +0000 (02:28 +0900)
committerMyun2 <myun2@nwhite.info>
Fri, 18 May 2012 17:28:36 +0000 (02:28 +0900)
roast/include/roast/math/bit.hpp

index 8f4e05f..9f061d6 100644 (file)
@@ -100,7 +100,7 @@ namespace roast
        class bits
        {
        public:
-               enum { BaseTypeBitCount = sizeof(_BaseType)*8; };
+               enum { BaseTypeBitCount = sizeof(_BaseType)*8 };
                enum { ArraySize = (_BitCount + BaseTypeBitCount - 1) / 8 };
                typedef _BaseType ArrayType[ArraySize];
                typedef _BaseType T;
@@ -131,11 +131,14 @@ namespace roast
                void set(size_t index, bool b){ return get_bit_ptr().set(b); }
                bitref<T> operator [] (size_t index){ return get_bit_ptr().get_bit_ref(); }
                
+               operator unsigned long() const { return internal_array()[0]; }
+               
                //////////////////////////////////////////////////////
                
                //ArrayType internal_array(){ return m_array; }
                _BaseType* internal_array(){ return m_array; }
-               size_t size(){ return _BitCount; }
+               const _BaseType* internal_array() const { return m_array; }
+               size_t size() const { return _BitCount; }
                /*size_t length(){ return _BitCount; }
                size_t size(){ return ArraySize; }*/
        };