$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Joel Young (jdy_at_[hidden])
Date: 2001-03-21 12:59:00
From: Daryle Walker <darylew_at_[hidden]>
> 
> on 3/21/01 3:50 AM, boost_at_[hidden] at boost_at_[hidden] wrote:
> 
> > Description : Version 8; CRC checksum computation
> 
> anyone who had problems running the previous formal version check if this
I get this error stream with gcc-2.96  (equiv from 2.95.2):
/cs/src/gcc/gcc-2.96experimental/SunOS5.7-latest/bin/g++ -I. -I/course/cs196e/include -I/cs/src/gcc/gcc-2.96experimental/SunOS5.7-latest/include/g++-v3/ext -I/u/jdy/boost_1_21_1 -I/u/jdy/boost_1_21_1/crc  -g -D_REENTRANT -DDEBUG -D_POSIX_PTHREAD_SEMANTICS -c driver.C
In file included from layer3.h:32,
                 from driver.C:37:
/u/jdy/boost_1_21_1/crc/boost/crc.hpp:52: default argument for template 
   parameter in function template `typename boost::uint_t<Bits>::fast 
   boost::crc(const void*, unsigned int)'
/u/jdy/boost_1_21_1/crc/boost/crc.hpp:96: using `typename' outside of template
/u/jdy/boost_1_21_1/crc/boost/crc.hpp:105: using `typename' outside of template
/u/jdy/boost_1_21_1/crc/boost/crc.hpp:115: using `typename' outside of template
Removing the `typename' "fixes" the errors on line 96,105,115
Commenting out the block at line 52 (all of the crc function) seems to
let it build and run.
I don't understand why (mycrc2.checksum() != 0) at the end of
the following code chunk.  Any suggestions?
    struct Header {
      unsigned char a           : 4;
      unsigned char b           : 4;
      signed char   c;          //  8
      unsigned short d;         // 16
      int e;                    // 32  
      int f;                    // 32
      unsigned short empty;     // 16
      unsigned short checkVal;  // 16
    };
    typedef boost::crc_basic<16> mc_t;
    mc_t mycrc1( 0x8005,0x0,0,false,false);
    mycrc.process_bytes(
      (void const*)header,
      sizeof(Header));
    IPheader->checkVal = mycrc1.checksum();
    mc_t mycrc2( 0x8005,0x0,0,false,false);
    mycrc2.process_bytes(
      (void const*)header,
      sizeof(Header));
Joel