Merge commit 'v3.3.0' into upstream
[debian/gnuradio] / pmt / src / lib / pmt.h
index 6aeae773b916913f4f52a41cbfaed95919251f2b..a69d24a05b71696644c8f16a6258354e490c308d 100644 (file)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2009 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -83,19 +83,19 @@ public:
  * I.e., there is a single false value, #f.
  * ------------------------------------------------------------------------
  */
-extern const pmt_t PMT_T;      //< #t : boolean true constant
-extern const pmt_t PMT_F;      //< #f : boolean false constant
+extern const pmt_t PMT_T;      //< \#t : boolean true constant
+extern const pmt_t PMT_F;      //< \#f : boolean false constant
 
-//! Return true if obj is #t or #f, else return false.
+//! Return true if obj is \#t or \#f, else return false.
 bool pmt_is_bool(pmt_t obj);
 
-//! Return false if obj is #f, else return true.
+//! Return false if obj is \#f, else return true.
 bool pmt_is_true(pmt_t obj);
 
-//! Return true if obj is #f, else return true.
+//! Return true if obj is \#f, else return true.
 bool pmt_is_false(pmt_t obj);
 
-//! Return #f is val is false, else return #t.
+//! Return \#f is val is false, else return \#t.
 pmt_t pmt_from_bool(bool val);
 
 //! Return true if val is PMT_T, return false when val is PMT_F, 
@@ -375,20 +375,20 @@ const std::complex<double> *pmt_c64vector_elements(pmt_t v, size_t &len); //< le
 
 // Return non-const pointers to the elements
 
-void *pmt_uniform_vector_writeable_elements(pmt_t v, size_t &len);  //< works with any; len is in bytes
-
-uint8_t  *pmt_u8vector_writeable_elements(pmt_t v, size_t &len);  //< len is in elements
-int8_t   *pmt_s8vector_writeable_elements(pmt_t v, size_t &len);  //< len is in elements
-uint16_t *pmt_u16vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-int16_t  *pmt_s16vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-uint32_t *pmt_u32vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-int32_t  *pmt_s32vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-uint64_t *pmt_u64vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-int64_t  *pmt_s64vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-float    *pmt_f32vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-double   *pmt_f64vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-std::complex<float>  *pmt_c32vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
-std::complex<double> *pmt_c64vector_writeable_elements(pmt_t v, size_t &len); //< len is in elements
+void *pmt_uniform_vector_writable_elements(pmt_t v, size_t &len);  //< works with any; len is in bytes
+
+uint8_t  *pmt_u8vector_writable_elements(pmt_t v, size_t &len);  //< len is in elements
+int8_t   *pmt_s8vector_writable_elements(pmt_t v, size_t &len);  //< len is in elements
+uint16_t *pmt_u16vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+int16_t  *pmt_s16vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+uint32_t *pmt_u32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+int32_t  *pmt_s32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+uint64_t *pmt_u64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+int64_t  *pmt_s64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+float    *pmt_f32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+double   *pmt_f64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+std::complex<float>  *pmt_c32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+std::complex<double> *pmt_c64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
 
 /*
  * ------------------------------------------------------------------------
@@ -457,7 +457,7 @@ bool pmt_eq(pmt_t x, pmt_t y);
  * <pre>
  * 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 \#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).
@@ -483,7 +483,7 @@ size_t pmt_length(pmt_t v);
  *  and return that pair.
  *
  * \p alist (for "association list") must be a list of pairs.  If no pair
- * in \p alist has \p obj as its car then #f is returned.
+ * in \p alist has \p obj as its car then \#f is returned.
  * Uses pmt_eq to compare \p obj with car fields of the pairs in \p alist.
  */
 pmt_t pmt_assq(pmt_t obj, pmt_t alist);
@@ -493,7 +493,7 @@ pmt_t pmt_assq(pmt_t obj, pmt_t alist);
  *  and return that pair.
  *
  * \p alist (for "association list") must be a list of pairs.  If no pair
- * in \p alist has \p obj as its car then #f is returned.
+ * in \p alist has \p obj as its car then \#f is returned.
  * Uses pmt_eqv to compare \p obj with car fields of the pairs in \p alist.
  */
 pmt_t pmt_assv(pmt_t obj, pmt_t alist);
@@ -503,7 +503,7 @@ pmt_t pmt_assv(pmt_t obj, pmt_t alist);
  *  and return that pair.
  *
  * \p alist (for "association list") must be a list of pairs.  If no pair
- * in \p alist has \p obj as its car then #f is returned.
+ * in \p alist has \p obj as its car then \#f is returned.
  * Uses pmt_equal to compare \p obj with car fields of the pairs in \p alist.
  */
 pmt_t pmt_assoc(pmt_t obj, pmt_t alist);
@@ -553,21 +553,21 @@ pmt_t pmt_nthcdr(size_t n, pmt_t list);
 
 /*!
  * \brief Return the first sublist of \p list whose car is \p obj.
- * If \p obj does not occur in \p list, then #f is returned.
+ * If \p obj does not occur in \p list, then \#f is returned.
  * pmt_memq use pmt_eq to compare \p obj with the elements of \p list.
  */
 pmt_t pmt_memq(pmt_t obj, pmt_t list);
 
 /*!
  * \brief Return the first sublist of \p list whose car is \p obj.
- * If \p obj does not occur in \p list, then #f is returned.
+ * If \p obj does not occur in \p list, then \#f is returned.
  * pmt_memv use pmt_eqv to compare \p obj with the elements of \p list.
  */
 pmt_t pmt_memv(pmt_t obj, pmt_t list);
 
 /*!
  * \brief Return the first sublist of \p list whose car is \p obj.
- * If \p obj does not occur in \p list, then #f is returned.
+ * If \p obj does not occur in \p list, then \#f is returned.
  * pmt_member use pmt_equal to compare \p obj with the elements of \p list.
  */
 pmt_t pmt_member(pmt_t obj, pmt_t list);
@@ -598,6 +598,23 @@ pmt_t pmt_list3(pmt_t x1, pmt_t x2, pmt_t x3);
  */
 pmt_t pmt_list4(pmt_t x1, pmt_t x2, pmt_t x3, pmt_t x4);
 
+/*!
+ * \brief Return a list of length 5 containing \p x1, \p x2, \p x3, \p x4, \p x5
+ */
+pmt_t pmt_list5(pmt_t x1, pmt_t x2, pmt_t x3, pmt_t x4, pmt_t x5);
+
+/*!
+ * \brief Return a list of length 6 containing \p x1, \p x2, \p x3, \p x4, \p
+ * x5, \p x6
+ */
+pmt_t pmt_list6(pmt_t x1, pmt_t x2, pmt_t x3, pmt_t x4, pmt_t x5, pmt_t x6);
+
+/*!
+ * \brief Return \p list with \p item added to it.
+ */
+pmt_t pmt_list_add(pmt_t list, pmt_t item);
+
+
 /*
  * ------------------------------------------------------------------------
  *                          read / write