Add stream support class for QIODevice to boost::iostreams::stream

This commit is contained in:
Dan Paulat 2022-10-04 23:09:36 -05:00
parent 5ae098daff
commit 7b565d9c76
2 changed files with 35 additions and 1 deletions

View file

@ -106,7 +106,8 @@ set(SRC_UI source/scwx/qt/ui/flow_layout.cpp
source/scwx/qt/ui/level3_products_widget.cpp) source/scwx/qt/ui/level3_products_widget.cpp)
set(HDR_UTIL source/scwx/qt/util/font.hpp set(HDR_UTIL source/scwx/qt/util/font.hpp
source/scwx/qt/util/font_buffer.hpp source/scwx/qt/util/font_buffer.hpp
source/scwx/qt/util/json.hpp) source/scwx/qt/util/json.hpp
source/scwx/qt/util/streams.hpp)
set(SRC_UTIL source/scwx/qt/util/font.cpp set(SRC_UTIL source/scwx/qt/util/font.cpp
source/scwx/qt/util/font_buffer.cpp source/scwx/qt/util/font_buffer.cpp
source/scwx/qt/util/json.cpp) source/scwx/qt/util/json.cpp)

View file

@ -0,0 +1,33 @@
#pragma once
#include <boost/iostreams/categories.hpp>
#include <QIODevice>
namespace scwx
{
namespace qt
{
namespace util
{
class IoDeviceSource
{
public:
typedef char char_type;
typedef boost::iostreams::source_tag category;
IoDeviceSource(QIODevice& source) : source_ {source} {}
~IoDeviceSource() {}
std::streamsize read(char* buffer, std::streamsize n)
{
return source_.read(buffer, n);
}
private:
QIODevice& source_;
};
} // namespace util
} // namespace qt
} // namespace scwx