Loading...
Searching...
No Matches
pmt.h File Reference
`#include <pmt/api.h>`
`#include <boost/any.hpp>`
`#include <complex>`
`#include <cstdint>`
`#include <iosfwd>`
`#include <memory>`
`#include <stdexcept>`
`#include <string>`
`#include <vector>`
`#include <pmt/pmt_sugar.h>`
Include dependency graph for pmt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

class | pmt::pmt_base
| base class of all pmt types More...
class | pmt::exception
class | pmt::wrong_type
class | pmt::out_of_range
class | pmt::notimplemented
class | pmt::comparator
| Provide a comparator function object to allow pmt use in stl types. More...

## Namespaces

namespace | gr
| GNU Radio logging wrapper.
namespace | gr::messages
namespace | pmt

## Macros

#define | PMT_NIL get_PMT_NIL()
#define | PMT_T get_PMT_T()
#define | PMT_F get_PMT_F()
#define | PMT_EOF get_PMT_EOF()

## Typedefs

typedef std::shared_ptr< pmt_base > | pmt::pmt_t
| typedef for shared pointer (transparent reference counting).

## Functions

PMT_API pmt_t | pmt::get_PMT_NIL ()
PMT_API pmt_t | pmt::get_PMT_T ()
PMT_API pmt_t | pmt::get_PMT_F ()
PMT_API pmt_t | pmt::get_PMT_EOF ()
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_true (pmt_t obj)
| Return false if obj is #f, else return true.
PMT_API bool | pmt::is_false (pmt_t obj)
| Return true if obj is #f, else return true.
PMT_API pmt_t | pmt::from_bool (bool val)
| Return #f is val is false, else return #t.
PMT_API bool | pmt::to_bool (pmt_t val)
| Return true if val is pmt::True, return false when val is pmt::PMT_F,.
PMT_API bool | pmt::is_symbol (const pmt_t &obj)
| Return true if obj is a symbol, else false.
PMT_API pmt_t | pmt::string_to_symbol (const std::string &s)
| Return the symbol whose name is `s`.
PMT_API pmt_t | pmt::intern (const std::string &s)
| Alias for pmt_string_to_symbol.
PMT_API const std::string | pmt::symbol_to_string (const pmt_t &sym)
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_integer (pmt_t x)
| Return true if `x` is an integer number, else false.
PMT_API pmt_t | pmt::from_long (long x)
| Return the pmt value that represents the integer `x`.
PMT_API long | pmt::to_long (pmt_t x)
| Convert pmt to long if possible.
PMT_API bool | pmt::is_uint64 (pmt_t x)
| Return true if `x` is an uint64 number, else false.
PMT_API pmt_t | pmt::from_uint64 (uint64_t x)
| Return the pmt value that represents the uint64 `x`.
PMT_API uint64_t | pmt::to_uint64 (pmt_t x)
| Convert pmt to uint64 if possible.
PMT_API bool | pmt::is_real (pmt_t obj)
PMT_API pmt_t | pmt::from_double (double x)
| Return the pmt value that represents double `x`.
PMT_API pmt_t | pmt::from_float (float x)
PMT_API double | pmt::to_double (pmt_t x)
| Convert pmt to double if possible.
PMT_API float | pmt::to_float (pmt_t x)
| Convert pmt to float if possible.
PMT_API bool | pmt::is_complex (pmt_t obj)
| return true if `obj` is a complex number, false otherwise.
PMT_API pmt_t | pmt::make_rectangular (double re, double im)
| Return a complex number constructed of the given real and imaginary parts.
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 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 std::complex< double > | pmt::to_complex (pmt_t z)
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_pair (const pmt_t &obj)
| Return true if `obj` is a pair, else false (warning: also returns true for a dict).
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`.
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::cdr (const pmt_t &pair)
| If `pair` is a pair, return the cdr of the `pair`, otherwise raise wrong_type.
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 pmt_t | pmt::caar (pmt_t pair)
PMT_API pmt_t | pmt::cadr (pmt_t pair)
PMT_API pmt_t | pmt::cdar (pmt_t pair)
PMT_API pmt_t | pmt::cddr (pmt_t pair)
PMT_API pmt_t | pmt::caddr (pmt_t pair)
PMT_API pmt_t | pmt::cadddr (pmt_t pair)
PMT_API bool | pmt::is_tuple (pmt_t x)
| Return true if `x` is a tuple, otherwise false.
PMT_API pmt_t | pmt::make_tuple ()
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::to_tuple (const pmt_t &x)
PMT_API pmt_t | pmt::tuple_ref (const pmt_t &tuple, size_t k)
PMT_API bool | pmt::is_vector (pmt_t x)
| Return true if `x` is a vector, otherwise false.
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::vector_ref (pmt_t vector, size_t k)
PMT_API void | pmt::vector_set (pmt_t vector, size_t k, pmt_t obj)
| Store `obj` in position `k`.
PMT_API void | pmt::vector_fill (pmt_t vector, pmt_t fill)
| Store `fill` in every position of `vector`.
PMT_API bool | pmt::is_blob (pmt_t x)
| Return true if `x` is a blob, otherwise false.
PMT_API pmt_t | pmt::make_blob (const void *buf, size_t len)
| Make a blob given a pointer and length in bytes.
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 bool | pmt::is_uniform_vector (pmt_t x)
| true if `x` is any kind of uniform numeric vector
PMT_API bool | pmt::is_u8vector (pmt_t x)
PMT_API bool | pmt::is_s8vector (pmt_t x)
PMT_API bool | pmt::is_u16vector (pmt_t x)
PMT_API bool | pmt::is_s16vector (pmt_t x)
PMT_API bool | pmt::is_u32vector (pmt_t x)
PMT_API bool | pmt::is_s32vector (pmt_t x)
PMT_API bool | pmt::is_u64vector (pmt_t x)
PMT_API bool | pmt::is_s64vector (pmt_t x)
PMT_API bool | pmt::is_f32vector (pmt_t x)
PMT_API bool | pmt::is_f64vector (pmt_t x)
PMT_API bool | pmt::is_c32vector (pmt_t x)
PMT_API bool | pmt::is_c64vector (pmt_t x)
PMT_API size_t | pmt::uniform_vector_itemsize (pmt_t x)
| item size in bytes if `x` is any kind of uniform numeric vector
PMT_API pmt_t | pmt::make_u8vector (size_t k, uint8_t fill)
PMT_API pmt_t | pmt::make_s8vector (size_t k, int8_t fill)
PMT_API pmt_t | pmt::make_u16vector (size_t k, uint16_t fill)
PMT_API pmt_t | pmt::make_s16vector (size_t k, int16_t fill)
PMT_API pmt_t | pmt::make_u32vector (size_t k, uint32_t fill)
PMT_API pmt_t | pmt::make_s32vector (size_t k, int32_t fill)
PMT_API pmt_t | pmt::make_u64vector (size_t k, uint64_t fill)
PMT_API pmt_t | pmt::make_s64vector (size_t k, int64_t fill)
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_c32vector (size_t k, std::complex< float > fill)
PMT_API pmt_t | pmt::make_c64vector (size_t k, std::complex< double > fill)
PMT_API pmt_t | pmt::init_u8vector (size_t k, const uint8_t *data)
PMT_API pmt_t | pmt::init_u8vector (size_t k, const std::vector< uint8_t > &data)
PMT_API pmt_t | pmt::init_s8vector (size_t k, const int8_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_s16vector (size_t k, const int16_t *data)
PMT_API pmt_t | pmt::init_s16vector (size_t k, const std::vector< int16_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_s32vector (size_t k, const int32_t *data)
PMT_API pmt_t | pmt::init_s32vector (size_t k, const std::vector< int32_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_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_f32vector (size_t k, const float *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_c32vector (size_t k, const std::complex< float > *data)
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 uint8_t | pmt::u8vector_ref (pmt_t v, size_t k)
PMT_API int8_t | pmt::s8vector_ref (pmt_t v, size_t k)
PMT_API uint16_t | pmt::u16vector_ref (pmt_t v, size_t k)
PMT_API int16_t | pmt::s16vector_ref (pmt_t v, size_t k)
PMT_API uint32_t | pmt::u32vector_ref (pmt_t v, size_t k)
PMT_API int32_t | pmt::s32vector_ref (pmt_t v, size_t k)
PMT_API uint64_t | pmt::u64vector_ref (pmt_t v, size_t k)
PMT_API int64_t | pmt::s64vector_ref (pmt_t v, size_t k)
PMT_API float | pmt::f32vector_ref (pmt_t v, size_t k)
PMT_API double | pmt::f64vector_ref (pmt_t v, size_t k)
PMT_API std::complex< float > | pmt::c32vector_ref (pmt_t v, size_t k)
PMT_API std::complex< double > | pmt::c64vector_ref (pmt_t v, size_t k)
PMT_API void | pmt::u8vector_set (pmt_t v, size_t k, uint8_t x)
PMT_API void | pmt::s8vector_set (pmt_t v, size_t k, int8_t x)
PMT_API void | pmt::u16vector_set (pmt_t v, size_t k, uint16_t x)
PMT_API void | pmt::s16vector_set (pmt_t v, size_t k, int16_t x)
PMT_API void | pmt::u32vector_set (pmt_t v, size_t k, uint32_t x)
PMT_API void | pmt::s32vector_set (pmt_t v, size_t k, int32_t x)
PMT_API void | pmt::u64vector_set (pmt_t v, size_t k, uint64_t x)
PMT_API void | pmt::s64vector_set (pmt_t v, size_t k, int64_t x)
PMT_API void | pmt::f32vector_set (pmt_t v, size_t k, float x)
PMT_API void | pmt::f64vector_set (pmt_t v, size_t k, double x)
PMT_API void | pmt::c32vector_set (pmt_t v, size_t k, std::complex< float > x)
PMT_API void | pmt::c64vector_set (pmt_t v, size_t k, std::complex< double > x)
PMT_API const void * | pmt::uniform_vector_elements (pmt_t v, size_t &len)
PMT_API const uint8_t * | pmt::u8vector_elements (pmt_t v, size_t &len)
PMT_API const int8_t * | pmt::s8vector_elements (pmt_t v, size_t &len)
PMT_API const uint16_t * | pmt::u16vector_elements (pmt_t v, size_t &len)
PMT_API const int16_t * | pmt::s16vector_elements (pmt_t v, size_t &len)
PMT_API const uint32_t * | pmt::u32vector_elements (pmt_t v, size_t &len)
PMT_API const int32_t * | pmt::s32vector_elements (pmt_t v, size_t &len)
PMT_API const uint64_t * | pmt::u64vector_elements (pmt_t v, size_t &len)
PMT_API const int64_t * | pmt::s64vector_elements (pmt_t v, size_t &len)
PMT_API const float * | pmt::f32vector_elements (pmt_t v, size_t &len)
PMT_API const double * | pmt::f64vector_elements (pmt_t v, size_t &len)
PMT_API const std::complex< float > * | pmt::c32vector_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< uint8_t > | pmt::u8vector_elements (pmt_t v)
PMT_API const std::vector< int8_t > | pmt::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 void * | pmt::uniform_vector_writable_elements (pmt_t v, size_t &len)
PMT_API uint8_t * | pmt::u8vector_writable_elements (pmt_t v, size_t &len)
PMT_API int8_t * | pmt::s8vector_writable_elements (pmt_t v, size_t &len)
PMT_API uint16_t * | pmt::u16vector_writable_elements (pmt_t v, size_t &len)
PMT_API int16_t * | pmt::s16vector_writable_elements (pmt_t v, size_t &len)
PMT_API uint32_t * | pmt::u32vector_writable_elements (pmt_t v, size_t &len)
PMT_API int32_t * | pmt::s32vector_writable_elements (pmt_t v, size_t &len)
PMT_API uint64_t * | pmt::u64vector_writable_elements (pmt_t v, size_t &len)
PMT_API int64_t * | pmt::s64vector_writable_elements (pmt_t v, size_t &len)
PMT_API float * | pmt::f32vector_writable_elements (pmt_t v, size_t &len)
PMT_API double * | pmt::f64vector_writable_elements (pmt_t v, size_t &len)
PMT_API std::complex< float > * | pmt::c32vector_writable_elements (pmt_t v, size_t &len)
PMT_API std::complex< double > * | pmt::c64vector_writable_elements (pmt_t v, size_t &len)
PMT_API bool | pmt::is_dict (const pmt_t &obj)
| Return true if `obj` is a dictionary.
PMT_API pmt_t | pmt::dcons (const pmt_t &x, const pmt_t &y)
| Return a newly allocated dict whose car is a key-value pair `x` and whose cdr is a dict `y`.
PMT_API pmt_t | pmt::make_dict ()
| Make an empty dictionary.
template<typename map_t>
pmt_t | pmt::dict_from_mapping (const map_t &prototype)
| Make a dictionary from an existing mapping type. The constraint for this to work is the ability for the map_t to iterate over [key, value] pairs, that is, to be able to be used in a.
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`.
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_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_update (const pmt_t &dict1, const pmt_t &dict2)
| Return a new dictionary `dict1` with k=>v pairs from `dict2` added.
PMT_API pmt_t | pmt::dict_values (pmt_t dict)
| Return list of values.
PMT_API bool | pmt::is_any (pmt_t obj)
| Return true if `obj` is an any.
PMT_API pmt_t | pmt::make_any (const boost::any &any)
| make an any
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 bool | pmt::is_msg_accepter (const pmt_t &obj)
| Return true if `obj` is a msg_accepter.
PMT_API pmt_t | pmt::make_msg_accepter (std::shared_ptr< gr::messages::msg_accepter > ma)
| make a msg_accepter
PMT_API std::shared_ptr< gr::messages::msg_accepter > | pmt::msg_accepter_ref (const pmt_t &obj)
| Return underlying msg_accepter.
PMT_API bool | pmt::is_pdu (const pmt_t &obj)
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::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 | pmt::equal (const pmt_t &x, const pmt_t &y)
PMT_API size_t | pmt::length (const pmt_t &v)
| Return the number of elements in v.
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.
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.
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.
PMT_API pmt_t | pmt::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 | pmt::reverse (pmt_t list)
| reverse `list`.
PMT_API pmt_t | pmt::reverse_x (pmt_t list)
| destructively reverse `list`.
static pmt_t | pmt::acons (pmt_t x, pmt_t y, pmt_t a)
| (acons x y a) == (cons (cons x y) a)
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 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`.
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 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 pmt_t | pmt::list1 (const pmt_t &x1)
| Return a list of length 1 containing `x1`, that is cons(x1, NIL) Note that PMT lists are nested pairs. Use pmt::make_tuple to generate a list in the common sense.
PMT_API pmt_t | pmt::list2 (const pmt_t &x1, const pmt_t &x2)
| Return a list of length 2 containing `x1`, `x2`, that is cons(x1, cons(x2, NIL)) Note that PMT lists are nested pairs. Use pmt::make_tuple to generate a list in the common sense.
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`, that is cons(x1, cons(x2, cons(x3, NIL))) Note that PMT lists are nested pairs. Use pmt::make_tuple to generate a list in the common sense.
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`, that is cons(x1, cons(x2, cons(x3, cons(x4, NIL)))) Note that PMT lists are nested pairs. Use pmt::make_tuple to generate a list in the common sense.
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`, that is cons(x1, cons(x2, cons(x3, cons(x4, cons(x5, NIL))))) Note that PMT lists are nested pairs. Use pmt::make_tuple to generate a list in the common sense.
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`, that is cons(x1, cons(x2, cons(x3, cons(x4, cons(x5, cons(x6, NIL)))))) Note that PMT lists are nested pairs. Use pmt::make_tuple to generate a list in the common sense.
PMT_API pmt_t | pmt::list_add (pmt_t list, const pmt_t &item)
| Return `list` with `item` added to it. Note that PMT lists are nested pairs, e.g. cons(x1, cons(x2, cons(x3, NIL))) Use pmt::make_tuple to generate a list in the common sense.
PMT_API pmt_t | pmt::list_rm (pmt_t list, const pmt_t &item)
| Return `list` with `item` removed from it.
PMT_API bool | pmt::list_has (pmt_t list, const pmt_t &item)
| Return bool of `list` contains `item`.
PMT_API bool | pmt::is_eof_object (pmt_t obj)
| return true if obj is the EOF object, otherwise return false.
PMT_API pmt_t | pmt::read (std::istream &port)
PMT_API void | pmt::write (pmt_t obj, std::ostream &port)
PMT_API std::string | pmt::write_string (pmt_t obj)
PMT_API std::ostream & | pmt::operator<< (std::ostream &os, pmt_t obj)
PMT_API void | pmt::print (pmt_t v)
| Write pmt string representation to stdout.
PMT_API bool | pmt::serialize (pmt_t obj, std::streambuf &sink)
| Write portable byte-serial representation of `obj` to `sink`.
PMT_API pmt_t | pmt::deserialize (std::streambuf &source)
| Create obj from portable byte-serial representation.
PMT_API void | pmt::dump_sizeof ()
PMT_API std::string | pmt::serialize_str (pmt_t obj)
| Provide a simple string generating interface to pmt's serialize function.
PMT_API pmt_t | pmt::deserialize_str (std::string str)
| Provide a simple string generating interface to pmt's deserialize function.

## Macro Definition Documentation

## PMT_EOF

#define PMT_EOF get_PMT_EOF()

## PMT_F

#define PMT_F get_PMT_F()

Referenced by gr::tag_t::tag_t().

## PMT_NIL

#define PMT_NIL get_PMT_NIL()

Referenced by gr::msg_endpoint::msg_endpoint(), rpcbasic_register_variable< Tfrom >::rpcbasic_register_variable(), rpcbasic_register_variable_rw< Tfrom >::rpcbasic_register_variable_rw(), and gr::tag_t::tag_t().

## PMT_T

#define PMT_T get_PMT_T()