Ignore:
Timestamp:
06/29/13 19:02:04 (12 years ago)
Author:
epyon
Message:
  • io/std_stream - PROPER std_stream implementation
  • io/std_stream - got rid of memmove
  • formats/obj_loader - no copy on read, properly streamed
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/io/std_stream.cc

    r135 r138  
    99#include "nv/io/std_stream.hh"
    1010#include <algorithm>
    11 #include <cstring> // TODO: remove, see below
    1211
    1312using namespace nv;
    1413
    15 std_stream::std_stream( stream* source, bool owner /*= false*/, std::size_t bsize /*= 256*/, std::size_t put_back /*= 8 */ )
     14std_streambuf::std_streambuf( stream* source, bool owner /*= false*/, std::size_t bsize /*= 256*/, std::size_t put_back /*= 8 */ )
    1615        : m_stream( source )
    1716        , m_owner( owner )
     
    2322}
    2423
    25 std_stream::~std_stream()
     24std_streambuf::~std_streambuf()
    2625{
    2726        if ( m_owner )
     
    3130}
    3231
    33 std_stream::int_type std_stream::underflow()
     32std_streambuf::int_type std_streambuf::underflow()
    3433{
    3534        if (gptr() < egptr())
     
    4544        {
    4645                // Make arrangements for putback characters
    47                 // TODO: std::copy( egptr() - m_put_back, egptr(), base ); instead?
    48                 std::memmove(base, egptr() - m_put_back, m_put_back);
     46                std::copy( egptr() - m_put_back, egptr(), base );
    4947                start += m_put_back;
    5048        }
Note: See TracChangeset for help on using the changeset viewer.