diff options
author | gr-sp <shawnp@signalscape.com> | 2019-02-27 14:44:38 -0500 |
---|---|---|
committer | Marcus Müller <mueller@kit.edu> | 2019-03-08 20:17:43 +0100 |
commit | 910758daecb0698d8099c875ae02a189ffca4477 (patch) | |
tree | 022c9e2074f90dac872c0b4e4d24c74d64c94b5e /gnuradio-runtime | |
parent | 181dbab209c406b72921baf673ae66d09479d2b7 (diff) |
ctrlport: Add int64_t vector to rpcbasic_inserter
This commit adds std::vector<int64_t> support to rpcbasic_inserter.
Diffstat (limited to 'gnuradio-runtime')
-rw-r--r-- | gnuradio-runtime/include/gnuradio/rpcregisterhelpers.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gnuradio-runtime/include/gnuradio/rpcregisterhelpers.h b/gnuradio-runtime/include/gnuradio/rpcregisterhelpers.h index 4405c90939..de79dabf31 100644 --- a/gnuradio-runtime/include/gnuradio/rpcregisterhelpers.h +++ b/gnuradio-runtime/include/gnuradio/rpcregisterhelpers.h @@ -495,6 +495,31 @@ public: }; /*! + * \brief Specialized inserter class for vectors of int64_t data. + */ +template<typename T> +class rpcbasic_inserter<T,std::vector< int64_t > > + : public virtual rpcinserter_base<T,std::vector< int64_t > > +{ +public: + rpcbasic_inserter(T* source, std::vector<int64_t > (T::*func)() const) + : rpcinserter_base<T,std::vector<int64_t > >(source, func) + {;} + + rpcbasic_inserter(T* source, std::vector<int64_t > (T::*func)()) + : rpcinserter_base<T,std::vector<int64_t > >(source, func) + {;} + + pmt::pmt_t retrieve() + { + std::vector< int64_t > + vec((rpcinserter_base<T,std::vector<int64_t > >:: + _source->*rpcinserter_base<T,std::vector< int64_t > >::_func)()); + return pmt::init_s64vector(vec.size(), &vec[0]); + } +}; + +/*! * \brief Specialized inserter class for vectors of complex (float) data. */ template<typename T> |