Na endlich :/

git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@884 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-05-28 16:23:17 +00:00
parent 4051af860e
commit fb89ad3864
10 changed files with 84 additions and 76 deletions
+6 -14
View File
@@ -21,23 +21,13 @@ class Block
, m_num_out(num_out)
, m_dtype_in(dtype_in)
, m_dtype_out(dtype_out)
, m_buf_out(nullptr)
{
}
virtual ~Block() = default;
void process()
{
if (dtype_in() == 0 and dtype_out() > 0)
{
for (auto buf : m_buf_out)
{
process(*buf);
}
}
}
virtual void process(IBuffer &in, IBuffer &out) {};
virtual void process(IBuffer &in_or_out) {};
virtual void process() = 0;
size_t num_in()
{
@@ -61,7 +51,7 @@ class Block
void addBuffer(IBuffer *out)
{
m_buf_out.push_front(out);
m_buf_out = out;
}
virtual IBuffer* buffer()
@@ -74,7 +64,9 @@ class Block
size_t m_num_out;
DType m_dtype_in;
DType m_dtype_out;
std::forward_list<IBuffer*>m_buf_out;
protected:
IBuffer* m_buf_out;
};
+3 -2
View File
@@ -14,7 +14,8 @@
class IBuffer
{
public:
virtual ~IBuffer() = default;
};
template <typename T>
@@ -64,8 +65,8 @@ class Buffer : public IBuffer
size_t m_len;
size_t m_wi;
size_t m_ri;
T *m_data[2];
size_t m_bid;
T *m_data[2];
void make_contigious()
{
if (m_len == 0)
+1
View File
@@ -8,6 +8,7 @@ Buffer<T>::Buffer(size_t capacity)
, m_len(0)
, m_wi(0)
, m_ri(0)
, m_bid(0)
, m_data{nullptr, nullptr}
{
m_data[0] = new T[capacity];
+3 -3
View File
@@ -1,7 +1,7 @@
#ifndef __RADIO_PROCESSOR_HPP_
#define __RADIO_PROCESSOR_HPP_
#include <forward_list>
#include <list>
#include <Block.hpp>
#pragma once
@@ -14,7 +14,7 @@ public:
void blockAdd(Block &block)
{
m_blockList.push_front(&block);
m_blockList.push_back(&block);
}
void blockRem(Block &block)
@@ -31,7 +31,7 @@ public:
}
private:
std::forward_list<Block*>m_blockList;
std::list<Block*>m_blockList;
};
#endif