Skip to content
Snippets Groups Projects
Commit 22f5864f authored by Sergey Musikhin's avatar Sergey Musikhin
Browse files

channel_store.h

parent 6c586ff1
No related branches found
No related tags found
No related merge requests found
#include <map>
template<typename T>
class channel_store
{
std::map<size_t, T> values_;
public:
template <typename pred>
T set_if_not_equal(T value, size_t n, size_t max_n, pred fn)
{
if( n < max_n)
{
auto &val = values_[n];
if(val != value)
{
val = fn();
}
return val;
}
return T{};
}
T & operator[](size_t n)
{
return values_[n];
}
};
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <bladeRF/source.h> #include <bladeRF/source.h>
#include "bladerf_source_c.h" #include "bladerf_source_c.h"
#include "channel_store.h"
namespace gr { namespace gr {
namespace bladeRF { namespace bladeRF {
...@@ -17,33 +18,6 @@ namespace gr { ...@@ -17,33 +18,6 @@ namespace gr {
class source_impl : public source class source_impl : public source
{ {
private: private:
template<typename T>
class channel_store
{
std::map<size_t, T> values_;
public:
template <typename pred>
T set_if_not_equal(T value, size_t n, size_t max_n, pred fn)
{
if( n < max_n)
{
auto &val = values_[n];
if(val != value)
{
val = fn();
}
return val;
}
return T{};
}
T & operator[](size_t n)
{
return values_[n];
}
};
bladerf_source_c_sptr device_; bladerf_source_c_sptr device_;
double sample_rate_; double sample_rate_;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment