C++ 使用boost::stream处理更复杂/结构化的类型,然后使用char?

C++ 使用boost::stream处理更复杂/结构化的类型,然后使用char?,c++,boost,boost-iostreams,C++,Boost,Boost Iostreams,是否可以对更复杂/结构化的类型使用boost::iostreams 我想做的是流图像,但他们应该有一些注释,如宽度,高度,颜色深度,。。。我的第一个想法是使用struct而不是char或wchar namespace io = boost::iostreams; struct SingleImageStream{ unsigned int width; unsigned int height; unsigned char colordepth; unsigned ch

是否可以对更复杂/结构化的类型使用boost::iostreams

我想做的是流图像,但他们应该有一些注释,如宽度,高度,颜色深度,。。。我的第一个想法是使用struct而不是char或wchar

namespace io = boost::iostreams;

struct SingleImageStream{
   unsigned int  width;
   unsigned int height;
   unsigned char colordepth;
   unsigned char* frame;
};


class SingleImageSource {
public:
    typedef struct SingleImageStream            char_type;
    typedef io::source_tag  category;

    std::streamsize read(struct SingleImageStream* s, std::streamsize n)
    {
        char* frame = new char[640*480];
        std::fill( frame, frame + sizeof( frame ), 0 );

        s->width = 640;
        s->height = 480;

        std::copy(frame, frame + sizeof(frame), s->frame);

        return -1;
    }    
};


class SingleImageSink {
public:
    typedef struct SingleImageStream        char_type;
    typedef io::sink_tag                    category;

    std::streamsize write(const struct SingleImageStream* s, std::streamsize n)
    {
            std::cout << "Frame width : " << s->width << " frame height : " << s->height << std::endl;
            return n;
    }     
};
namespace io=boost::iostreams;
结构SingleImageStream{
无符号整数宽度;
无符号整数高度;
无符号字符颜色深度;
无符号字符*帧;
};
类SingleImageSource{
公众:
typedef结构SingleImageStream字符类型;
typedef io::源标签类别;
std::streamsize读取(struct SingleImageStream*s,std::streamsize n)
{
字符*帧=新字符[640*480];
标准::填充(框架,框架+sizeof(框架),0);
s->宽度=640;
s->高度=480;
复制(帧,帧+尺寸(帧),s->帧);
返回-1;
}    
};
类SingleImageSink{
公众:
typedef结构SingleImageStream字符类型;
类型定义io::接收器标签类别;
std::streamsize写入(const struct SingleImageStream*s,std::streamsize n)
{

std::coutBoost.Iostreams似乎是这里工作的错误工具

源和接收器机制的目标是允许您指定数据序列化到的位置,例如,您是要写入文件、内存中的位置还是i/o端口

您想要指定的是某种数据如何序列化