summaryrefslogtreecommitdiff
path: root/gnuradio-runtime
diff options
context:
space:
mode:
authorgr-sp <shawnp@signalscape.com>2019-02-27 14:44:38 -0500
committerMarcus Müller <mueller@kit.edu>2019-03-08 20:17:43 +0100
commit910758daecb0698d8099c875ae02a189ffca4477 (patch)
tree022c9e2074f90dac872c0b4e4d24c74d64c94b5e /gnuradio-runtime
parent181dbab209c406b72921baf673ae66d09479d2b7 (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.h25
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>