Na endlich :/
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@884 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -5,32 +5,37 @@
|
||||
|
||||
#include <Block.hpp>
|
||||
|
||||
template <typename T>
|
||||
class NullSink : public Block
|
||||
{
|
||||
public:
|
||||
NullSink(DType dt_in)
|
||||
: Block(1, 0, dt_in, DType::None)
|
||||
{
|
||||
NullSink<T>(size_t bufSize)
|
||||
: Block(1, 0, DType::Double, DType::None)
|
||||
, m_buf_in(bufSize)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
virtual ~NullSink() = default;
|
||||
virtual ~NullSink() = default;
|
||||
|
||||
void process(IBuffer &in) override
|
||||
{
|
||||
if (dtype_in() == DType::Double)
|
||||
{
|
||||
auto buf = reinterpret_cast<Buffer<double>&>(in);
|
||||
process_double(buf);
|
||||
}
|
||||
}
|
||||
void process() override
|
||||
{
|
||||
process(m_buf_in);
|
||||
}
|
||||
|
||||
void process_double(Buffer<double> &buf)
|
||||
{
|
||||
buf.consume(buf.len());
|
||||
}
|
||||
void process(Buffer<T> &in)
|
||||
{
|
||||
in.print("NullSink: ");
|
||||
in.consume(in.len());
|
||||
}
|
||||
|
||||
IBuffer* buffer()
|
||||
{
|
||||
return &m_buf_in;
|
||||
}
|
||||
|
||||
private:
|
||||
Buffer<T> m_buf_in;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user