summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/bit_stream
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/bit_stream')
-rw-r--r--ml/dlib/dlib/bit_stream/bit_stream_kernel_1.cpp200
-rw-r--r--ml/dlib/dlib/bit_stream/bit_stream_kernel_1.h120
-rw-r--r--ml/dlib/dlib/bit_stream/bit_stream_kernel_abstract.h185
-rw-r--r--ml/dlib/dlib/bit_stream/bit_stream_kernel_c.h172
-rw-r--r--ml/dlib/dlib/bit_stream/bit_stream_multi_1.h103
-rw-r--r--ml/dlib/dlib/bit_stream/bit_stream_multi_abstract.h77
-rw-r--r--ml/dlib/dlib/bit_stream/bit_stream_multi_c.h101
7 files changed, 0 insertions, 958 deletions
diff --git a/ml/dlib/dlib/bit_stream/bit_stream_kernel_1.cpp b/ml/dlib/dlib/bit_stream/bit_stream_kernel_1.cpp
deleted file mode 100644
index f49db14d5..000000000
--- a/ml/dlib/dlib/bit_stream/bit_stream_kernel_1.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_BIT_STREAM_KERNEL_1_CPp_
-#define DLIB_BIT_STREAM_KERNEL_1_CPp_
-
-
-#include "bit_stream_kernel_1.h"
-#include "../algs.h"
-
-#include <iostream>
-
-namespace dlib
-{
-
- inline void swap (
- bit_stream_kernel_1& a,
- bit_stream_kernel_1& b
- ) { a.swap(b); }
-
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
- // member function definitions
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
-
- void bit_stream_kernel_1::
- clear (
- )
- {
- if (write_mode)
- {
- write_mode = false;
-
- // flush output buffer
- if (buffer_size > 0)
- {
- buffer <<= 8 - buffer_size;
- osp->write(reinterpret_cast<char*>(&buffer),1);
- }
- }
- else
- read_mode = false;
-
- }
-
-// ----------------------------------------------------------------------------------------
-
- void bit_stream_kernel_1::
- set_input_stream (
- std::istream& is
- )
- {
- isp = &is;
- read_mode = true;
-
- buffer_size = 0;
- }
-
-// ----------------------------------------------------------------------------------------
-
- void bit_stream_kernel_1::
- set_output_stream (
- std::ostream& os
- )
- {
- osp = &os;
- write_mode = true;
-
- buffer_size = 0;
- }
-
-// ----------------------------------------------------------------------------------------
-
- void bit_stream_kernel_1::
- close (
- )
- {
- if (write_mode)
- {
- write_mode = false;
-
- // flush output buffer
- if (buffer_size > 0)
- {
- buffer <<= 8 - buffer_size;
- osp->write(reinterpret_cast<char*>(&buffer),1);
- }
- }
- else
- read_mode = false;
- }
-
-// ----------------------------------------------------------------------------------------
-
- bool bit_stream_kernel_1::
- is_in_write_mode (
- ) const
- {
- return write_mode;
- }
-
-// ----------------------------------------------------------------------------------------
-
- bool bit_stream_kernel_1::
- is_in_read_mode (
- ) const
- {
- return read_mode;
- }
-
-// ----------------------------------------------------------------------------------------
-
- void bit_stream_kernel_1::
- write (
- int bit
- )
- {
- // flush buffer if necessary
- if (buffer_size == 8)
- {
- buffer <<= 8 - buffer_size;
- if (osp->rdbuf()->sputn(reinterpret_cast<char*>(&buffer),1) == 0)
- {
- throw std::ios_base::failure("error occurred in the bit_stream object");
- }
-
- buffer_size = 0;
- }
-
- ++buffer_size;
- buffer <<= 1;
- buffer += static_cast<unsigned char>(bit);
- }
-
-// ----------------------------------------------------------------------------------------
-
- bool bit_stream_kernel_1::
- read (
- int& bit
- )
- {
- // get new byte if necessary
- if (buffer_size == 0)
- {
- if (isp->rdbuf()->sgetn(reinterpret_cast<char*>(&buffer), 1) == 0)
- {
- // if we didn't read anything then return false
- return false;
- }
-
- buffer_size = 8;
- }
-
- // put the most significant bit from buffer into bit
- bit = static_cast<int>(buffer >> 7);
-
- // shift out the bit that was just read
- buffer <<= 1;
- --buffer_size;
-
- return true;
- }
-
-// ----------------------------------------------------------------------------------------
-
- void bit_stream_kernel_1::
- swap (
- bit_stream_kernel_1& item
- )
- {
-
- std::istream* isp_temp = item.isp;
- std::ostream* osp_temp = item.osp;
- bool write_mode_temp = item.write_mode;
- bool read_mode_temp = item.read_mode;
- unsigned char buffer_temp = item.buffer;
- unsigned short buffer_size_temp = item.buffer_size;
-
- item.isp = isp;
- item.osp = osp;
- item.write_mode = write_mode;
- item.read_mode = read_mode;
- item.buffer = buffer;
- item.buffer_size = buffer_size;
-
-
- isp = isp_temp;
- osp = osp_temp;
- write_mode = write_mode_temp;
- read_mode = read_mode_temp;
- buffer = buffer_temp;
- buffer_size = buffer_size_temp;
-
- }
-
-// ----------------------------------------------------------------------------------------
-
-}
-#endif // DLIB_BIT_STREAM_KERNEL_1_CPp_
-
diff --git a/ml/dlib/dlib/bit_stream/bit_stream_kernel_1.h b/ml/dlib/dlib/bit_stream/bit_stream_kernel_1.h
deleted file mode 100644
index 801e93e0a..000000000
--- a/ml/dlib/dlib/bit_stream/bit_stream_kernel_1.h
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_BIT_STREAM_KERNEl_1_
-#define DLIB_BIT_STREAM_KERNEl_1_
-
-#include "bit_stream_kernel_abstract.h"
-#include <iosfwd>
-
-namespace dlib
-{
-
- class bit_stream_kernel_1
- {
-
- /*!
- INITIAL VALUE
- write_mode == false
- read_mode == false
-
- CONVENTION
- write_mode == is_in_write_mode()
- read_mode == is_in_read_mode()
-
- if (write_mode)
- {
- osp == pointer to an ostream object
- buffer == the low order bits of buffer are the bits to be
- written
- buffer_size == the number of low order bits in buffer that are
- bits that should be written
- the lowest order bit is the last bit entered by the user
- }
-
- if (read_mode)
- {
- isp == pointer to an istream object
- buffer == the high order bits of buffer are the bits
- waiting to be read by the user
- buffer_size == the number of high order bits in buffer that
- are bits that are waiting to be read
- the highest order bit is the next bit to give to the user
- }
- !*/
-
-
- public:
-
- bit_stream_kernel_1 (
- ) :
- write_mode(false),
- read_mode(false)
- {}
-
- virtual ~bit_stream_kernel_1 (
- )
- {}
-
- void clear (
- );
-
- void set_input_stream (
- std::istream& is
- );
-
- void set_output_stream (
- std::ostream& os
- );
-
- void close (
- );
-
- inline bool is_in_write_mode (
- ) const;
-
- inline bool is_in_read_mode (
- ) const;
-
- inline void write (
- int bit
- );
-
- bool read (
- int& bit
- );
-
- void swap (
- bit_stream_kernel_1& item
- );
-
- private:
-
- // member data
- std::istream* isp;
- std::ostream* osp;
- bool write_mode;
- bool read_mode;
- unsigned char buffer;
- unsigned short buffer_size;
-
- // restricted functions
- bit_stream_kernel_1(bit_stream_kernel_1&); // copy constructor
- bit_stream_kernel_1& operator=(bit_stream_kernel_1&); // assignment operator
-
- };
-
- inline void swap (
- bit_stream_kernel_1& a,
- bit_stream_kernel_1& b
- );
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#ifdef NO_MAKEFILE
-#include "bit_stream_kernel_1.cpp"
-#endif
-
-#endif // DLIB_BIT_STREAM_KERNEl_1_
-
diff --git a/ml/dlib/dlib/bit_stream/bit_stream_kernel_abstract.h b/ml/dlib/dlib/bit_stream/bit_stream_kernel_abstract.h
deleted file mode 100644
index 00c2ae3b9..000000000
--- a/ml/dlib/dlib/bit_stream/bit_stream_kernel_abstract.h
+++ /dev/null
@@ -1,185 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#undef DLIB_BIT_STREAM_KERNEl_ABSTRACT_
-#ifdef DLIB_BIT_STREAM_KERNEl_ABSTRACT_
-
-#include <iosfwd>
-
-namespace dlib
-{
-
- class bit_stream
- {
-
- /*!
- INITIAL VALUE
- is_in_write_mode() == false
- is_in_read_mode() == false
-
- WHAT THIS OBJECT REPRESENTS
- this object is a middle man between a user and the iostream classes.
- it allows single bits to be read/written easily to/from
- the iostream classes
-
- BUFFERING:
- This object will only read/write single bytes at a time from/to the
- iostream objects. Any buffered bits still in the bit_stream object
- when it is closed or destructed are lost if it is in read mode. If
- it is in write mode then any remaining bits are guaranteed to be
- written to the output stream by the time it is closed or destructed.
- !*/
-
-
- public:
-
- bit_stream (
- );
- /*!
- ensures
- - #*this is properly initialized
- throws
- - std::bad_alloc
- !*/
-
- virtual ~bit_stream (
- );
- /*!
- ensures
- - all memory associated with *this has been released
- !*/
-
- void clear (
- );
- /*!
- ensures
- - #*this has its initial value
- throws
- - std::bad_alloc
- if this exception is thrown then *this is unusable
- until clear() is called and succeeds
- !*/
-
-
- void set_input_stream (
- std::istream& is
- );
- /*!
- requires
- - is_in_write_mode() == false
- - is_in_read_mode() == false
- - is is ready to give input
- ensures
- - #is_in_write_mode() == false
- - #is_in_read_mode() == true
- - #*this will now be reading from is
- throws
- - std::bad_alloc
- !*/
-
- void set_output_stream (
- std::ostream& os
- );
- /*!
- requires
- - is_in_write_mode() == false
- - is_in_read_mode() == false
- - os is ready to take output
- ensures
- - #is_in_write_mode() == true
- - #is_in_read_mode() == false
- - #*this will now write to os
- throws
- - std::bad_alloc
- !*/
-
-
-
- void close (
- );
- /*!
- requires
- - is_in_write_mode() == true || is_in_read_mode() == true
- ensures
- - #is_in_write_mode() == false
- - #is_in_read_mode() == false
- !*/
-
- bool is_in_write_mode (
- ) const;
- /*!
- ensures
- - returns true if *this is associated with an output stream object
- - returns false otherwise
- !*/
-
- bool is_in_read_mode (
- ) const;
- /*!
- ensures
- - returns true if *this is associated with an input stream object
- - returns false otherwise
- !*/
-
- void write (
- int bit
- );
- /*!
- requires
- - is_in_write_mode() == true
- - bit == 0 || bit == 1
- ensures
- - bit will be written to the ostream object associated with *this
- throws
- - std::ios_base::failure
- if (there was a problem writing to the output stream) then
- this exception will be thrown. #*this will be unusable until
- clear() is called and succeeds
- - any other exception
- if this exception is thrown then #*this is unusable
- until clear() is called and succeeds
- !*/
-
- bool read (
- int& bit
- );
- /*!
- requires
- - is_in_read_mode() == true
- ensures
- - the next bit has been read and placed into #bit
- - returns true if the read was successful, else false
- (ex. false if EOF has been reached)
- throws
- - any exception
- if this exception is thrown then #*this is unusable
- until clear() is called and succeeds
- !*/
-
- void swap (
- bit_stream& item
- );
- /*!
- ensures
- - swaps *this and item
- !*/
-
- private:
-
- // restricted functions
- bit_stream(bit_stream&); // copy constructor
- bit_stream& operator=(bit_stream&); // assignment operator
-
- };
-
- inline void swap (
- bit_stream& a,
- bit_stream& b
- ) { a.swap(b); }
- /*!
- provides a global swap function
- !*/
-
-}
-
-#endif // DLIB_BIT_STREAM_KERNEl_ABSTRACT_
-
diff --git a/ml/dlib/dlib/bit_stream/bit_stream_kernel_c.h b/ml/dlib/dlib/bit_stream/bit_stream_kernel_c.h
deleted file mode 100644
index 1d52bff20..000000000
--- a/ml/dlib/dlib/bit_stream/bit_stream_kernel_c.h
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_BIT_STREAM_KERNEl_C_
-#define DLIB_BIT_STREAM_KERNEl_C_
-
-#include "bit_stream_kernel_abstract.h"
-#include "../algs.h"
-#include "../assert.h"
-#include <iosfwd>
-
-namespace dlib
-{
-
- template <
- typename bit_stream_base // implements bit_stream/bit_stream_kernel_abstract.h
- >
- class bit_stream_kernel_c : public bit_stream_base
- {
- public:
-
-
- void set_input_stream (
- std::istream& is
- );
-
- void set_output_stream (
- std::ostream& os
- );
-
- void close (
- );
-
- void write (
- int bit
- );
-
- bool read (
- int& bit
- );
-
- };
-
- template <
- typename bit_stream_base
- >
- inline void swap (
- bit_stream_kernel_c<bit_stream_base>& a,
- bit_stream_kernel_c<bit_stream_base>& b
- ) { a.swap(b); }
-
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
- // member function definitions
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- void bit_stream_kernel_c<bit_stream_base>::
- set_input_stream (
- std::istream& is
- )
- {
- // make sure requires clause is not broken
- DLIB_CASSERT(( this->is_in_write_mode() == false ) && ( this->is_in_read_mode() == false ),
- "\tvoid bit_stream::set_intput_stream"
- << "\n\tbit_stream must not be in write or read mode"
- << "\n\tthis: " << this
- );
-
- // call the real function
- bit_stream_base::set_input_stream(is);
-
- }
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- void bit_stream_kernel_c<bit_stream_base>::
- set_output_stream (
- std::ostream& os
- )
- {
-
- // make sure requires clause is not broken
- DLIB_CASSERT(( this->is_in_write_mode() == false ) && ( this->is_in_read_mode() == false ),
- "\tvoid bit_stream::set_output_stream"
- << "\n\tbit_stream must not be in write or read mode"
- << "\n\tthis: " << this
- );
-
- // call the real function
- bit_stream_base::set_output_stream(os);
- }
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- void bit_stream_kernel_c<bit_stream_base>::
- close (
- )
- {
-
- // make sure requires clause is not broken
- DLIB_CASSERT(( this->is_in_write_mode() == true ) || ( this->is_in_read_mode() == true ),
- "\tvoid bit_stream::close"
- << "\n\tyou can't close a bit_stream that isn't open"
- << "\n\tthis: " << this
- );
-
- // call the real function
- bit_stream_base::close();
- }
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- void bit_stream_kernel_c<bit_stream_base>::
- write (
- int bit
- )
- {
- // make sure requires clause is not broken
- DLIB_CASSERT(( this->is_in_write_mode() == true ) && ( bit == 0 || bit == 1 ),
- "\tvoid bit_stream::write"
- << "\n\tthe bit stream bust be in write mode and bit must be either 1 or 0"
- << "\n\tis_in_write_mode() == " << this->is_in_write_mode()
- << "\n\tbit == " << bit
- << "\n\tthis: " << this
- );
-
- // call the real function
- bit_stream_base::write(bit);
-
- }
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- bool bit_stream_kernel_c<bit_stream_base>::
- read (
- int& bit
- )
- {
-
- // make sure requires clause is not broken
- DLIB_CASSERT(( this->is_in_read_mode() == true ),
- "\tbool bit_stream::read"
- << "\n\tyou can't read from a bit_stream that isn't in read mode"
- << "\n\tthis: " << this
- );
-
- // call the real function
- return bit_stream_base::read(bit);
-
- }
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_BIT_STREAM_KERNEl_C_
-
diff --git a/ml/dlib/dlib/bit_stream/bit_stream_multi_1.h b/ml/dlib/dlib/bit_stream/bit_stream_multi_1.h
deleted file mode 100644
index bf1cc0357..000000000
--- a/ml/dlib/dlib/bit_stream/bit_stream_multi_1.h
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_BIT_STREAM_MULTi_1_
-#define DLIB_BIT_STREAM_MULTi_1_
-
-#include "bit_stream_multi_abstract.h"
-
-namespace dlib
-{
- template <
- typename bit_stream_base
- >
- class bit_stream_multi_1 : public bit_stream_base
- {
-
- public:
-
- void multi_write (
- unsigned long data,
- int num_to_write
- );
-
- int multi_read (
- unsigned long& data,
- int num_to_read
- );
-
- };
-
- template <
- typename bit_stream_base
- >
- inline void swap (
- bit_stream_multi_1<bit_stream_base>& a,
- bit_stream_multi_1<bit_stream_base>& b
- ) { a.swap(b); }
-
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
- // member function definitions
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- void bit_stream_multi_1<bit_stream_base>::
- multi_write (
- unsigned long data,
- int num_to_write
- )
- {
- // move the first bit into the most significant position
- data <<= 32 - num_to_write;
-
- for (int i = 0; i < num_to_write; ++i)
- {
- // write the first bit from data
- this->write(static_cast<char>(data >> 31));
-
- // shift the next bit into position
- data <<= 1;
-
- }
- }
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- int bit_stream_multi_1<bit_stream_base>::
- multi_read (
- unsigned long& data,
- int num_to_read
- )
- {
- int bit, i;
- data = 0;
- for (i = 0; i < num_to_read; ++i)
- {
-
- // get a bit
- if (this->read(bit) == false)
- break;
-
- // shift data to make room for this new bit
- data <<= 1;
-
- // put bit into the least significant position in data
- data += static_cast<unsigned long>(bit);
-
- }
-
- return i;
- }
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_BIT_STREAM_MULTi_1_
-
diff --git a/ml/dlib/dlib/bit_stream/bit_stream_multi_abstract.h b/ml/dlib/dlib/bit_stream/bit_stream_multi_abstract.h
deleted file mode 100644
index 061af94f4..000000000
--- a/ml/dlib/dlib/bit_stream/bit_stream_multi_abstract.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#undef DLIB_BIT_STREAM_MULTi_ABSTRACT_
-#ifdef DLIB_BIT_STREAM_MULTi_ABSTRACT_
-
-#include "bit_stream_kernel_abstract.h"
-
-namespace dlib
-{
- template <
- typename bit_stream_base
- >
- class bit_stream_multi : public bit_stream_base
- {
-
- /*!
- REQUIREMENTS ON BIT_STREAM_BASE
- it is an implementation of bit_stream/bit_stream_kernel_abstract.h
-
-
- WHAT THIS EXTENSION DOES FOR BIT_STREAM
- this gives a bit_stream object the ability to read/write multible bits
- at a time
- !*/
-
-
- public:
-
- void multi_write (
- unsigned long data,
- int num_to_write
- );
- /*!
- requires
- - is_in_write_mode() == true
- - 0 <= num_to_write <= 32
- ensures
- - num_to_write low order bits from data will be written to the ostream
- - object associated with *this
- example: if data is 10010 then the bits will be written in the
- order 1,0,0,1,0
- !*/
-
-
- int multi_read (
- unsigned long& data,
- int num_to_read
- );
- /*!
- requires
- - is_in_read_mode() == true
- - 0 <= num_to_read <= 32
- ensures
- - tries to read num_to_read bits into the low order end of #data
- example: if the incoming bits were 10010 then data would end
- up with 10010 as its low order bits
- - all of the bits in #data not filled in by multi_read() are zero
- - returns the number of bits actually read into #data
- !*/
-
- };
-
- template <
- typename bit_stream_base
- >
- inline void swap (
- bit_stream_multi<bit_stream_base>& a,
- bit_stream_multi<bit_stream_base>& b
- ) { a.swap(b); }
- /*!
- provides a global swap function
- !*/
-
-}
-
-#endif // DLIB_BIT_STREAM_MULTi_ABSTRACT_
-
diff --git a/ml/dlib/dlib/bit_stream/bit_stream_multi_c.h b/ml/dlib/dlib/bit_stream/bit_stream_multi_c.h
deleted file mode 100644
index de80c6328..000000000
--- a/ml/dlib/dlib/bit_stream/bit_stream_multi_c.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_BIT_STREAM_MULTi_C_
-#define DLIB_BIT_STREAM_MULTi_C_
-
-#include "bit_stream_multi_abstract.h"
-#include "../algs.h"
-#include "../assert.h"
-
-namespace dlib
-{
- template <
- typename bit_stream_base // implements bit_stream/bit_stream_multi_abstract.h
- >
- class bit_stream_multi_c : public bit_stream_base
- {
- public:
-
- void multi_write (
- unsigned long data,
- int num_to_write
- );
-
- int multi_read (
- unsigned long& data,
- int num_to_read
- );
-
- };
-
- template <
- typename bit_stream_base
- >
- inline void swap (
- bit_stream_multi_c<bit_stream_base>& a,
- bit_stream_multi_c<bit_stream_base>& b
- ) { a.swap(b); }
-
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
- // member function definitions
-// ----------------------------------------------------------------------------------------
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- void bit_stream_multi_c<bit_stream_base>::
- multi_write (
- unsigned long data,
- int num_to_write
- )
- {
- // make sure requires clause is not broken
- DLIB_CASSERT( (this->is_in_write_mode() == true) && (num_to_write >= 0 && num_to_write <=32),
- "\tvoid bit_stream::write"
- << "\n\tthe bit stream bust be in write mode and"
- << "\n\tnum_to_write must be between 0 and 32 inclusive"
- << "\n\tnum_to_write == " << num_to_write
- << "\n\tis_in_write_mode() == " << this->is_in_write_mode()
- << "\n\tthis: " << this
- );
-
- // call the real function
- bit_stream_base::multi_write(data,num_to_write);
-
- }
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename bit_stream_base
- >
- int bit_stream_multi_c<bit_stream_base>::
- multi_read (
- unsigned long& data,
- int num_to_read
- )
- {
-
- // make sure requires clause is not broken
- DLIB_CASSERT(( this->is_in_read_mode() == true && ( num_to_read >= 0 && num_to_read <=32 ) ),
- "\tvoid bit_stream::read"
- << "\n\tyou can't read from a bit_stream that isn't in read mode and"
- << "\n\tnum_to_read must be between 0 and 32 inclusive"
- << "\n\tnum_to_read == " << num_to_read
- << "\n\tis_in_read_mode() == " << this->is_in_read_mode()
- << "\n\tthis: " << this
- );
-
- // call the real function
- return bit_stream_base::multi_read(data,num_to_read);
-
- }
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_BIT_STREAM_MULTi_C_
-