Classes | |
class | pmt_base |
base class of all pmt types More... | |
class | exception |
class | wrong_type |
class | out_of_range |
class | notimplemented |
class | comparator |
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 std::shared_ptr< pmt_base > | pmt_t |
typedef for shared pointer (transparent reference counting). More... | |
Functions | |
PMT_API pmt_t | get_PMT_NIL () |
PMT_API pmt_t | get_PMT_T () |
PMT_API pmt_t | get_PMT_F () |
PMT_API pmt_t | get_PMT_EOF () |
PMT_API bool | is_bool (pmt_t obj) |
Return true if obj is #t or #f, else return false. More... | |
PMT_API bool | is_true (pmt_t obj) |
Return false if obj is #f, else return true. More... | |
PMT_API bool | is_false (pmt_t obj) |
Return true if obj is #f, else return true. More... | |
PMT_API pmt_t | from_bool (bool val) |
Return #f is val is false, else return #t. More... | |
PMT_API bool | to_bool (pmt_t val) |
Return true if val is pmt::True, return false when val is pmt::PMT_F,. More... | |
PMT_API bool | is_symbol (const pmt_t &obj) |
Return true if obj is a symbol, else false. More... | |
PMT_API pmt_t | string_to_symbol (const std::string &s) |
Return the symbol whose name is s . More... | |
PMT_API pmt_t | intern (const std::string &s) |
Alias for pmt_string_to_symbol. More... | |
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. More... | |
PMT_API bool | is_integer (pmt_t x) |
Return true if x is an integer number, else false. More... | |
PMT_API pmt_t | from_long (long x) |
Return the pmt value that represents the integer x . More... | |
PMT_API long | to_long (pmt_t x) |
Convert pmt to long if possible. More... | |
PMT_API bool | is_uint64 (pmt_t x) |
Return true if x is an uint64 number, else false. More... | |
PMT_API pmt_t | from_uint64 (uint64_t x) |
Return the pmt value that represents the uint64 x . More... | |
PMT_API uint64_t | to_uint64 (pmt_t x) |
Convert pmt to uint64 if possible. More... | |
PMT_API bool | is_real (pmt_t obj) |
PMT_API pmt_t | from_double (double x) |
Return the pmt value that represents double x . More... | |
PMT_API pmt_t | from_float (float x) |
PMT_API double | to_double (pmt_t x) |
Convert pmt to double if possible. More... | |
PMT_API float | to_float (pmt_t x) |
Convert pmt to float if possible. More... | |
PMT_API bool | is_complex (pmt_t obj) |
return true if obj is a complex number, false otherwise. More... | |
PMT_API pmt_t | make_rectangular (double re, double im) |
Return a complex number constructed of the given real and imaginary parts. More... | |
PMT_API pmt_t | from_complex (double re, double im) |
Return a complex number constructed of the given real and imaginary parts. More... | |
PMT_API pmt_t | from_complex (const std::complex< double > &z) |
Return a complex number constructed of the given a complex number. More... | |
PMT_API pmt_t | pmt_from_complex (double re, double im) |
Return a complex number constructed of the given real and imaginary parts. More... | |
PMT_API pmt_t | pmt_from_complex (const std::complex< double > &z) |
Return a complex number constructed of the given a complex number. More... | |
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. More... | |
PMT_API bool | is_pair (const pmt_t &obj) |
Return true if obj is a pair, else false (warning: also returns true for a dict) More... | |
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 . More... | |
PMT_API pmt_t | car (const pmt_t &pair) |
If pair is a pair, return the car of the pair , otherwise raise wrong_type. More... | |
PMT_API pmt_t | cdr (const pmt_t &pair) |
If pair is a pair, return the cdr of the pair , otherwise raise wrong_type. More... | |
PMT_API void | set_car (pmt_t pair, pmt_t value) |
Stores value in the car field of pair . More... | |
PMT_API void | set_cdr (pmt_t pair, pmt_t value) |
Stores value in the cdr field of pair . More... | |
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, otherwise false. More... | |
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, otherwise false. More... | |
PMT_API pmt_t | make_vector (size_t k, pmt_t fill) |
Make a vector of length k , with initial values set to fill . More... | |
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 . More... | |
PMT_API void | vector_fill (pmt_t vector, pmt_t fill) |
Store fill in every position of vector . More... | |
PMT_API bool | is_blob (pmt_t x) |
Return true if x is a blob, otherwise false. More... | |
PMT_API pmt_t | make_blob (const void *buf, size_t len) |
Make a blob given a pointer and length in bytes. More... | |
PMT_API const void * | blob_data (pmt_t blob) |
Return a pointer to the blob's data. More... | |
PMT_API size_t | blob_length (pmt_t blob) |
Return the blob's length in bytes. More... | |
PMT_API bool | is_uniform_vector (pmt_t x) |
true if x is any kind of uniform numeric vector More... | |
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 size_t | uniform_vector_itemsize (pmt_t x) |
item size in bytes if x is any kind of uniform numeric vector More... | |
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 void * | uniform_vector_elements (pmt_t v, size_t &len) |
PMT_API const uint8_t * | u8vector_elements (pmt_t v, size_t &len) |
PMT_API const int8_t * | s8vector_elements (pmt_t v, size_t &len) |
PMT_API const uint16_t * | u16vector_elements (pmt_t v, size_t &len) |
PMT_API const int16_t * | s16vector_elements (pmt_t v, size_t &len) |
PMT_API const uint32_t * | u32vector_elements (pmt_t v, size_t &len) |
PMT_API const int32_t * | s32vector_elements (pmt_t v, size_t &len) |
PMT_API const uint64_t * | u64vector_elements (pmt_t v, size_t &len) |
PMT_API const int64_t * | s64vector_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_t > | s8vector_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 void * | uniform_vector_writable_elements (pmt_t v, size_t &len) |
PMT_API uint8_t * | u8vector_writable_elements (pmt_t v, size_t &len) |
PMT_API int8_t * | s8vector_writable_elements (pmt_t v, size_t &len) |
PMT_API uint16_t * | u16vector_writable_elements (pmt_t v, size_t &len) |
PMT_API int16_t * | s16vector_writable_elements (pmt_t v, size_t &len) |
PMT_API uint32_t * | u32vector_writable_elements (pmt_t v, size_t &len) |
PMT_API int32_t * | s32vector_writable_elements (pmt_t v, size_t &len) |
PMT_API uint64_t * | u64vector_writable_elements (pmt_t v, size_t &len) |
PMT_API int64_t * | s64vector_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. More... | |
PMT_API pmt_t | 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 . More... | |
PMT_API pmt_t | make_dict () |
Make an empty dictionary. More... | |
template<typename map_t > | |
pmt_t | 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. More... | |
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 . More... | |
PMT_API pmt_t | dict_delete (const pmt_t &dict, const pmt_t &key) |
Return a new dictionary with key removed. More... | |
PMT_API bool | dict_has_key (const pmt_t &dict, const pmt_t &key) |
Return true if key exists in dict . More... | |
PMT_API pmt_t | dict_ref (const pmt_t &dict, const pmt_t &key, const pmt_t ¬_found) |
If key exists in dict , return associated value; otherwise return not_found . More... | |
PMT_API pmt_t | dict_items (pmt_t dict) |
Return list of (key . value) pairs. More... | |
PMT_API pmt_t | dict_keys (pmt_t dict) |
Return list of keys. More... | |
PMT_API pmt_t | dict_update (const pmt_t &dict1, const pmt_t &dict2) |
Return a new dictionary dict1 with k=>v pairs from dict2 added. More... | |
PMT_API pmt_t | dict_values (pmt_t dict) |
Return list of values. More... | |
PMT_API bool | is_any (pmt_t obj) |
Return true if obj is an any. More... | |
PMT_API pmt_t | make_any (const boost::any &any) |
make an any More... | |
PMT_API boost::any | any_ref (pmt_t obj) |
Return underlying boost::any. More... | |
PMT_API void | any_set (pmt_t obj, const boost::any &any) |
Store any in obj . More... | |
PMT_API bool | is_msg_accepter (const pmt_t &obj) |
Return true if obj is a msg_accepter. More... | |
PMT_API pmt_t | make_msg_accepter (std::shared_ptr< gr::messages::msg_accepter > ma) |
make a msg_accepter More... | |
PMT_API std::shared_ptr< gr::messages::msg_accepter > | msg_accepter_ref (const pmt_t &obj) |
Return underlying msg_accepter. More... | |
PMT_API bool | is_pdu (const pmt_t &obj) |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
PMT_API pmt_t | reverse (pmt_t list) |
reverse list . More... | |
PMT_API pmt_t | reverse_x (pmt_t list) |
destructively reverse list . More... | |
static pmt_t | acons (pmt_t x, pmt_t y, pmt_t a) |
(acons x y a) == (cons (cons x y) a) More... | |
PMT_API pmt_t | nth (size_t n, pmt_t list) |
locates nth element of list where the car is the 'zeroth' element. More... | |
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. More... | |
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 . More... | |
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 . More... | |
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 . More... | |
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. More... | |
PMT_API pmt_t | list1 (const pmt_t &x1) |
Return a list of length 1 containing x1 . More... | |
PMT_API pmt_t | list2 (const pmt_t &x1, const pmt_t &x2) |
Return a list of length 2 containing x1 , x2 . More... | |
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 . More... | |
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 . More... | |
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 . More... | |
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 . More... | |
PMT_API pmt_t | list_add (pmt_t list, const pmt_t &item) |
Return list with item added to it. More... | |
PMT_API pmt_t | list_rm (pmt_t list, const pmt_t &item) |
Return list with item removed from it. More... | |
PMT_API bool | list_has (pmt_t list, const pmt_t &item) |
Return bool of list contains item . More... | |
PMT_API bool | is_eof_object (pmt_t obj) |
return true if obj is the EOF object, otherwise return false. More... | |
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. More... | |
PMT_API bool | serialize (pmt_t obj, std::streambuf &sink) |
Write portable byte-serial representation of obj to sink . More... | |
PMT_API pmt_t | deserialize (std::streambuf &source) |
Create obj from portable byte-serial representation. More... | |
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. More... | |
PMT_API pmt_t | deserialize_str (std::string str) |
Provide a simple string generating interface to pmt's deserialize function. More... | |
static pmt_t | mp (const std::string &s) |
Make pmt symbol. More... | |
static pmt_t | mp (const char *s) |
Make pmt symbol. More... | |
static pmt_t | mp (long x) |
Make pmt long. More... | |
static pmt_t | mp (long unsigned x) |
Make pmt uint64. More... | |
static pmt_t | mp (long long unsigned x) |
Make pmt uint64. More... | |
static pmt_t | mp (int x) |
Make pmt long. More... | |
static pmt_t | mp (double x) |
Make pmt double. More... | |
static pmt_t | mp (std::complex< double > z) |
Make pmt complex. More... | |
static pmt_t | mp (std::complex< float > z) |
Make pmt complex. More... | |
static pmt_t | mp (std::shared_ptr< gr::messages::msg_accepter > ma) |
Make pmt msg_accepter. More... | |
static pmt_t | mp (const void *data, size_t len_in_bytes) |
Make pmt Binary Large Object (BLOB) More... | |
static pmt_t | mp (const pmt_t &e0) |
Make tuple. More... | |
static pmt_t | mp (const pmt_t &e0, const pmt_t &e1) |
Make tuple. More... | |
static pmt_t | mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2) |
Make tuple. More... | |
static pmt_t | mp (const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3) |
Make tuple. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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 std::shared_ptr<pmt_base> pmt::pmt_t |
typedef for shared pointer (transparent reference counting).
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
.
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
.
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
.
If pair
is a pair, return the car of the pair
, otherwise raise wrong_type.
If pair
is a pair, return the cdr of the pair
, otherwise raise wrong_type.
Return a newly allocated pair whose car is x
and whose cdr is y
.
Referenced by acons(), gr::digital::adaptive_algorithm_lms::make(), gr::digital::adaptive_algorithm_nlms::make(), and gr::digital::adaptive_algorithm_cma::make().
Return a newly allocated dict whose car is a key-value pair x
and whose cdr is a dict y
.
Referenced by acons().
Create obj from portable byte-serial representation.
Provide a simple string generating interface to pmt's deserialize function.
Return a new dictionary with key
associated with value
.
Referenced by dict_from_mapping().
Return a new dictionary with key
removed.
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.
for(const auto& [key, val] : prototype)loop.
References dict_add(), and make_dict().
Return true if key
exists in dict
.
Referenced by gr::basic_block::has_msg_port(), and gr::hier_block2::message_port_register_hier_out().
If key
exists in dict
, return associated value; otherwise return not_found
.
Return a new dictionary dict1
with k=>v pairs from dict2
added.
PMT_API void pmt::dump_sizeof | ( | ) |
Return true if x and y are the same object; otherwise return false.
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==().
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::comparator::operator()(), and gr::msg_queue_comparator::operator()().
Return a complex number constructed of the given a complex number.
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().
Return the pmt value that represents double x
.
Referenced by mp().
Return the pmt value that represents the integer x
.
Referenced by mp().
Return the pmt value that represents the uint64 x
.
Referenced by mp(), and rpcbasic_inserter< T, uint64_t >::retrieve().
Referenced by pmt_assist< myType >::make(), and rpcbasic_inserter< T, std::vector< float > >::retrieve().
Referenced by rpcbasic_inserter< T, std::vector< short > >::retrieve().
Referenced by rpcbasic_inserter< T, std::vector< int > >::retrieve().
Referenced by rpcbasic_inserter< T, std::vector< int64_t > >::retrieve().
Referenced by rpcbasic_inserter< T, std::vector< uint8_t > >::retrieve().
Alias for pmt_string_to_symbol.
Referenced by gr::basic_block::alias_pmt(), rpcbasic_register_get< T, Tfrom >::rpcbasic_register_get(), rpcbasic_register_handler< T >::rpcbasic_register_handler(), rpcbasic_register_set< T, Tto >::rpcbasic_register_set(), and rpcbasic_register_trigger< T >::rpcbasic_register_trigger().
return true if obj is the EOF object, otherwise return false.
Return true if x
is the empty list, otherwise return false.
Return true if obj
is a pair, else false (warning: also returns true for a dict)
Returns true if the object is a PDU meaning: the object is a pair the car is a dictionary type object (including an empty dict) the cdr is a uniform vector of any type
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>
Return a list of length 2 containing x1
, x2
.
Return a list of length 3 containing x1
, x2
, x3
.
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
.
Return list
with item
added to it.
Referenced by gr::hier_block2::message_port_register_hier_in(), and gr::hier_block2::message_port_register_hier_out().
Return bool of list
contains item
.
Referenced by gr::hier_block2::message_port_is_hier_in(), gr::hier_block2::message_port_is_hier_out(), gr::hier_block2::message_port_register_hier_in(), and gr::hier_block2::message_port_register_hier_out().
Return list
with item
removed from it.
make an any
Referenced by gr::digital::constellation::as_pmt().
Make a blob given a pointer and length in bytes.
buf | is the pointer to data to use to create blob |
len | is the size of the data in bytes. |
The data is copied into the blob.
Referenced by mp().
Make an empty dictionary.
Referenced by dict_from_mapping().
PMT_API pmt_t pmt::make_msg_accepter | ( | std::shared_ptr< gr::messages::msg_accepter > | ma | ) |
make a msg_accepter
Referenced by mp().
Return a complex number constructed of the given real and imaginary parts.
Referenced by mp().
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 | ||
) |
Make a vector of length k
, with initial values set to fill
.
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.
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
.
|
inlinestatic |
Make pmt symbol.
References string_to_symbol().
Make tuple.
References make_tuple().
Make tuple.
References make_tuple().
Make tuple.
References make_tuple().
|
inlinestatic |
Make tuple.
References make_tuple().
|
inlinestatic |
Make tuple.
References make_tuple().
|
inlinestatic |
Make tuple.
References make_tuple().
|
inlinestatic |
Make tuple.
References make_tuple().
|
inlinestatic |
Make tuple.
References make_tuple().
|
inlinestatic |
Make tuple.
References make_tuple().
|
inlinestatic |
Make tuple.
References make_tuple().
|
inlinestatic |
Make pmt symbol.
References string_to_symbol().
Referenced by pmt_assist< myType >::make(), and rpcbasic_inserter< T, Tfrom >::retrieve().
|
inlinestatic |
Make pmt Binary Large Object (BLOB)
References make_blob().
|
inlinestatic |
Make pmt double.
References from_double().
|
inlinestatic |
Make pmt long.
References from_long().
|
inlinestatic |
Make pmt uint64.
References from_uint64().
|
inlinestatic |
Make pmt uint64.
References from_uint64().
|
inlinestatic |
Make pmt long.
References from_long().
|
inlinestatic |
Make pmt complex.
References make_rectangular().
|
inlinestatic |
Make pmt complex.
References make_rectangular().
|
inlinestatic |
Make pmt msg_accepter.
References make_msg_accepter().
PMT_API std::shared_ptr<gr::messages::msg_accepter> pmt::msg_accepter_ref | ( | const pmt_t & | obj | ) |
Return underlying msg_accepter.
Referenced by gr::messages::send().
locates nth
element of
list where the car is the 'zeroth' element.
returns the tail of list
that would be obtained by calling cdr n
times in succession.
Return a complex number constructed of the given a complex number.
Return a complex number constructed of the given real and imaginary parts.
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.
Write portable byte-serial representation of obj
to sink
.
Provide a simple string generating interface to pmt's serialize function.
Return the symbol whose name is s
.
Referenced by mp().
Return true if every element of list1
appears in list2
, and false otherwise. Comparisons are done with pmt::eqv.
If is
a symbol, return the name of the symbol as a string. Otherwise, raise the wrong_type exception.
Referenced by gr::msg_endpoint::identifier(), and rpcbasic_extractor< T, std::string >::post().
Return true if val is pmt::True, return false when val is pmt::PMT_F,.
Referenced by rpcbasic_extractor< T, bool >::post().
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().
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(), and rpcbasic_extractor< T, float >::post().
Convert pmt to float if possible.
This basically is to_double() with a type-cast; the PMT stores the value as a double in any case. Use this when strict typing is required.
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().
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.
Return the contents of position k
of tuple
. k
must be a valid index of tuple
.
item size in bytes if x
is any kind of uniform numeric vector
Return the contents of position k
of vector
. k
must be a valid index of vector
.
Write a written representation of obj
to the given port
.
Return a string representation of obj
. This is the same output as would be generated by pmt::write.