diff options
author | Tim O'Shea <tim.oshea753@gmail.com> | 2012-12-07 09:28:41 -0800 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2012-12-07 09:36:19 -0800 |
commit | 52ca5e2765b7a4532d26502b5b76b7c85c5019d7 (patch) | |
tree | 27901f998f00d4c824c060723fab9d397931aeb3 /gruel | |
parent | 69990c3fb6d4c7a0daee0229407241aa1959095a (diff) |
core: added gr_tuntap_pdu, gr_socket_pdu, and msg passing enhancements
Diffstat (limited to 'gruel')
-rw-r--r-- | gruel/src/include/gruel/pmt.h | 6 | ||||
-rw-r--r-- | gruel/src/lib/pmt/pmt.cc | 16 | ||||
-rw-r--r-- | gruel/src/swig/pmt_swig.i | 5 |
3 files changed, 27 insertions, 0 deletions
diff --git a/gruel/src/include/gruel/pmt.h b/gruel/src/include/gruel/pmt.h index a462155c5f..d09686783c 100644 --- a/gruel/src/include/gruel/pmt.h +++ b/gruel/src/include/gruel/pmt.h @@ -734,6 +734,12 @@ GRUEL_API pmt_t pmt_list_add(pmt_t list, const pmt_t& item); */ GRUEL_API pmt_t pmt_list_rm(pmt_t list, const pmt_t& item); +/*! + * \brief Return bool of \p list contains \p item + */ +GRUEL_API bool pmt_list_has(pmt_t list, const pmt_t& item); + + /* * ------------------------------------------------------------------------ * read / write diff --git a/gruel/src/lib/pmt/pmt.cc b/gruel/src/lib/pmt/pmt.cc index 3eb39ed7b1..e5baca98a8 100644 --- a/gruel/src/lib/pmt/pmt.cc +++ b/gruel/src/lib/pmt/pmt.cc @@ -1340,6 +1340,22 @@ pmt_list_rm(pmt_t list, const pmt_t& item) } } +bool +pmt_list_has(pmt_t list, const pmt_t& item) +{ + if(pmt_is_pair(list)){ + pmt_t left = pmt_car(list); + pmt_t right = pmt_cdr(list); + if(pmt_equal(left,item)) + return true; + return pmt_list_has(right, item); + } else { + if(pmt_is_null(list)) + return false; + throw std::runtime_error("list contains invalid format!"); + } +} + pmt_t pmt_caar(pmt_t pair) { diff --git a/gruel/src/swig/pmt_swig.i b/gruel/src/swig/pmt_swig.i index d46143424b..b1628c9983 100644 --- a/gruel/src/swig/pmt_swig.i +++ b/gruel/src/swig/pmt_swig.i @@ -701,6 +701,11 @@ pmt_t pmt_list_add(pmt_t list, const pmt_t& item); */ pmt_t pmt_list_rm(pmt_t list, const pmt_t& item); +/*! + * \brief Return bool of \p list contains \p item + */ +bool pmt_list_has(pmt_t list, const pmt_t& item); + /* * ------------------------------------------------------------------------ * read / write |