GNU Radio 3.4.0 C++ API
pmt.h File Reference
#include <boost/intrusive_ptr.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/any.hpp>
#include <complex>
#include <string>
#include <stdint.h>
#include <iosfwd>
#include <stdexcept>
#include <gruel/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_exception
class  pmt::pmt_wrong_type
class  pmt::pmt_out_of_range
class  pmt::pmt_notimplemented

Typedefs

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

Functions

void pmt::intrusive_ptr_add_ref (pmt_base *)
void pmt::intrusive_ptr_release (pmt_base *)
bool pmt::pmt_is_bool (pmt_t obj)
 Return true if obj is #t or #f, else return false.
bool pmt::pmt_is_true (pmt_t obj)
 Return false if obj is #f, else return true.
bool pmt::pmt_is_false (pmt_t obj)
 Return true if obj is #f, else return true.
pmt_t pmt::pmt_from_bool (bool val)
 Return #f is val is false, else return #t.
bool pmt::pmt_to_bool (pmt_t val)
 Return true if val is PMT_T, return false when val is PMT_F,.
bool pmt::pmt_is_symbol (const pmt_t &obj)
 Return true if obj is a symbol, else false.
pmt_t pmt::pmt_string_to_symbol (const std::string &s)
 Return the symbol whose name is s.
pmt_t pmt::pmt_intern (const std::string &s)
 Alias for pmt_string_to_symbol.
const std::string pmt::pmt_symbol_to_string (const pmt_t &sym)
bool pmt::pmt_is_number (pmt_t obj)
 Return true if obj is any kind of number, else false.
bool pmt::pmt_is_integer (pmt_t x)
 Return true if x is an integer number, else false.
pmt_t pmt::pmt_from_long (long x)
 Return the pmt value that represents the integer x.
long pmt::pmt_to_long (pmt_t x)
 Convert pmt to long if possible.
bool pmt::pmt_is_uint64 (pmt_t x)
 Return true if x is an uint64 number, else false.
pmt_t pmt::pmt_from_uint64 (uint64_t x)
 Return the pmt value that represents the uint64 x.
uint64_t pmt::pmt_to_uint64 (pmt_t x)
 Convert pmt to uint64 if possible.
bool pmt::pmt_is_real (pmt_t obj)
pmt_t pmt::pmt_from_double (double x)
 Return the pmt value that represents double x.
double pmt::pmt_to_double (pmt_t x)
 Convert pmt to double if possible.
bool pmt::pmt_is_complex (pmt_t obj)
 return true if obj is a complex number, false otherwise.
pmt_t pmt::pmt_make_rectangular (double re, double im)
 Return a complex number constructed of the given real and imaginary parts.
std::complex< double > pmt::pmt_to_complex (pmt_t z)
bool pmt::pmt_is_null (const pmt_t &x)
 Return true if x is the empty list, otherwise return false.
bool pmt::pmt_is_pair (const pmt_t &obj)
 Return true if obj is a pair, else false.
pmt_t pmt::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_t pmt::pmt_car (const pmt_t &pair)
 If pair is a pair, return the car of the pair, otherwise raise wrong_type.
pmt_t pmt::pmt_cdr (const pmt_t &pair)
 If pair is a pair, return the cdr of the pair, otherwise raise wrong_type.
void pmt::pmt_set_car (pmt_t pair, pmt_t value)
 Stores value in the car field of pair.
void pmt::pmt_set_cdr (pmt_t pair, pmt_t value)
 Stores value in the cdr field of pair.
pmt_t pmt::pmt_caar (pmt_t pair)
pmt_t pmt::pmt_cadr (pmt_t pair)
pmt_t pmt::pmt_cdar (pmt_t pair)
pmt_t pmt::pmt_cddr (pmt_t pair)
pmt_t pmt::pmt_caddr (pmt_t pair)
pmt_t pmt::pmt_cadddr (pmt_t pair)
bool pmt::pmt_is_tuple (pmt_t x)
 Return true if x is a tuple, othewise false.
pmt_t pmt::pmt_make_tuple ()
pmt_t pmt::pmt_make_tuple (const pmt_t &e0)
pmt_t pmt::pmt_make_tuple (const pmt_t &e0, const pmt_t &e1)
pmt_t pmt::pmt_make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2)
pmt_t pmt::pmt_make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3)
pmt_t pmt::pmt_make_tuple (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4)
pmt_t pmt::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_t pmt::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_t pmt::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_t pmt::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_t pmt::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_t pmt::pmt_to_tuple (const pmt_t &x)
pmt_t pmt::pmt_tuple_ref (const pmt_t &tuple, size_t k)
bool pmt::pmt_is_vector (pmt_t x)
 Return true if x is a vector, othewise false.
pmt_t pmt::pmt_make_vector (size_t k, pmt_t fill)
 Make a vector of length k, with initial values set to fill.
pmt_t pmt::pmt_vector_ref (pmt_t vector, size_t k)
void pmt::pmt_vector_set (pmt_t vector, size_t k, pmt_t obj)
 Store obj in position k.
void pmt::pmt_vector_fill (pmt_t vector, pmt_t fill)
 Store fill in every position of vector.
bool pmt::pmt_is_blob (pmt_t x)
 Return true if x is a blob, othewise false.
pmt_t pmt::pmt_make_blob (const void *buf, size_t len)
 Make a blob given a pointer and length in bytes.
const void * pmt::pmt_blob_data (pmt_t blob)
 Return a pointer to the blob's data.
size_t pmt::pmt_blob_length (pmt_t blob)
 Return the blob's length in bytes.
bool pmt::pmt_is_uniform_vector (pmt_t x)
 true if x is any kind of uniform numeric vector
bool pmt::pmt_is_u8vector (pmt_t x)
bool pmt::pmt_is_s8vector (pmt_t x)
bool pmt::pmt_is_u16vector (pmt_t x)
bool pmt::pmt_is_s16vector (pmt_t x)
bool pmt::pmt_is_u32vector (pmt_t x)
bool pmt::pmt_is_s32vector (pmt_t x)
bool pmt::pmt_is_u64vector (pmt_t x)
bool pmt::pmt_is_s64vector (pmt_t x)
bool pmt::pmt_is_f32vector (pmt_t x)
bool pmt::pmt_is_f64vector (pmt_t x)
bool pmt::pmt_is_c32vector (pmt_t x)
bool pmt::pmt_is_c64vector (pmt_t x)
pmt_t pmt::pmt_make_u8vector (size_t k, uint8_t fill)
pmt_t pmt::pmt_make_s8vector (size_t k, int8_t fill)
pmt_t pmt::pmt_make_u16vector (size_t k, uint16_t fill)
pmt_t pmt::pmt_make_s16vector (size_t k, int16_t fill)
pmt_t pmt::pmt_make_u32vector (size_t k, uint32_t fill)
pmt_t pmt::pmt_make_s32vector (size_t k, int32_t fill)
pmt_t pmt::pmt_make_u64vector (size_t k, uint64_t fill)
pmt_t pmt::pmt_make_s64vector (size_t k, int64_t fill)
pmt_t pmt::pmt_make_f32vector (size_t k, float fill)
pmt_t pmt::pmt_make_f64vector (size_t k, double fill)
pmt_t pmt::pmt_make_c32vector (size_t k, std::complex< float > fill)
pmt_t pmt::pmt_make_c64vector (size_t k, std::complex< double > fill)
pmt_t pmt::pmt_init_u8vector (size_t k, const uint8_t *data)
pmt_t pmt::pmt_init_s8vector (size_t k, const int8_t *data)
pmt_t pmt::pmt_init_u16vector (size_t k, const uint16_t *data)
pmt_t pmt::pmt_init_s16vector (size_t k, const int16_t *data)
pmt_t pmt::pmt_init_u32vector (size_t k, const uint32_t *data)
pmt_t pmt::pmt_init_s32vector (size_t k, const int32_t *data)
pmt_t pmt::pmt_init_u64vector (size_t k, const uint64_t *data)
pmt_t pmt::pmt_init_s64vector (size_t k, const int64_t *data)
pmt_t pmt::pmt_init_f32vector (size_t k, const float *data)
pmt_t pmt::pmt_init_f64vector (size_t k, const double *data)
pmt_t pmt::pmt_init_c32vector (size_t k, const std::complex< float > *data)
pmt_t pmt::pmt_init_c64vector (size_t k, const std::complex< double > *data)
uint8_t pmt::pmt_u8vector_ref (pmt_t v, size_t k)
int8_t pmt::pmt_s8vector_ref (pmt_t v, size_t k)
uint16_t pmt::pmt_u16vector_ref (pmt_t v, size_t k)
int16_t pmt::pmt_s16vector_ref (pmt_t v, size_t k)
uint32_t pmt::pmt_u32vector_ref (pmt_t v, size_t k)
int32_t pmt::pmt_s32vector_ref (pmt_t v, size_t k)
uint64_t pmt::pmt_u64vector_ref (pmt_t v, size_t k)
int64_t pmt::pmt_s64vector_ref (pmt_t v, size_t k)
float pmt::pmt_f32vector_ref (pmt_t v, size_t k)
double pmt::pmt_f64vector_ref (pmt_t v, size_t k)
std::complex< float > pmt::pmt_c32vector_ref (pmt_t v, size_t k)
std::complex< double > pmt::pmt_c64vector_ref (pmt_t v, size_t k)
void pmt::pmt_u8vector_set (pmt_t v, size_t k, uint8_t x)
void pmt::pmt_s8vector_set (pmt_t v, size_t k, int8_t x)
void pmt::pmt_u16vector_set (pmt_t v, size_t k, uint16_t x)
void pmt::pmt_s16vector_set (pmt_t v, size_t k, int16_t x)
void pmt::pmt_u32vector_set (pmt_t v, size_t k, uint32_t x)
void pmt::pmt_s32vector_set (pmt_t v, size_t k, int32_t x)
void pmt::pmt_u64vector_set (pmt_t v, size_t k, uint64_t x)
void pmt::pmt_s64vector_set (pmt_t v, size_t k, int64_t x)
void pmt::pmt_f32vector_set (pmt_t v, size_t k, float x)
void pmt::pmt_f64vector_set (pmt_t v, size_t k, double x)
void pmt::pmt_c32vector_set (pmt_t v, size_t k, std::complex< float > x)
void pmt::pmt_c64vector_set (pmt_t v, size_t k, std::complex< double > x)
const void * pmt::pmt_uniform_vector_elements (pmt_t v, size_t &len)
const uint8_t * pmt::pmt_u8vector_elements (pmt_t v, size_t &len)
const int8_t * pmt::pmt_s8vector_elements (pmt_t v, size_t &len)
const uint16_t * pmt::pmt_u16vector_elements (pmt_t v, size_t &len)
const int16_t * pmt::pmt_s16vector_elements (pmt_t v, size_t &len)
const uint32_t * pmt::pmt_u32vector_elements (pmt_t v, size_t &len)
const int32_t * pmt::pmt_s32vector_elements (pmt_t v, size_t &len)
const uint64_t * pmt::pmt_u64vector_elements (pmt_t v, size_t &len)
const int64_t * pmt::pmt_s64vector_elements (pmt_t v, size_t &len)
const float * pmt::pmt_f32vector_elements (pmt_t v, size_t &len)
const double * pmt::pmt_f64vector_elements (pmt_t v, size_t &len)
const std::complex< float > * pmt::pmt_c32vector_elements (pmt_t v, size_t &len)
const std::complex< double > * pmt::pmt_c64vector_elements (pmt_t v, size_t &len)
void * pmt::pmt_uniform_vector_writable_elements (pmt_t v, size_t &len)
uint8_t * pmt::pmt_u8vector_writable_elements (pmt_t v, size_t &len)
int8_t * pmt::pmt_s8vector_writable_elements (pmt_t v, size_t &len)
uint16_t * pmt::pmt_u16vector_writable_elements (pmt_t v, size_t &len)
int16_t * pmt::pmt_s16vector_writable_elements (pmt_t v, size_t &len)
uint32_t * pmt::pmt_u32vector_writable_elements (pmt_t v, size_t &len)
int32_t * pmt::pmt_s32vector_writable_elements (pmt_t v, size_t &len)
uint64_t * pmt::pmt_u64vector_writable_elements (pmt_t v, size_t &len)
int64_t * pmt::pmt_s64vector_writable_elements (pmt_t v, size_t &len)
float * pmt::pmt_f32vector_writable_elements (pmt_t v, size_t &len)
double * pmt::pmt_f64vector_writable_elements (pmt_t v, size_t &len)
std::complex< float > * pmt::pmt_c32vector_writable_elements (pmt_t v, size_t &len)
std::complex< double > * pmt::pmt_c64vector_writable_elements (pmt_t v, size_t &len)
bool pmt::pmt_is_dict (const pmt_t &obj)
 Return true if obj is a dictionary.
pmt_t pmt::pmt_make_dict ()
 Make an empty dictionary.
pmt_t pmt::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_t pmt::pmt_dict_delete (const pmt_t &dict, const pmt_t &key)
 Return a new dictionary with key removed.
bool pmt::pmt_dict_has_key (const pmt_t &dict, const pmt_t &key)
 Return true if key exists in dict.
pmt_t pmt::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_t pmt::pmt_dict_items (pmt_t dict)
 Return list of (key . value) pairs.
pmt_t pmt::pmt_dict_keys (pmt_t dict)
 Return list of keys.
pmt_t pmt::pmt_dict_values (pmt_t dict)
 Return list of values.
bool pmt::pmt_is_any (pmt_t obj)
 Return true if obj is an any.
pmt_t pmt::pmt_make_any (const boost::any &any)
 make an any
boost::any pmt::pmt_any_ref (pmt_t obj)
 Return underlying boost::any.
void pmt::pmt_any_set (pmt_t obj, const boost::any &any)
 Store any in obj.
bool pmt::pmt_is_msg_accepter (const pmt_t &obj)
 Return true if obj is a msg_accepter.
pmt_t pmt::pmt_make_msg_accepter (boost::shared_ptr< gruel::msg_accepter > ma)
 make a msg_accepter
boost::shared_ptr
< gruel::msg_accepter
pmt::pmt_msg_accepter_ref (const pmt_t &obj)
 Return underlying msg_accepter.
bool pmt::pmt_eq (const pmt_t &x, const pmt_t &y)
 Return true if x and y are the same object; otherwise return false.
bool pmt::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.
bool pmt::pmt_equal (const pmt_t &x, const pmt_t &y)
size_t pmt::pmt_length (const pmt_t &v)
 Return the number of elements in v.
pmt_t pmt::pmt_assq (pmt_t obj, pmt_t alist)
 Find the first pair in alist whose car field is obj and return that pair.
pmt_t pmt::pmt_assv (pmt_t obj, pmt_t alist)
 Find the first pair in alist whose car field is obj and return that pair.
pmt_t pmt::pmt_assoc (pmt_t obj, pmt_t alist)
 Find the first pair in alist whose car field is obj and return that pair.
pmt_t pmt::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_t pmt::pmt_reverse (pmt_t list)
 reverse list.
pmt_t pmt::pmt_reverse_x (pmt_t list)
 destructively reverse list.
static pmt_t pmt::pmt_acons (pmt_t x, pmt_t y, pmt_t a)
 (acons x y a) == (cons (cons x y) a)
pmt_t pmt::pmt_nth (size_t n, pmt_t list)
 locates nth element of
list where the car is the 'zeroth' element.
pmt_t pmt::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_t pmt::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_t pmt::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_t pmt::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.
bool pmt::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_t pmt::pmt_list1 (const pmt_t &x1)
 Return a list of length 1 containing x1.
pmt_t pmt::pmt_list2 (const pmt_t &x1, const pmt_t &x2)
 Return a list of length 2 containing x1, x2.
pmt_t pmt::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_t pmt::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_t pmt::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_t pmt::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_t pmt::pmt_list_add (pmt_t list, const pmt_t &item)
 Return list with item added to it.
bool pmt::pmt_is_eof_object (pmt_t obj)
 return true if obj is the EOF object, otherwise return false.
pmt_t pmt::pmt_read (std::istream &port)
void pmt::pmt_write (pmt_t obj, std::ostream &port)
std::string pmt::pmt_write_string (pmt_t obj)
std::ostream & pmt::operator<< (std::ostream &os, pmt_t obj)
void pmt::pmt_print (pmt_t v)
 Write pmt string representation to stdout.
bool pmt::pmt_serialize (pmt_t obj, std::streambuf &sink)
 Write portable byte-serial representation of obj to sink.
pmt_t pmt::pmt_deserialize (std::streambuf &source)
 Create obj from portable byte-serial representation.
void pmt::pmt_dump_sizeof ()
std::string pmt::pmt_serialize_str (pmt_t obj)
 Provide a simple string generating interface to pmt's serialize function.
pmt_t pmt::pmt_deserialize_str (std::string str)
 Provide a simple string generating interface to pmt's deserialize function.

Variables

const pmt_t pmt::PMT_T
const pmt_t pmt::PMT_F
const pmt_t pmt::PMT_NIL
const pmt_t pmt::PMT_EOF