GNU Radio 3.7.1 C++ API
pmt Namespace Reference

Classes

class  exception
class  wrong_type
class  out_of_range
class  notimplemented
class  comperator
 Provide a comparator function object to allow pmt use in stl types. More...
class  pmt_pool
 very simple thread-safe fixed-size allocation pool More...

Typedefs

typedef boost::intrusive_ptr
< pmt_base > 
pmt_t
 typedef for shared pointer (transparent reference counting). See http://www.boost.org/libs/smart_ptr/smart_ptr.htm

Functions

PMT_API void intrusive_ptr_add_ref (pmt_base *)
PMT_API void intrusive_ptr_release (pmt_base *)
PMT_API bool is_bool (pmt_t obj)
 Return true if obj is #t or #f, else return false.
PMT_API bool is_true (pmt_t obj)
 Return false if obj is #f, else return true.
PMT_API bool is_false (pmt_t obj)
 Return true if obj is #f, else return true.
PMT_API pmt_t from_bool (bool val)
 Return #f is val is false, else return #t.
PMT_API bool to_bool (pmt_t val)
 Return true if val is pmt::True, return false when val is pmt::PMT_F,.
PMT_API bool is_symbol (const pmt_t &obj)
 Return true if obj is a symbol, else false.
PMT_API pmt_t string_to_symbol (const std::string &s)
 Return the symbol whose name is s.
PMT_API pmt_t intern (const std::string &s)
 Alias for pmt_string_to_symbol.
PMT_API const std::string symbol_to_string (const pmt_t &sym)
PMT_API bool is_number (pmt_t obj)
 Return true if obj is any kind of number, else false.
PMT_API bool is_integer (pmt_t x)
 Return true if x is an integer number, else false.
PMT_API pmt_t from_long (long x)
 Return the pmt value that represents the integer x.
PMT_API long to_long (pmt_t x)
 Convert pmt to long if possible.
PMT_API bool is_uint64 (pmt_t x)
 Return true if x is an uint64 number, else false.
PMT_API pmt_t from_uint64 (uint64_t x)
 Return the pmt value that represents the uint64 x.
PMT_API uint64_t to_uint64 (pmt_t x)
 Convert pmt to uint64 if possible.
PMT_API bool is_real (pmt_t obj)
PMT_API pmt_t from_double (double x)
 Return the pmt value that represents double x.
PMT_API double to_double (pmt_t x)
 Convert pmt to double if possible.
PMT_API bool is_complex (pmt_t obj)
 return true if obj is a complex number, false otherwise.
PMT_API pmt_t make_rectangular (double re, double im)
 Return a complex number constructed of the given real and imaginary parts.
PMT_API pmt_t from_complex (double re, double im)
 Return a complex number constructed of the given real and imaginary parts.
PMT_API pmt_t from_complex (const std::complex< double > &z)
 Return a complex number constructed of the given a complex number.
PMT_API pmt_t pmt_from_complex (double re, double im)
 Return a complex number constructed of the given real and imaginary parts.
PMT_API pmt_t pmt_from_complex (const std::complex< double > &z)
 Return a complex number constructed of the given a complex number.
PMT_API std::complex< double > to_complex (pmt_t z)
PMT_API bool is_null (const pmt_t &x)
 Return true if x is the empty list, otherwise return false.
PMT_API bool is_pair (const pmt_t &obj)
 Return true if obj is a pair, else false.
PMT_API pmt_t cons (const pmt_t &x, const pmt_t &y)
 Return a newly allocated pair whose car is x and whose cdr is y.
PMT_API pmt_t car (const pmt_t &pair)
 If pair is a pair, return the car of the pair, otherwise raise wrong_type.
PMT_API pmt_t cdr (const pmt_t &pair)
 If pair is a pair, return the cdr of the pair, otherwise raise wrong_type.
PMT_API void set_car (pmt_t pair, pmt_t value)
 Stores value in the car field of pair.
PMT_API void set_cdr (pmt_t pair, pmt_t value)
 Stores value in the cdr field of pair.
PMT_API pmt_t caar (pmt_t pair)
PMT_API pmt_t cadr (pmt_t pair)
PMT_API pmt_t cdar (pmt_t pair)
PMT_API pmt_t cddr (pmt_t pair)
PMT_API pmt_t caddr (pmt_t pair)
PMT_API pmt_t cadddr (pmt_t pair)
PMT_API bool is_tuple (pmt_t x)
 Return true if x is a tuple, othewise false.
PMT_API pmt_t make_tuple ()
PMT_API pmt_t make_tuple (const pmt_t &e0)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8)
PMT_API pmt_t make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9)
PMT_API pmt_t to_tuple (const pmt_t &x)
PMT_API pmt_t tuple_ref (const pmt_t &tuple, size_t k)
PMT_API bool is_vector (pmt_t x)
 Return true if x is a vector, othewise false.
PMT_API pmt_t make_vector (size_t k, pmt_t fill)
 Make a vector of length k, with initial values set to fill.
PMT_API pmt_t vector_ref (pmt_t vector, size_t k)
PMT_API void vector_set (pmt_t vector, size_t k, pmt_t obj)
 Store obj in position k.
PMT_API void vector_fill (pmt_t vector, pmt_t fill)
 Store fill in every position of vector.
PMT_API bool is_blob (pmt_t x)
 Return true if x is a blob, othewise false.
PMT_API pmt_t make_blob (const void *buf, size_t len)
 Make a blob given a pointer and length in bytes.
PMT_API const voidblob_data (pmt_t blob)
 Return a pointer to the blob's data.
PMT_API size_t blob_length (pmt_t blob)
 Return the blob's length in bytes.
PMT_API bool is_uniform_vector (pmt_t x)
 true if x is any kind of uniform numeric vector
PMT_API bool is_u8vector (pmt_t x)
PMT_API bool is_s8vector (pmt_t x)
PMT_API bool is_u16vector (pmt_t x)
PMT_API bool is_s16vector (pmt_t x)
PMT_API bool is_u32vector (pmt_t x)
PMT_API bool is_s32vector (pmt_t x)
PMT_API bool is_u64vector (pmt_t x)
PMT_API bool is_s64vector (pmt_t x)
PMT_API bool is_f32vector (pmt_t x)
PMT_API bool is_f64vector (pmt_t x)
PMT_API bool is_c32vector (pmt_t x)
PMT_API bool is_c64vector (pmt_t x)
PMT_API pmt_t make_u8vector (size_t k, uint8_t fill)
PMT_API pmt_t make_s8vector (size_t k, int8_t fill)
PMT_API pmt_t make_u16vector (size_t k, uint16_t fill)
PMT_API pmt_t make_s16vector (size_t k, int16_t fill)
PMT_API pmt_t make_u32vector (size_t k, uint32_t fill)
PMT_API pmt_t make_s32vector (size_t k, int32_t fill)
PMT_API pmt_t make_u64vector (size_t k, uint64_t fill)
PMT_API pmt_t make_s64vector (size_t k, int64_t fill)
PMT_API pmt_t make_f32vector (size_t k, float fill)
PMT_API pmt_t make_f64vector (size_t k, double fill)
PMT_API pmt_t make_c32vector (size_t k, std::complex< float > fill)
PMT_API pmt_t make_c64vector (size_t k, std::complex< double > fill)
PMT_API pmt_t init_u8vector (size_t k, const uint8_t *data)
PMT_API pmt_t init_u8vector (size_t k, const std::vector< uint8_t > &data)
PMT_API pmt_t init_s8vector (size_t k, const int8_t *data)
PMT_API pmt_t init_s8vector (size_t k, const std::vector< int8_t > &data)
PMT_API pmt_t init_u16vector (size_t k, const uint16_t *data)
PMT_API pmt_t init_u16vector (size_t k, const std::vector< uint16_t > &data)
PMT_API pmt_t init_s16vector (size_t k, const int16_t *data)
PMT_API pmt_t init_s16vector (size_t k, const std::vector< int16_t > &data)
PMT_API pmt_t init_u32vector (size_t k, const uint32_t *data)
PMT_API pmt_t init_u32vector (size_t k, const std::vector< uint32_t > &data)
PMT_API pmt_t init_s32vector (size_t k, const int32_t *data)
PMT_API pmt_t init_s32vector (size_t k, const std::vector< int32_t > &data)
PMT_API pmt_t init_u64vector (size_t k, const uint64_t *data)
PMT_API pmt_t init_u64vector (size_t k, const std::vector< uint64_t > &data)
PMT_API pmt_t init_s64vector (size_t k, const int64_t *data)
PMT_API pmt_t init_s64vector (size_t k, const std::vector< int64_t > &data)
PMT_API pmt_t init_f32vector (size_t k, const float *data)
PMT_API pmt_t init_f32vector (size_t k, const std::vector< float > &data)
PMT_API pmt_t init_f64vector (size_t k, const double *data)
PMT_API pmt_t init_f64vector (size_t k, const std::vector< double > &data)
PMT_API pmt_t init_c32vector (size_t k, const std::complex< float > *data)
PMT_API pmt_t init_c32vector (size_t k, const std::vector< std::complex< float > > &data)
PMT_API pmt_t init_c64vector (size_t k, const std::complex< double > *data)
PMT_API pmt_t init_c64vector (size_t k, const std::vector< std::complex< double > > &data)
PMT_API uint8_t u8vector_ref (pmt_t v, size_t k)
PMT_API int8_t s8vector_ref (pmt_t v, size_t k)
PMT_API uint16_t u16vector_ref (pmt_t v, size_t k)
PMT_API int16_t s16vector_ref (pmt_t v, size_t k)
PMT_API uint32_t u32vector_ref (pmt_t v, size_t k)
PMT_API int32_t s32vector_ref (pmt_t v, size_t k)
PMT_API uint64_t u64vector_ref (pmt_t v, size_t k)
PMT_API int64_t s64vector_ref (pmt_t v, size_t k)
PMT_API float f32vector_ref (pmt_t v, size_t k)
PMT_API double f64vector_ref (pmt_t v, size_t k)
PMT_API std::complex< float > c32vector_ref (pmt_t v, size_t k)
PMT_API std::complex< double > c64vector_ref (pmt_t v, size_t k)
PMT_API void u8vector_set (pmt_t v, size_t k, uint8_t x)
PMT_API void s8vector_set (pmt_t v, size_t k, int8_t x)
PMT_API void u16vector_set (pmt_t v, size_t k, uint16_t x)
PMT_API void s16vector_set (pmt_t v, size_t k, int16_t x)
PMT_API void u32vector_set (pmt_t v, size_t k, uint32_t x)
PMT_API void s32vector_set (pmt_t v, size_t k, int32_t x)
PMT_API void u64vector_set (pmt_t v, size_t k, uint64_t x)
PMT_API void s64vector_set (pmt_t v, size_t k, int64_t x)
PMT_API void f32vector_set (pmt_t v, size_t k, float x)
PMT_API void f64vector_set (pmt_t v, size_t k, double x)
PMT_API void c32vector_set (pmt_t v, size_t k, std::complex< float > x)
PMT_API void c64vector_set (pmt_t v, size_t k, std::complex< double > x)
PMT_API const voiduniform_vector_elements (pmt_t v, size_t &len)
PMT_API const uint8_tu8vector_elements (pmt_t v, size_t &len)
PMT_API const int8_ts8vector_elements (pmt_t v, size_t &len)
PMT_API const uint16_tu16vector_elements (pmt_t v, size_t &len)
PMT_API const int16_ts16vector_elements (pmt_t v, size_t &len)
PMT_API const uint32_tu32vector_elements (pmt_t v, size_t &len)
PMT_API const int32_ts32vector_elements (pmt_t v, size_t &len)
PMT_API const uint64_tu64vector_elements (pmt_t v, size_t &len)
PMT_API const int64_ts64vector_elements (pmt_t v, size_t &len)
PMT_API const float * f32vector_elements (pmt_t v, size_t &len)
PMT_API const double * f64vector_elements (pmt_t v, size_t &len)
PMT_API const std::complex
< float > * 
c32vector_elements (pmt_t v, size_t &len)
PMT_API const std::complex
< double > * 
c64vector_elements (pmt_t v, size_t &len)
PMT_API const std::vector
< uint8_t
u8vector_elements (pmt_t v)
PMT_API const std::vector< int8_ts8vector_elements (pmt_t v)
PMT_API const std::vector
< uint16_t
u16vector_elements (pmt_t v)
PMT_API const std::vector
< int16_t
s16vector_elements (pmt_t v)
PMT_API const std::vector
< uint32_t
u32vector_elements (pmt_t v)
PMT_API const std::vector
< int32_t
s32vector_elements (pmt_t v)
PMT_API const std::vector
< uint64_t
u64vector_elements (pmt_t v)
PMT_API const std::vector
< int64_t
s64vector_elements (pmt_t v)
PMT_API const std::vector< float > f32vector_elements (pmt_t v)
PMT_API const std::vector< double > f64vector_elements (pmt_t v)
PMT_API const std::vector
< std::complex< float > > 
c32vector_elements (pmt_t v)
PMT_API const std::vector
< std::complex< double > > 
c64vector_elements (pmt_t v)
PMT_API const std::vector
< uint8_t
pmt_u8vector_elements (pmt_t v)
PMT_API const std::vector< int8_tpmt_s8vector_elements (pmt_t v)
PMT_API const std::vector
< uint16_t
pmt_u16vector_elements (pmt_t v)
PMT_API const std::vector
< int16_t
pmt_s16vector_elements (pmt_t v)
PMT_API const std::vector
< uint32_t
pmt_u32vector_elements (pmt_t v)
PMT_API const std::vector
< int32_t
pmt_s32vector_elements (pmt_t v)
PMT_API const std::vector
< uint64_t
pmt_u64vector_elements (pmt_t v)
PMT_API const std::vector
< int64_t
pmt_s64vector_elements (pmt_t v)
PMT_API const std::vector< float > pmt_f32vector_elements (pmt_t v)
PMT_API const std::vector< double > pmt_f64vector_elements (pmt_t v)
PMT_API const std::vector
< std::complex< float > > 
pmt_c32vector_elements (pmt_t v)
PMT_API const std::vector
< std::complex< double > > 
pmt_c64vector_elements (pmt_t v)
PMT_API voiduniform_vector_writable_elements (pmt_t v, size_t &len)
PMT_API uint8_tu8vector_writable_elements (pmt_t v, size_t &len)
PMT_API int8_ts8vector_writable_elements (pmt_t v, size_t &len)
PMT_API uint16_tu16vector_writable_elements (pmt_t v, size_t &len)
PMT_API int16_ts16vector_writable_elements (pmt_t v, size_t &len)
PMT_API uint32_tu32vector_writable_elements (pmt_t v, size_t &len)
PMT_API int32_ts32vector_writable_elements (pmt_t v, size_t &len)
PMT_API uint64_tu64vector_writable_elements (pmt_t v, size_t &len)
PMT_API int64_ts64vector_writable_elements (pmt_t v, size_t &len)
PMT_API float * f32vector_writable_elements (pmt_t v, size_t &len)
PMT_API double * f64vector_writable_elements (pmt_t v, size_t &len)
PMT_API std::complex< float > * c32vector_writable_elements (pmt_t v, size_t &len)
PMT_API std::complex< double > * c64vector_writable_elements (pmt_t v, size_t &len)
PMT_API bool is_dict (const pmt_t &obj)
 Return true if obj is a dictionary.
PMT_API pmt_t make_dict ()
 Make an empty dictionary.
PMT_API pmt_t dict_add (const pmt_t &dict, const pmt_t &key, const pmt_t &value)
 Return a new dictionary with key associated with value.
PMT_API pmt_t dict_delete (const pmt_t &dict, const pmt_t &key)
 Return a new dictionary with key removed.
PMT_API bool dict_has_key (const pmt_t &dict, const pmt_t &key)
 Return true if key exists in dict.
PMT_API pmt_t dict_ref (const pmt_t &dict, const pmt_t &key, const pmt_t &not_found)
 If key exists in dict, return associated value; otherwise return not_found.
PMT_API pmt_t dict_items (pmt_t dict)
 Return list of (key . value) pairs.
PMT_API pmt_t dict_keys (pmt_t dict)
 Return list of keys.
PMT_API pmt_t dict_values (pmt_t dict)
 Return list of values.
PMT_API bool is_any (pmt_t obj)
 Return true if obj is an any.
PMT_API pmt_t make_any (const boost::any &any)
 make an any
PMT_API boost::any any_ref (pmt_t obj)
 Return underlying boost::any.
PMT_API void any_set (pmt_t obj, const boost::any &any)
 Store any in obj.
PMT_API bool is_msg_accepter (const pmt_t &obj)
 Return true if obj is a msg_accepter.
PMT_API pmt_t make_msg_accepter (boost::shared_ptr< gr::messages::msg_accepter > ma)
 make a msg_accepter
PMT_API boost::shared_ptr
< gr::messages::msg_accepter
msg_accepter_ref (const pmt_t &obj)
 Return underlying msg_accepter.
PMT_API bool eq (const pmt_t &x, const pmt_t &y)
 Return true if x and y are the same object; otherwise return false.
PMT_API bool eqv (const pmt_t &x, const pmt_t &y)
 Return true if x and y should normally be regarded as the same object, else false.
PMT_API bool equal (const pmt_t &x, const pmt_t &y)
PMT_API size_t length (const pmt_t &v)
 Return the number of elements in v.
PMT_API pmt_t assq (pmt_t obj, pmt_t alist)
 Find the first pair in alist whose car field is obj and return that pair.
PMT_API pmt_t assv (pmt_t obj, pmt_t alist)
 Find the first pair in alist whose car field is obj and return that pair.
PMT_API pmt_t assoc (pmt_t obj, pmt_t alist)
 Find the first pair in alist whose car field is obj and return that pair.
PMT_API pmt_t map (pmt_t proc(const pmt_t &), pmt_t list)
 Apply proc element-wise to the elements of list and returns a list of the results, in order.
PMT_API pmt_t reverse (pmt_t list)
 reverse list.
PMT_API pmt_t reverse_x (pmt_t list)
 destructively reverse list.
static pmt_t acons (pmt_t x, pmt_t y, pmt_t a)
 (acons x y a) == (cons (cons x y) a)
PMT_API pmt_t nth (size_t n, pmt_t list)
 locates nth element of
list where the car is the 'zeroth' element.
PMT_API pmt_t nthcdr (size_t n, pmt_t list)
 returns the tail of list that would be obtained by calling cdr n times in succession.
PMT_API pmt_t memq (pmt_t obj, pmt_t list)
 Return the first sublist of list whose car is obj. If obj does not occur in list, then #f is returned. pmt::memq use pmt::eq to compare obj with the elements of list.
PMT_API pmt_t memv (pmt_t obj, pmt_t list)
 Return the first sublist of list whose car is obj. If obj does not occur in list, then #f is returned. pmt::memv use pmt::eqv to compare obj with the elements of list.
PMT_API pmt_t member (pmt_t obj, pmt_t list)
 Return the first sublist of list whose car is obj. If obj does not occur in list, then #f is returned. pmt::member use pmt::equal to compare obj with the elements of list.
PMT_API bool subsetp (pmt_t list1, pmt_t list2)
 Return true if every element of list1 appears in list2, and false otherwise. Comparisons are done with pmt::eqv.
PMT_API pmt_t list1 (const pmt_t &x1)
 Return a list of length 1 containing x1.
PMT_API pmt_t list2 (const pmt_t &x1, const pmt_t &x2)
 Return a list of length 2 containing x1, x2.
PMT_API pmt_t list3 (const pmt_t &x1, const pmt_t &x2, const pmt_t &x3)
 Return a list of length 3 containing x1, x2, x3.
PMT_API pmt_t list4 (const pmt_t &x1, const pmt_t &x2, const pmt_t &x3, const pmt_t &x4)
 Return a list of length 4 containing x1, x2, x3, x4.
PMT_API pmt_t list5 (const pmt_t &x1, const pmt_t &x2, const pmt_t &x3, const pmt_t &x4, const pmt_t &x5)
 Return a list of length 5 containing x1, x2, x3, x4, x5.
PMT_API pmt_t list6 (const pmt_t &x1, const pmt_t &x2, const pmt_t &x3, const pmt_t &x4, const pmt_t &x5, const pmt_t &x6)
 Return a list of length 6 containing x1, x2, x3, x4, x5, x6.
PMT_API pmt_t list_add (pmt_t list, const pmt_t &item)
 Return list with item added to it.
PMT_API pmt_t list_rm (pmt_t list, const pmt_t &item)
 Return list with item removed from it.
PMT_API bool list_has (pmt_t list, const pmt_t &item)
 Return bool of list contains item.
PMT_API bool is_eof_object (pmt_t obj)
 return true if obj is the EOF object, otherwise return false.
PMT_API pmt_t read (std::istream &port)
PMT_API void write (pmt_t obj, std::ostream &port)
PMT_API std::string write_string (pmt_t obj)
PMT_API std::ostream & operator<< (std::ostream &os, pmt_t obj)
PMT_API void print (pmt_t v)
 Write pmt string representation to stdout.
PMT_API bool serialize (pmt_t obj, std::streambuf &sink)
 Write portable byte-serial representation of obj to sink.
PMT_API pmt_t deserialize (std::streambuf &source)
 Create obj from portable byte-serial representation.
PMT_API void dump_sizeof ()
PMT_API std::string serialize_str (pmt_t obj)
 Provide a simple string generating interface to pmt's serialize function.
PMT_API pmt_t deserialize_str (std::string str)
 Provide a simple string generating interface to pmt's deserialize function.
static pmt_t mp (const std::string &s)
 Make pmt symbol.
static pmt_t mp (const char *s)
 Make pmt symbol.
static pmt_t mp (long x)
 Make pmt long.
static pmt_t mp (long long unsigned x)
 Make pmt long.
static pmt_t mp (int x)
 Make pmt long.
static pmt_t mp (double x)
 Make pmt double.
static pmt_t mp (std::complex< double > z)
 Make pmt complex.
static pmt_t mp (std::complex< float > z)
 Make pmt complex.
static pmt_t mp (boost::shared_ptr< gr::messages::msg_accepter > ma)
 Make pmt msg_accepter.
static pmt_t mp (const void *data, size_t len_in_bytes)
 Make pmt Binary Large Object (BLOB)
static pmt_t mp (const pmt_t &e0)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8)
 Make tuple.
static pmt_t mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9)
 Make tuple.

Variables

PMT_API const pmt_t PMT_T
PMT_API const pmt_t PMT_F
PMT_API const pmt_t PMT_NIL
PMT_API const pmt_t PMT_EOF

Detailed Description

This file defines a polymorphic type and the operations on it.

It draws heavily on the idea of scheme and lisp data types. The interface parallels that in Guile 1.8, with the notable exception that these objects are transparently reference counted.

This file is included by pmt.h and contains pseudo-constructor shorthand for making pmt objects


Typedef Documentation

typedef boost::intrusive_ptr<pmt_base> pmt::pmt_t

typedef for shared pointer (transparent reference counting). See http://www.boost.org/libs/smart_ptr/smart_ptr.htm


Function Documentation

static pmt_t pmt::acons ( pmt_t  x,
pmt_t  y,
pmt_t  a 
) [inline, static]

(acons x y a) == (cons (cons x y) a)

References cons().

PMT_API boost::any pmt::any_ref ( pmt_t  obj)

Return underlying boost::any.

PMT_API void pmt::any_set ( pmt_t  obj,
const boost::any &  any 
)

Store any in obj.

PMT_API pmt_t pmt::assoc ( pmt_t  obj,
pmt_t  alist 
)

Find the first pair in alist whose car field is obj and return that pair.

alist (for "association list") must be a list of pairs. If no pair in alist has obj as its car then #f is returned. Uses pmt::equal to compare obj with car fields of the pairs in alist.

PMT_API pmt_t pmt::assq ( pmt_t  obj,
pmt_t  alist 
)

Find the first pair in alist whose car field is obj and return that pair.

alist (for "association list") must be a list of pairs. If no pair in alist has obj as its car then #f is returned. Uses pmt::eq to compare obj with car fields of the pairs in alist.

PMT_API pmt_t pmt::assv ( pmt_t  obj,
pmt_t  alist 
)

Find the first pair in alist whose car field is obj and return that pair.

alist (for "association list") must be a list of pairs. If no pair in alist has obj as its car then #f is returned. Uses pmt::eqv to compare obj with car fields of the pairs in alist.

PMT_API const void* pmt::blob_data ( pmt_t  blob)

Return a pointer to the blob's data.

PMT_API size_t pmt::blob_length ( pmt_t  blob)

Return the blob's length in bytes.

PMT_API const std::complex<float>* pmt::c32vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<std::complex<float> > pmt::c32vector_elements ( pmt_t  v)
PMT_API std::complex<float> pmt::c32vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::c32vector_set ( pmt_t  v,
size_t  k,
std::complex< float >  x 
)
PMT_API std::complex<float>* pmt::c32vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::complex<double>* pmt::c64vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<std::complex<double> > pmt::c64vector_elements ( pmt_t  v)
PMT_API std::complex<double> pmt::c64vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::c64vector_set ( pmt_t  v,
size_t  k,
std::complex< double >  x 
)
PMT_API std::complex<double>* pmt::c64vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API pmt_t pmt::caar ( pmt_t  pair)
PMT_API pmt_t pmt::cadddr ( pmt_t  pair)
PMT_API pmt_t pmt::caddr ( pmt_t  pair)
PMT_API pmt_t pmt::cadr ( pmt_t  pair)
PMT_API pmt_t pmt::car ( const pmt_t &  pair)

If pair is a pair, return the car of the pair, otherwise raise wrong_type.

PMT_API pmt_t pmt::cdar ( pmt_t  pair)
PMT_API pmt_t pmt::cddr ( pmt_t  pair)
PMT_API pmt_t pmt::cdr ( const pmt_t &  pair)

If pair is a pair, return the cdr of the pair, otherwise raise wrong_type.

PMT_API pmt_t pmt::cons ( const pmt_t &  x,
const pmt_t &  y 
)

Return a newly allocated pair whose car is x and whose cdr is y.

Referenced by acons().

PMT_API pmt_t pmt::deserialize ( std::streambuf &  source)

Create obj from portable byte-serial representation.

PMT_API pmt_t pmt::deserialize_str ( std::string  str)

Provide a simple string generating interface to pmt's deserialize function.

PMT_API pmt_t pmt::dict_add ( const pmt_t &  dict,
const pmt_t &  key,
const pmt_t &  value 
)

Return a new dictionary with key associated with value.

PMT_API pmt_t pmt::dict_delete ( const pmt_t &  dict,
const pmt_t &  key 
)

Return a new dictionary with key removed.

PMT_API bool pmt::dict_has_key ( const pmt_t &  dict,
const pmt_t &  key 
)

Return true if key exists in dict.

Referenced by gr::basic_block::has_msg_port(), and gr::hier_block2::message_port_register_hier_out().

PMT_API pmt_t pmt::dict_items ( pmt_t  dict)

Return list of (key . value) pairs.

PMT_API pmt_t pmt::dict_keys ( pmt_t  dict)

Return list of keys.

PMT_API pmt_t pmt::dict_ref ( const pmt_t &  dict,
const pmt_t &  key,
const pmt_t &  not_found 
)

If key exists in dict, return associated value; otherwise return not_found.

PMT_API pmt_t pmt::dict_values ( pmt_t  dict)

Return list of values.

PMT_API bool pmt::eq ( const pmt_t &  x,
const pmt_t &  y 
)

Return true if x and y are the same object; otherwise return false.

PMT_API bool pmt::equal ( const pmt_t &  x,
const pmt_t &  y 
)

pmt::equal recursively compares the contents of pairs and vectors, applying pmt::eqv on other objects such as numbers and symbols. pmt::equal may fail to terminate if its arguments are circular data structures.

Referenced by gr::msg_endpoint::operator==().

PMT_API bool pmt::eqv ( const pmt_t &  x,
const pmt_t &  y 
)

Return true if x and y should normally be regarded as the same object, else false.

 eqv returns true if:
   x and y are the same object.
   x and y are both #t or both #f.
   x and y are both symbols and their names are the same.
   x and y are both numbers, and are numerically equal.
   x and y are both the empty list (nil).
   x and y are pairs or vectors that denote same location in store.
 

Referenced by pmt::comperator::operator()().

PMT_API const float* pmt::f32vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<float> pmt::f32vector_elements ( pmt_t  v)
PMT_API float pmt::f32vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::f32vector_set ( pmt_t  v,
size_t  k,
float  x 
)
PMT_API float* pmt::f32vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const double* pmt::f64vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<double> pmt::f64vector_elements ( pmt_t  v)
PMT_API double pmt::f64vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::f64vector_set ( pmt_t  v,
size_t  k,
double  x 
)
PMT_API double* pmt::f64vector_writable_elements ( pmt_t  v,
size_t &  len 
)

Return #f is val is false, else return #t.

PMT_API pmt_t pmt::from_complex ( double  re,
double  im 
)

Return a complex number constructed of the given real and imaginary parts.

Referenced by rpcbasic_inserter< T, std::complex< float > >::retrieve(), and rpcbasic_inserter< T, std::complex< double > >::retrieve().

PMT_API pmt_t pmt::from_complex ( const std::complex< double > &  z)

Return a complex number constructed of the given a complex number.

Return the pmt value that represents double x.

Referenced by tag_source_demo::make_time_tag(), and mp().

Return the pmt value that represents the integer x.

Referenced by mp().

Return the pmt value that represents the uint64 x.

Referenced by tag_source_demo::make_time_tag(), and rpcbasic_inserter< T, uint64_t >::retrieve().

PMT_API pmt_t pmt::init_c32vector ( size_t  k,
const std::vector< std::complex< float > > &  data 
)
PMT_API pmt_t pmt::init_c64vector ( size_t  k,
const std::complex< double > *  data 
)
PMT_API pmt_t pmt::init_c64vector ( size_t  k,
const std::vector< std::complex< double > > &  data 
)
PMT_API pmt_t pmt::init_f32vector ( size_t  k,
const std::vector< float > &  data 
)
PMT_API pmt_t pmt::init_f64vector ( size_t  k,
const double *  data 
)
PMT_API pmt_t pmt::init_f64vector ( size_t  k,
const std::vector< double > &  data 
)
PMT_API pmt_t pmt::init_s16vector ( size_t  k,
const std::vector< int16_t > &  data 
)
PMT_API pmt_t pmt::init_s32vector ( size_t  k,
const std::vector< int32_t > &  data 
)
PMT_API pmt_t pmt::init_s64vector ( size_t  k,
const int64_t data 
)
PMT_API pmt_t pmt::init_s64vector ( size_t  k,
const std::vector< int64_t > &  data 
)
PMT_API pmt_t pmt::init_s8vector ( size_t  k,
const std::vector< int8_t > &  data 
)
PMT_API pmt_t pmt::init_u16vector ( size_t  k,
const uint16_t data 
)
PMT_API pmt_t pmt::init_u16vector ( size_t  k,
const std::vector< uint16_t > &  data 
)
PMT_API pmt_t pmt::init_u32vector ( size_t  k,
const uint32_t data 
)
PMT_API pmt_t pmt::init_u32vector ( size_t  k,
const std::vector< uint32_t > &  data 
)
PMT_API pmt_t pmt::init_u64vector ( size_t  k,
const uint64_t data 
)
PMT_API pmt_t pmt::init_u64vector ( size_t  k,
const std::vector< uint64_t > &  data 
)
PMT_API pmt_t pmt::init_u8vector ( size_t  k,
const std::vector< uint8_t > &  data 
)
PMT_API bool pmt::is_any ( pmt_t  obj)

Return true if obj is an any.

PMT_API bool pmt::is_blob ( pmt_t  x)

Return true if x is a blob, othewise false.

PMT_API bool pmt::is_bool ( pmt_t  obj)

Return true if obj is #t or #f, else return false.

PMT_API bool pmt::is_complex ( pmt_t  obj)

return true if obj is a complex number, false otherwise.

PMT_API bool pmt::is_dict ( const pmt_t &  obj)

Return true if obj is a dictionary.

return true if obj is the EOF object, otherwise return false.

PMT_API bool pmt::is_false ( pmt_t  obj)

Return true if obj is #f, else return true.

Return true if x is an integer number, else false.

PMT_API bool pmt::is_msg_accepter ( const pmt_t &  obj)

Return true if obj is a msg_accepter.

PMT_API bool pmt::is_null ( const pmt_t &  x)

Return true if x is the empty list, otherwise return false.

PMT_API bool pmt::is_number ( pmt_t  obj)

Return true if obj is any kind of number, else false.

PMT_API bool pmt::is_pair ( const pmt_t &  obj)

Return true if obj is a pair, else false.

PMT_API bool pmt::is_real ( pmt_t  obj)
PMT_API bool pmt::is_symbol ( const pmt_t &  obj)

Return true if obj is a symbol, else false.

PMT_API bool pmt::is_true ( pmt_t  obj)

Return false if obj is #f, else return true.

PMT_API bool pmt::is_tuple ( pmt_t  x)

Return true if x is a tuple, othewise false.

PMT_API bool pmt::is_uint64 ( pmt_t  x)

Return true if x is an uint64 number, else false.

true if x is any kind of uniform numeric vector

 ------------------------------------------------------------------------
		       Uniform Numeric Vectors
 A uniform numeric vector is a vector whose elements are all of single
 numeric type.  pmt offers uniform numeric vectors for signed and
 unsigned 8-bit, 16-bit, 32-bit, and 64-bit integers, two sizes of
 floating point values, and complex floating-point numbers of these
 two sizes.  Indexing is zero based.
 The names of the functions include these tags in their names:
    u8  unsigned 8-bit integers
    s8  signed 8-bit integers
   u16  unsigned 16-bit integers
   s16  signed 16-bit integers
   u32  unsigned 32-bit integers
   s32  signed 32-bit integers
   u64  unsigned 64-bit integers
   s64  signed 64-bit integers
   f32  the C++ type float
   f64  the C++ type double
   c32  the C++ type complex<float>
   c64  the C++ type complex<double>
 ------------------------------------------------------------------------
 
PMT_API bool pmt::is_vector ( pmt_t  x)

Return true if x is a vector, othewise false.

PMT_API size_t pmt::length ( const pmt_t &  v)

Return the number of elements in v.

PMT_API pmt_t pmt::list1 ( const pmt_t &  x1)

Return a list of length 1 containing x1.

PMT_API pmt_t pmt::list2 ( const pmt_t &  x1,
const pmt_t &  x2 
)

Return a list of length 2 containing x1, x2.

PMT_API pmt_t pmt::list3 ( const pmt_t &  x1,
const pmt_t &  x2,
const pmt_t &  x3 
)

Return a list of length 3 containing x1, x2, x3.

PMT_API pmt_t pmt::list4 ( const pmt_t &  x1,
const pmt_t &  x2,
const pmt_t &  x3,
const pmt_t &  x4 
)

Return a list of length 4 containing x1, x2, x3, x4.

PMT_API pmt_t pmt::list5 ( const pmt_t &  x1,
const pmt_t &  x2,
const pmt_t &  x3,
const pmt_t &  x4,
const pmt_t &  x5 
)

Return a list of length 5 containing x1, x2, x3, x4, x5.

PMT_API pmt_t pmt::list6 ( const pmt_t &  x1,
const pmt_t &  x2,
const pmt_t &  x3,
const pmt_t &  x4,
const pmt_t &  x5,
const pmt_t &  x6 
)

Return a list of length 6 containing x1, x2, x3, x4, x5, x6.

PMT_API pmt_t pmt::list_add ( pmt_t  list,
const pmt_t &  item 
)
PMT_API pmt_t pmt::list_rm ( pmt_t  list,
const pmt_t &  item 
)

Return list with item removed from it.

PMT_API pmt_t pmt::make_any ( const boost::any &  any)

make an any

PMT_API pmt_t pmt::make_blob ( const void buf,
size_t  len 
)

Make a blob given a pointer and length in bytes.

Parameters:
bufis the pointer to data to use to create blob
lenis the size of the data in bytes.

The data is copied into the blob.

Referenced by mp().

PMT_API pmt_t pmt::make_c32vector ( size_t  k,
std::complex< float >  fill 
)
PMT_API pmt_t pmt::make_c64vector ( size_t  k,
std::complex< double >  fill 
)

Make an empty dictionary.

PMT_API pmt_t pmt::make_f32vector ( size_t  k,
float  fill 
)
PMT_API pmt_t pmt::make_f64vector ( size_t  k,
double  fill 
)
PMT_API pmt_t pmt::make_rectangular ( double  re,
double  im 
)

Return a complex number constructed of the given real and imaginary parts.

Referenced by mp().

PMT_API pmt_t pmt::make_s16vector ( size_t  k,
int16_t  fill 
)
PMT_API pmt_t pmt::make_s32vector ( size_t  k,
int32_t  fill 
)
PMT_API pmt_t pmt::make_s64vector ( size_t  k,
int64_t  fill 
)
PMT_API pmt_t pmt::make_s8vector ( size_t  k,
int8_t  fill 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5,
const pmt_t &  e6 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5,
const pmt_t &  e6,
const pmt_t &  e7 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5,
const pmt_t &  e6,
const pmt_t &  e7,
const pmt_t &  e8 
)
PMT_API pmt_t pmt::make_tuple ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5,
const pmt_t &  e6,
const pmt_t &  e7,
const pmt_t &  e8,
const pmt_t &  e9 
)
PMT_API pmt_t pmt::make_u16vector ( size_t  k,
uint16_t  fill 
)
PMT_API pmt_t pmt::make_u32vector ( size_t  k,
uint32_t  fill 
)
PMT_API pmt_t pmt::make_u64vector ( size_t  k,
uint64_t  fill 
)
PMT_API pmt_t pmt::make_u8vector ( size_t  k,
uint8_t  fill 
)
PMT_API pmt_t pmt::make_vector ( size_t  k,
pmt_t  fill 
)

Make a vector of length k, with initial values set to fill.

PMT_API pmt_t pmt::map ( pmt_t   procconst pmt_t &,
pmt_t  list 
)

Apply proc element-wise to the elements of list and returns a list of the results, in order.

list must be a list. The dynamic order in which proc is applied to the elements of list is unspecified.

Referenced by GrAtscSymbolMapper< oType >::work().

PMT_API pmt_t pmt::member ( pmt_t  obj,
pmt_t  list 
)

Return the first sublist of list whose car is obj. If obj does not occur in list, then #f is returned. pmt::member use pmt::equal to compare obj with the elements of list.

PMT_API pmt_t pmt::memq ( pmt_t  obj,
pmt_t  list 
)

Return the first sublist of list whose car is obj. If obj does not occur in list, then #f is returned. pmt::memq use pmt::eq to compare obj with the elements of list.

PMT_API pmt_t pmt::memv ( pmt_t  obj,
pmt_t  list 
)

Return the first sublist of list whose car is obj. If obj does not occur in list, then #f is returned. pmt::memv use pmt::eqv to compare obj with the elements of list.

static pmt_t pmt::mp ( const std::string &  s) [inline, static]
static pmt_t pmt::mp ( const char *  s) [inline, static]

Make pmt symbol.

References string_to_symbol().

static pmt_t pmt::mp ( long  x) [inline, static]

Make pmt long.

References from_long().

static pmt_t pmt::mp ( long long unsigned  x) [inline, static]

Make pmt long.

References from_long().

static pmt_t pmt::mp ( int  x) [inline, static]

Make pmt long.

References from_long().

static pmt_t pmt::mp ( double  x) [inline, static]

Make pmt double.

References from_double().

static pmt_t pmt::mp ( std::complex< double >  z) [inline, static]

Make pmt complex.

References make_rectangular().

static pmt_t pmt::mp ( std::complex< float >  z) [inline, static]

Make pmt complex.

References make_rectangular().

static pmt_t pmt::mp ( boost::shared_ptr< gr::messages::msg_accepter ma) [inline, static]

Make pmt msg_accepter.

References make_msg_accepter().

static pmt_t pmt::mp ( const void data,
size_t  len_in_bytes 
) [inline, static]

Make pmt Binary Large Object (BLOB)

References make_blob().

static pmt_t pmt::mp ( const pmt_t &  e0) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1 
) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2 
) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3 
) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4 
) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5 
) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5,
const pmt_t &  e6 
) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5,
const pmt_t &  e6,
const pmt_t &  e7 
) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5,
const pmt_t &  e6,
const pmt_t &  e7,
const pmt_t &  e8 
) [inline, static]

Make tuple.

References make_tuple().

static pmt_t pmt::mp ( const pmt_t &  e0,
const pmt_t &  e1,
const pmt_t &  e2,
const pmt_t &  e3,
const pmt_t &  e4,
const pmt_t &  e5,
const pmt_t &  e6,
const pmt_t &  e7,
const pmt_t &  e8,
const pmt_t &  e9 
) [inline, static]

Make tuple.

References make_tuple().

Return underlying msg_accepter.

Referenced by gr::messages::send().

PMT_API pmt_t pmt::nth ( size_t  n,
pmt_t  list 
)

locates nth element of
list where the car is the 'zeroth' element.

PMT_API pmt_t pmt::nthcdr ( size_t  n,
pmt_t  list 
)

returns the tail of list that would be obtained by calling cdr n times in succession.

PMT_API std::ostream& pmt::operator<< ( std::ostream &  os,
pmt_t  obj 
)
PMT_API const std::vector<std::complex<float> > pmt::pmt_c32vector_elements ( pmt_t  v)
PMT_API const std::vector<std::complex<double> > pmt::pmt_c64vector_elements ( pmt_t  v)
PMT_API const std::vector<float> pmt::pmt_f32vector_elements ( pmt_t  v)
PMT_API const std::vector<double> pmt::pmt_f64vector_elements ( pmt_t  v)
PMT_API pmt_t pmt::pmt_from_complex ( double  re,
double  im 
)

Return a complex number constructed of the given real and imaginary parts.

PMT_API pmt_t pmt::pmt_from_complex ( const std::complex< double > &  z)

Return a complex number constructed of the given a complex number.

PMT_API const std::vector<int16_t> pmt::pmt_s16vector_elements ( pmt_t  v)
PMT_API const std::vector<int32_t> pmt::pmt_s32vector_elements ( pmt_t  v)
PMT_API const std::vector<int64_t> pmt::pmt_s64vector_elements ( pmt_t  v)
PMT_API const std::vector<int8_t> pmt::pmt_s8vector_elements ( pmt_t  v)
PMT_API const std::vector<uint16_t> pmt::pmt_u16vector_elements ( pmt_t  v)
PMT_API const std::vector<uint32_t> pmt::pmt_u32vector_elements ( pmt_t  v)
PMT_API const std::vector<uint64_t> pmt::pmt_u64vector_elements ( pmt_t  v)
PMT_API const std::vector<uint8_t> pmt::pmt_u8vector_elements ( pmt_t  v)
PMT_API void pmt::print ( pmt_t  v)

Write pmt string representation to stdout.

PMT_API pmt_t pmt::read ( std::istream &  port)

read converts external representations of pmt objects into the objects themselves. Read returns the next object parsable from the given input port, updating port to point to the first character past the end of the external representation of the object.

If an end of file is encountered in the input before any characters are found that can begin an object, then an end of file object is returned. The port remains open, and further attempts to read will also return an end of file object. If an end of file is encountered after the beginning of an object's external representation, but the external representation is incomplete and therefore not parsable, an error is signaled.

PMT_API pmt_t pmt::reverse ( pmt_t  list)

reverse list.

list must be a proper list.

PMT_API pmt_t pmt::reverse_x ( pmt_t  list)

destructively reverse list.

list must be a proper list.

PMT_API const int16_t* pmt::s16vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<int16_t> pmt::s16vector_elements ( pmt_t  v)
PMT_API int16_t pmt::s16vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::s16vector_set ( pmt_t  v,
size_t  k,
int16_t  x 
)
PMT_API int16_t* pmt::s16vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const int32_t* pmt::s32vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<int32_t> pmt::s32vector_elements ( pmt_t  v)
PMT_API int32_t pmt::s32vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::s32vector_set ( pmt_t  v,
size_t  k,
int32_t  x 
)
PMT_API int32_t* pmt::s32vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const int64_t* pmt::s64vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<int64_t> pmt::s64vector_elements ( pmt_t  v)
PMT_API int64_t pmt::s64vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::s64vector_set ( pmt_t  v,
size_t  k,
int64_t  x 
)
PMT_API int64_t* pmt::s64vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const int8_t* pmt::s8vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<int8_t> pmt::s8vector_elements ( pmt_t  v)
PMT_API int8_t pmt::s8vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::s8vector_set ( pmt_t  v,
size_t  k,
int8_t  x 
)
PMT_API int8_t* pmt::s8vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API bool pmt::serialize ( pmt_t  obj,
std::streambuf &  sink 
)

Write portable byte-serial representation of obj to sink.

PMT_API std::string pmt::serialize_str ( pmt_t  obj)

Provide a simple string generating interface to pmt's serialize function.

PMT_API void pmt::set_car ( pmt_t  pair,
pmt_t  value 
)

Stores value in the car field of pair.

PMT_API void pmt::set_cdr ( pmt_t  pair,
pmt_t  value 
)

Stores value in the cdr field of pair.

PMT_API bool pmt::subsetp ( pmt_t  list1,
pmt_t  list2 
)

Return true if every element of list1 appears in list2, and false otherwise. Comparisons are done with pmt::eqv.

PMT_API const std::string pmt::symbol_to_string ( const pmt_t &  sym)

If is a symbol, return the name of the symbol as a string. Otherwise, raise the wrong_type exception.

Referenced by gr::operator<<(), and rpcbasic_extractor< T, std::string >::post().

PMT_API bool pmt::to_bool ( pmt_t  val)

Return true if val is pmt::True, return false when val is pmt::PMT_F,.

Referenced by rpcbasic_extractor< T, bool >::post().

PMT_API std::complex<double> pmt::to_complex ( pmt_t  z)

If z is complex, real or integer, return the closest complex<double>. Otherwise, raise the wrong_type exception.

Referenced by rpcbasic_extractor< T, std::complex< float > >::post(), and rpcbasic_extractor< T, std::complex< double > >::post().

PMT_API double pmt::to_double ( pmt_t  x)

Convert pmt to double if possible.

Returns the number closest to val that is representable as a double. The argument val must be a real or integer, otherwise a wrong_type exception is raised.

Referenced by rpcbasic_extractor< T, double >::post(), rpcbasic_extractor< T, float >::post(), and tag_sink_demo::work().

PMT_API long pmt::to_long ( pmt_t  x)

Convert pmt to long if possible.

When x represents an exact integer that fits in a long, return that integer. Else raise an exception, either wrong_type when x is not an exact integer, or out_of_range when it doesn't fit.

Referenced by rpcbasic_extractor< T, char >::post(), rpcbasic_extractor< T, short >::post(), rpcbasic_extractor< T, long >::post(), and rpcbasic_extractor< T, int >::post().

PMT_API pmt_t pmt::to_tuple ( const pmt_t &  x)

If x is a vector or proper list, return a tuple containing the elements of x

Convert pmt to uint64 if possible.

When x represents an exact integer that fits in a uint64, return that uint64. Else raise an exception, either wrong_type when x is not an exact uint64, or out_of_range when it doesn't fit.

Referenced by tag_sink_demo::work().

PMT_API pmt_t pmt::tuple_ref ( const pmt_t &  tuple,
size_t  k 
)

Return the contents of position k of tuple. k must be a valid index of tuple.

Referenced by tag_sink_demo::work().

PMT_API const uint16_t* pmt::u16vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<uint16_t> pmt::u16vector_elements ( pmt_t  v)
PMT_API uint16_t pmt::u16vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::u16vector_set ( pmt_t  v,
size_t  k,
uint16_t  x 
)
PMT_API uint16_t* pmt::u16vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const uint32_t* pmt::u32vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<uint32_t> pmt::u32vector_elements ( pmt_t  v)
PMT_API uint32_t pmt::u32vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::u32vector_set ( pmt_t  v,
size_t  k,
uint32_t  x 
)
PMT_API uint32_t* pmt::u32vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const uint64_t* pmt::u64vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<uint64_t> pmt::u64vector_elements ( pmt_t  v)
PMT_API uint64_t pmt::u64vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::u64vector_set ( pmt_t  v,
size_t  k,
uint64_t  x 
)
PMT_API uint64_t* pmt::u64vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const uint8_t* pmt::u8vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const std::vector<uint8_t> pmt::u8vector_elements ( pmt_t  v)
PMT_API uint8_t pmt::u8vector_ref ( pmt_t  v,
size_t  k 
)
PMT_API void pmt::u8vector_set ( pmt_t  v,
size_t  k,
uint8_t  x 
)
PMT_API uint8_t* pmt::u8vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API const void* pmt::uniform_vector_elements ( pmt_t  v,
size_t &  len 
)
PMT_API void* pmt::uniform_vector_writable_elements ( pmt_t  v,
size_t &  len 
)
PMT_API void pmt::vector_fill ( pmt_t  vector,
pmt_t  fill 
)

Store fill in every position of vector.

PMT_API pmt_t pmt::vector_ref ( pmt_t  vector,
size_t  k 
)

Return the contents of position k of vector. k must be a valid index of vector.

PMT_API void pmt::vector_set ( pmt_t  vector,
size_t  k,
pmt_t  obj 
)

Store obj in position k.

PMT_API void pmt::write ( pmt_t  obj,
std::ostream &  port 
)

Write a written representation of obj to the given port.

PMT_API std::string pmt::write_string ( pmt_t  obj)

Return a string representation of obj. This is the same output as would be generated by pmt::write.


Variable Documentation