summaryrefslogtreecommitdiff
path: root/gruel/src/lib/pmt/unv_template.cc.t
diff options
context:
space:
mode:
Diffstat (limited to 'gruel/src/lib/pmt/unv_template.cc.t')
-rw-r--r--gruel/src/lib/pmt/unv_template.cc.t12
1 files changed, 12 insertions, 0 deletions
diff --git a/gruel/src/lib/pmt/unv_template.cc.t b/gruel/src/lib/pmt/unv_template.cc.t
index f74397421..1ed505e29 100644
--- a/gruel/src/lib/pmt/unv_template.cc.t
+++ b/gruel/src/lib/pmt/unv_template.cc.t
@@ -118,6 +118,18 @@ pmt_@TAG@vector_elements(pmt_t vector, size_t &len)
return _@TAG@vector(vector)->elements(len);
}
+const std::vector< @TYPE@ >
+pmt_@TAG@vector_elements(pmt_t vector)
+{
+ if (!vector->is_@TAG@vector())
+ throw pmt_wrong_type("pmt_@TAG@vector_elements", vector);
+ size_t len;
+ const @TYPE@ *array = _@TAG@vector(vector)->elements(len);
+ const std::vector< @TYPE@ > vec(array, array+len);
+ return vec;
+}
+
+
@TYPE@ *
pmt_@TAG@vector_writable_elements(pmt_t vector, size_t &len)
{