Jamie Reece Wilson
83f34b0c47
03:28:55:638 17>2 of 53388 functions (<0.1%) were compiled, the rest were copied from previous compilation. 03:28:55:638 17> 0 functions were new in current compilation 03:28:55:638 17> 65 functions had inline decision re-evaluated but remain unchanged 03:28:56:749 17>Finished generating code the header of const AuString & is the same as std::string_view therefore nothing changes. in fact, we still need to alloc strings a bunch of times for a zero terminated string. worse, <c++20 always allocs each time we want to access a hashmap with o(1) lookup, making small hashmaps kinda pointless when we always have to alloc+copy (thx std) perhaps this will help some language binders
27 lines
692 B
C++
27 lines
692 B
C++
/***
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: BufferedLineReader.hpp
|
|
Date: 2022-1-29
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
namespace Aurora::IO::Character
|
|
{
|
|
struct BufferedLineReader : IBufferedLineReader
|
|
{
|
|
BufferedLineReader(AuSPtr<IStreamReader> reader);
|
|
|
|
virtual bool ReadBytes(AuUInt32 length) override;
|
|
virtual AuList<AuString> ReadLines() override;
|
|
virtual void Flush() override;
|
|
|
|
|
|
private:
|
|
AuSPtr<IStreamReader> pInputStream_;
|
|
AuByteBuffer buffer_;
|
|
bool flushLine_ {};
|
|
AuMutex lock_;
|
|
};
|
|
} |