summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.swig15
-rw-r--r--Makefile.swig.gen.t5
-rw-r--r--config/grc_gnuradio_core.m46
-rw-r--r--gnuradio-core/src/lib/swig/Makefile.swig.gen30
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio.i4
-rw-r--r--gnuradio-core/src/lib/swig/swig_doc.i26292
-rw-r--r--gnuradio-core/src/lib/swig/swig_doc.py195
-rw-r--r--gnuradio-core/src/python/gnuradio/Makefile.am2
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/Makefile.am41
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/__init__.py0
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/__init__.py62
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/base.py198
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/doxyindex.py216
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/Doxyfile1551
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc29
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h23
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/aadvark_8cc.xml88
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/aadvark_8h.xml72
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/classAadvark.xml86
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/combine.xslt15
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/compound.xsd814
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/index.xml17
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/index.xsd66
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/__init__.py7
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/compound.py503
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/compoundsuper.py8342
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/index.py77
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/indexsuper.py523
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/doxyxml/text.py36
-rw-r--r--gnuradio-core/src/python/gnuradio/utils/run_tests.in16
-rw-r--r--gr-atsc/src/lib/Makefile.swig.gen5
-rw-r--r--gr-audio-alsa/src/Makefile.swig.gen5
-rw-r--r--gr-audio-oss/src/Makefile.swig.gen5
-rw-r--r--gr-cvsd-vocoder/src/lib/Makefile.swig.gen5
-rw-r--r--gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen5
-rw-r--r--gr-msdd6000/src/Makefile.swig.gen166
-rw-r--r--gr-noaa/swig/Makefile.swig.gen5
-rw-r--r--gr-pager/swig/Makefile.swig.gen5
-rw-r--r--gr-qtgui/src/lib/Makefile.swig.gen5
-rw-r--r--gr-radio-astronomy/src/lib/Makefile.swig.gen5
-rw-r--r--gr-trellis/src/lib/Makefile.swig.gen5
-rw-r--r--gr-usrp/src/Makefile.swig.gen5
-rw-r--r--gr-usrp2/src/Makefile.swig.gen5
-rw-r--r--gr-video-sdl/src/Makefile.swig.gen5
-rw-r--r--usrp/host/swig/Makefile.swig.gen5
45 files changed, 39477 insertions, 90 deletions
diff --git a/Makefile.swig b/Makefile.swig
index 9e14835e5..f4ef3de89 100644
--- a/Makefile.swig
+++ b/Makefile.swig
@@ -71,6 +71,21 @@ STD_SWIG_CXX_FLAGS = @swig_CXXFLAGS@
SUFFIXES = .i
+## Create the swig interface file swig_doc.i containing docstring information.
+
+$(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i: $(top_srcdir)/docs/doxygen/html/index.html
+ $(PYTHON) $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.py $(top_srcdir)/docs/doxygen/xml/ $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
+
+## Make sure the doxygen docs are generated
+
+$(top_srcdir)/docs/doxygen/html/index.html:
+ docs_prep
+ @DOXYGEN@
+
+docs_prep:
+ $(MKDIR_P) html
+ $(MKDIR_P) xml
+
## Create $(srcdir)/Makefile.swig.gen, containing all of the rules
## for running SWIG to generate or re-generate outputs. SWIG file
## names are to be defined in TOP_SWIG_IFILES, and must include the
diff --git a/Makefile.swig.gen.t b/Makefile.swig.gen.t
index c15a81721..82ebe6090 100644
--- a/Makefile.swig.gen.t
+++ b/Makefile.swig.gen.t
@@ -107,11 +107,12 @@ _@NAME@_la_CXXFLAGS = \
## Entry rule for running SWIG
-@NAME@.h @NAME@.py @NAME@.cc: @NAME@.i
+@NAME@.h @NAME@.py @NAME@.cc: @NAME@.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/config/grc_gnuradio_core.m4 b/config/grc_gnuradio_core.m4
index 269634324..a116b882c 100644
--- a/config/grc_gnuradio_core.m4
+++ b/config/grc_gnuradio_core.m4
@@ -104,12 +104,16 @@ AC_DEFUN([GRC_GNURADIO_CORE],[
gnuradio-core/src/python/gnuradio/gru/Makefile \
gnuradio-core/src/python/gnuradio/gruimpl/Makefile \
gnuradio-core/src/python/gnuradio/vocoder/Makefile \
+ gnuradio-core/src/python/gnuradio/utils/run_tests \
+ gnuradio-core/src/python/gnuradio/utils/Makefile \
gnuradio-core/src/tests/Makefile \
gnuradio-core/src/utils/Makefile \
])
GRC_BUILD_CONDITIONAL(gnuradio-core, [
dnl run_tests is created from run_tests.in. Make it executable.
- AC_CONFIG_COMMANDS([run_tests_core],[chmod +x gnuradio-core/src/python/gnuradio/gr/run_tests])
+ AC_CONFIG_COMMANDS([run_tests_core],[chmod +x gnuradio-core/src/python/gnuradio/gr/run_tests]) \
+ AC_CONFIG_COMMANDS([run_tests_utils],[chmod +x gnuradio-core/src/python/gnuradio/utils/run_tests])
])
+
])
diff --git a/gnuradio-core/src/lib/swig/Makefile.swig.gen b/gnuradio-core/src/lib/swig/Makefile.swig.gen
index e24ba5a96..2f02b5164 100644
--- a/gnuradio-core/src/lib/swig/Makefile.swig.gen
+++ b/gnuradio-core/src/lib/swig/Makefile.swig.gen
@@ -107,11 +107,12 @@ gnuradio_swig_py_runtime_python_PYTHON = \
## Entry rule for running SWIG
-gnuradio_swig_py_runtime.h gnuradio_swig_py_runtime.py gnuradio_swig_py_runtime.cc: gnuradio_swig_py_runtime.i
+gnuradio_swig_py_runtime.h gnuradio_swig_py_runtime.py gnuradio_swig_py_runtime.cc: gnuradio_swig_py_runtime.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
@@ -366,11 +367,12 @@ gnuradio_swig_py_general_python_PYTHON = \
## Entry rule for running SWIG
-gnuradio_swig_py_general.h gnuradio_swig_py_general.py gnuradio_swig_py_general.cc: gnuradio_swig_py_general.i
+gnuradio_swig_py_general.h gnuradio_swig_py_general.py gnuradio_swig_py_general.cc: gnuradio_swig_py_general.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
@@ -625,11 +627,12 @@ gnuradio_swig_py_gengen_python_PYTHON = \
## Entry rule for running SWIG
-gnuradio_swig_py_gengen.h gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.cc: gnuradio_swig_py_gengen.i
+gnuradio_swig_py_gengen.h gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.cc: gnuradio_swig_py_gengen.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
@@ -884,11 +887,12 @@ gnuradio_swig_py_filter_python_PYTHON = \
## Entry rule for running SWIG
-gnuradio_swig_py_filter.h gnuradio_swig_py_filter.py gnuradio_swig_py_filter.cc: gnuradio_swig_py_filter.i
+gnuradio_swig_py_filter.h gnuradio_swig_py_filter.py gnuradio_swig_py_filter.cc: gnuradio_swig_py_filter.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
@@ -1143,11 +1147,12 @@ gnuradio_swig_py_io_python_PYTHON = \
## Entry rule for running SWIG
-gnuradio_swig_py_io.h gnuradio_swig_py_io.py gnuradio_swig_py_io.cc: gnuradio_swig_py_io.i
+gnuradio_swig_py_io.h gnuradio_swig_py_io.py gnuradio_swig_py_io.cc: gnuradio_swig_py_io.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
@@ -1402,11 +1407,12 @@ gnuradio_swig_py_hier_python_PYTHON = \
## Entry rule for running SWIG
-gnuradio_swig_py_hier.h gnuradio_swig_py_hier.py gnuradio_swig_py_hier.cc: gnuradio_swig_py_hier.i
+gnuradio_swig_py_hier.h gnuradio_swig_py_hier.py gnuradio_swig_py_hier.cc: gnuradio_swig_py_hier.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gnuradio-core/src/lib/swig/gnuradio.i b/gnuradio-core/src/lib/swig/gnuradio.i
index 7d0241f1c..275467c0e 100644
--- a/gnuradio-core/src/lib/swig/gnuradio.i
+++ b/gnuradio-core/src/lib/swig/gnuradio.i
@@ -34,7 +34,9 @@
#include <stddef.h> // size_t
%}
-%feature("autodoc","1");
+%include <swig_doc.i>
+
+// %feature("autodoc","1");
// local file
%include <gr_shared_ptr.i>
diff --git a/gnuradio-core/src/lib/swig/swig_doc.i b/gnuradio-core/src/lib/swig/swig_doc.i
new file mode 100644
index 000000000..e74f762f7
--- /dev/null
+++ b/gnuradio-core/src/lib/swig/swig_doc.i
@@ -0,0 +1,26292 @@
+%feature("docstring") gr_py_msg_queue__insert_tail "Insert message at tail of queue.
+
+Block if queue if full.
+
+Params: (msg)"
+
+%feature("docstring") gr_py_msg_queue__delete_head "Delete message from head of queue and return it. Block if no message is available.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_bit_timing_loop "ATSC BitTimingLoop3
+
+This class accepts a single real input and produces two outputs, the raw symbol (float) and the tag (atsc_syminfo)."
+
+%feature("docstring") atsc_bit_timing_loop::atsc_bit_timing_loop "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_bit_timing_loop::work "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_bit_timing_loop::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_bit_timing_loop::~atsc_bit_timing_loop "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_bit_timing_loop::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") atsc_bit_timing_loop::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") atsc_bit_timing_loop::set_mu "
+
+Params: (a_mu)"
+
+%feature("docstring") atsc_bit_timing_loop::set_no_update "
+
+Params: (a_no_update)"
+
+%feature("docstring") atsc_bit_timing_loop::set_loop_filter_tap "
+
+Params: (tap)"
+
+%feature("docstring") atsc_bit_timing_loop::set_timing_rate "
+
+Params: (rate)"
+
+%feature("docstring") atsc_make_bit_timing_loop "Creates a bit_timing_loop block.
+
+ATSC BitTimingLoop3
+
+This class accepts a single real input and produces two outputs, the raw symbol (float) and the tag (atsc_syminfo).
+
+Params: (NONE)"
+
+%feature("docstring") atsc_deinterleaver "Deinterleave RS encoded ATSC data ( atsc_mpeg_packet_rs_encoded --> atsc_mpeg_packet_rs_encoded)
+
+input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_rs_encoded."
+
+%feature("docstring") atsc_deinterleaver::atsc_deinterleaver "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_deinterleaver::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_deinterleaver::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_deinterleaver "Creates a deinterleaver block.
+
+Deinterleave RS encoded ATSC data ( atsc_mpeg_packet_rs_encoded --> atsc_mpeg_packet_rs_encoded)
+
+input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_rs_encoded.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_depad "depad mpeg ts packets from 256 byte atsc_mpeg_packet to 188 byte char
+
+input: atsc_mpeg_packet; output: unsigned char"
+
+%feature("docstring") atsc_depad::atsc_depad "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_depad::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_depad::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_depad "Creates a depad block.
+
+depad mpeg ts packets from 256 byte atsc_mpeg_packet to 188 byte char
+
+input: atsc_mpeg_packet; output: unsigned char
+
+Params: (NONE)"
+
+%feature("docstring") atsc_derandomizer "\"dewhiten\" incoming mpeg transport stream packets
+
+input: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet;"
+
+%feature("docstring") atsc_derandomizer::atsc_derandomizer "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_derandomizer::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_derandomizer::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_derandomizer "Creates a derandomizer block.
+
+\"dewhiten\" incoming mpeg transport stream packets
+
+input: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet;
+
+Params: (NONE)"
+
+%feature("docstring") atsc_ds_to_softds "Debug glue routine (atsc_data_segment --> atsc_soft_data_segment)
+
+input: atsc_data_segment; output: atsc_soft_data_segment."
+
+%feature("docstring") atsc_ds_to_softds::atsc_ds_to_softds "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_ds_to_softds::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_ds_to_softds::map_to_soft_symbols "
+
+Params: (out, in)"
+
+%feature("docstring") atsc_ds_to_softds::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_ds_to_softds "Creates a ds_to_softds block.
+
+Debug glue routine (atsc_data_segment --> atsc_soft_data_segment)
+
+input: atsc_data_segment; output: atsc_soft_data_segment.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_equalizer "ATSC equalizer (float,syminfo --> float,syminfo)
+
+first inputs are data samples, second inputs are tags. first outputs are equalized data samples, second outputs are tags."
+
+%feature("docstring") atsc_equalizer::atsc_equalizer "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_equalizer::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") atsc_equalizer::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_equalizer::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_equalizer::~atsc_equalizer "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_equalizer "Creates a equalizer block.
+
+ATSC equalizer (float,syminfo --> float,syminfo)
+
+first inputs are data samples, second inputs are tags. first outputs are equalized data samples, second outputs are tags.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_field_sync_demux "ATSC Field Sync Demux.
+
+This class accepts 1 stream of floats (data), and 1 stream of tags (syminfo). * It outputs one stream of atsc_soft_data_segment packets"
+
+%feature("docstring") atsc_field_sync_demux::atsc_field_sync_demux "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_field_sync_demux::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") atsc_field_sync_demux::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") atsc_field_sync_demux::work "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_field_sync_demux::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_field_sync_demux "Creates a field_sync_demux block.
+
+ATSC Field Sync Demux.
+
+This class accepts 1 stream of floats (data), and 1 stream of tags (syminfo). * It outputs one stream of atsc_soft_data_segment packets
+
+Params: (NONE)"
+
+%feature("docstring") atsc_field_sync_mux "Insert ATSC Field Syncs as required (atsc_data_segment --> atsc_data_segment)
+
+input: atsc_data_segment; output: atsc_data_segment."
+
+%feature("docstring") atsc_field_sync_mux::atsc_field_sync_mux "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_field_sync_mux::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") atsc_field_sync_mux::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_field_sync_mux::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_field_sync_mux "Creates a field_sync_mux block.
+
+Insert ATSC Field Syncs as required (atsc_data_segment --> atsc_data_segment)
+
+input: atsc_data_segment; output: atsc_data_segment.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_fpll "ATSC FPLL (2nd Version)
+
+A/D --> GrFIRfilterFFF ----> GrAtscFPLL ---->
+
+We use GrFIRfilterFFF to bandpass filter the signal of interest.
+
+This class accepts a single real input and produces a single real output"
+
+%feature("docstring") atsc_fpll::atsc_fpll "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_fpll::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_fpll::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_fpll::initialize "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_fpll "Creates a fpll block.
+
+ATSC FPLL (2nd Version)
+
+A/D --> GrFIRfilterFFF ----> GrAtscFPLL ---->
+
+We use GrFIRfilterFFF to bandpass filter the signal of interest.
+
+This class accepts a single real input and produces a single real output
+
+Params: (NONE)"
+
+%feature("docstring") atsc_fs_checker "ATSC field sync checker (float,syminfo --> float,syminfo)
+
+first output is delayed version of input. second output is set of tags, one-for-one with first output."
+
+%feature("docstring") atsc_fs_checker::atsc_fs_checker "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_fs_checker::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_fs_checker::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_fs_checker::~atsc_fs_checker "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_fs_checker "Creates a fs_checker block.
+
+ATSC field sync checker (float,syminfo --> float,syminfo)
+
+first output is delayed version of input. second output is set of tags, one-for-one with first output.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_interleaver "Interleave RS encoded ATSC data ( atsc_mpeg_packet_rs_encoded --> atsc_mpeg_packet_rs_encoded)*
+
+input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_rs_encoded."
+
+%feature("docstring") atsc_interleaver::atsc_interleaver "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_interleaver::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_interleaver::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_interleaver "Creates a interleaver block.
+
+Interleave RS encoded ATSC data ( atsc_mpeg_packet_rs_encoded --> atsc_mpeg_packet_rs_encoded)*
+
+input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_rs_encoded.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_pad "pad mpeg ts packets from 188 byte char to to 256 byte atsc_mpeg_packet
+
+input: unsigned char; output: atsc_mpeg_packet"
+
+%feature("docstring") atsc_pad::atsc_pad "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_pad::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") atsc_pad::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_pad::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_pad "Creates a pad block.
+
+pad mpeg ts packets from 188 byte char to to 256 byte atsc_mpeg_packet
+
+input: unsigned char; output: atsc_mpeg_packet
+
+Params: (NONE)"
+
+%feature("docstring") atsc_randomizer "\"Whiten\" incoming mpeg transport stream packets
+
+input: atsc_mpeg_packet; output: atsc_mpeg_packet_no_sync"
+
+%feature("docstring") atsc_randomizer::atsc_randomizer "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_randomizer::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_randomizer::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_randomizer "Creates a randomizer block.
+
+\"Whiten\" incoming mpeg transport stream packets
+
+input: atsc_mpeg_packet; output: atsc_mpeg_packet_no_sync
+
+Params: (NONE)"
+
+%feature("docstring") atsc_rs_decoder "Reed-Solomon decoder for ATSC
+
+input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_no_sync."
+
+%feature("docstring") atsc_rs_decoder::atsc_rs_decoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_rs_decoder::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_rs_decoder::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_rs_decoder "Creates a rs_decoder block.
+
+Reed-Solomon decoder for ATSC
+
+input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_no_sync.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_rs_encoder "Reed-Solomon encoder for ATSC
+
+input: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet_rs_encoded."
+
+%feature("docstring") atsc_rs_encoder::atsc_rs_encoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_rs_encoder::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_rs_encoder::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_rs_encoder "Creates a rs_encoder block.
+
+Reed-Solomon encoder for ATSC
+
+input: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet_rs_encoded.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_trellis_encoder "ATSC 12-way interleaved trellis encoder (atsc_mpeg_packet_rs_encoded --> atsc_data_segment)
+
+input: atsc_mpeg_packet_rs_encoded; output: atsc_data_segment."
+
+%feature("docstring") atsc_trellis_encoder::atsc_trellis_encoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_trellis_encoder::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_trellis_encoder::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_trellis_encoder "Creates a trellis_encoder block.
+
+ATSC 12-way interleaved trellis encoder (atsc_mpeg_packet_rs_encoded --> atsc_data_segment)
+
+input: atsc_mpeg_packet_rs_encoded; output: atsc_data_segment.
+
+Params: (NONE)"
+
+%feature("docstring") atsc_viterbi_decoder "ATSC 12-way interleaved viterbi decoder (atsc_soft_data_segment --> atsc_mpeg_packet_rs_encoded)
+
+input: atsc_soft_data_segment; output: atsc_mpeg_packet_rs_encoded."
+
+%feature("docstring") atsc_viterbi_decoder::atsc_viterbi_decoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_viterbi_decoder::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") atsc_viterbi_decoder::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsc_make_viterbi_decoder "Creates a viterbi_decoder block.
+
+ATSC 12-way interleaved viterbi decoder (atsc_soft_data_segment --> atsc_mpeg_packet_rs_encoded)
+
+input: atsc_soft_data_segment; output: atsc_mpeg_packet_rs_encoded.
+
+Params: (NONE)"
+
+%feature("docstring") comedi_sink_s "sink using COMEDI
+
+The sink has one input stream of signed short integers.
+
+Input samples must be in the range [-32768,32767]."
+
+%feature("docstring") comedi_sink_s::output_error_msg "
+
+Params: (msg, err)"
+
+%feature("docstring") comedi_sink_s::bail "
+
+Params: (msg, err)"
+
+%feature("docstring") comedi_sink_s::comedi_sink_s "
+
+Params: (sampling_freq, device_name)"
+
+%feature("docstring") comedi_sink_s::~comedi_sink_s "
+
+Params: (NONE)"
+
+%feature("docstring") comedi_sink_s::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") comedi_sink_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") comedi_make_sink_s "Creates a sink_s block.
+
+sink using COMEDI
+
+The sink has one input stream of signed short integers.
+
+Input samples must be in the range [-32768,32767].
+
+Params: (sampling_freq, device_name)"
+
+%feature("docstring") comedi_source_s "source using COMEDI
+
+The source has one to many input stream of signed short integers.
+
+Output samples will be in the range [-32768,32767]."
+
+%feature("docstring") comedi_source_s::output_error_msg "
+
+Params: (msg, err)"
+
+%feature("docstring") comedi_source_s::bail "
+
+Params: (msg, err)"
+
+%feature("docstring") comedi_source_s::comedi_source_s "
+
+Params: (sampling_freq, device_name)"
+
+%feature("docstring") comedi_source_s::~comedi_source_s "
+
+Params: (NONE)"
+
+%feature("docstring") comedi_source_s::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") comedi_source_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") comedi_make_source_s "Creates a source_s block.
+
+source using COMEDI
+
+The source has one to many input stream of signed short integers.
+
+Output samples will be in the range [-32768,32767].
+
+Params: (sampling_freq, device_name)"
+
+%feature("docstring") gcell_fft_vcc "Compute forward or reverse FFT. complex vector in / complex vector out.
+
+Concrete class that uses gcell to offload FFT to SPEs."
+
+%feature("docstring") gcell_fft_vcc::gcell_fft_vcc "
+
+Params: (fft_size, forward, window, shift)"
+
+%feature("docstring") gcell_fft_vcc::~gcell_fft_vcc "
+
+Params: (NONE)"
+
+%feature("docstring") gcell_fft_vcc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gcell_make_fft_vcc "Creates a fft_vcc block.
+
+Compute forward or reverse FFT. complex vector in / complex vector out.
+
+Concrete class that uses gcell to offload FFT to SPEs.
+
+Params: (fft_size, forward, window, shift)"
+
+%feature("docstring") gr_add_cc "output = sum (input_0, input_1, ...)
+
+Add across all input streams."
+
+%feature("docstring") gr_add_cc::gr_add_cc "
+
+Params: (vlen)"
+
+%feature("docstring") gr_add_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_cc "Creates a add_cc block.
+
+output = sum (input_0, input_1, ...)
+
+Add across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_add_const_cc "output = input + constant"
+
+%feature("docstring") gr_add_const_cc::gr_add_const_cc "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_cc::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_cc::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_cc "Creates a add_const_cc block.
+
+output = input + constant
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ff "output = input + constant"
+
+%feature("docstring") gr_add_const_ff::gr_add_const_ff "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ff::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_ff::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_ff "Creates a add_const_ff block.
+
+output = input + constant
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ii "output = input + constant"
+
+%feature("docstring") gr_add_const_ii::gr_add_const_ii "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ii::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_ii::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_ii "Creates a add_const_ii block.
+
+output = input + constant
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_sf "output = input + constant"
+
+%feature("docstring") gr_add_const_sf::gr_add_const_sf "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_sf::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_sf::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_sf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_sf "Creates a add_const_sf block.
+
+output = input + constant
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ss "output = input + constant"
+
+%feature("docstring") gr_add_const_ss::gr_add_const_ss "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ss::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_ss::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_ss "Creates a add_const_ss block.
+
+output = input + constant
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vcc "output vector = input vector + constant vector"
+
+%feature("docstring") gr_add_const_vcc::gr_add_const_vcc "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vcc::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_vcc::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vcc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_vcc "Creates a add_const_vcc block.
+
+output vector = input vector + constant vector
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vff "output vector = input vector + constant vector"
+
+%feature("docstring") gr_add_const_vff::gr_add_const_vff "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vff::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_vff::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_vff "Creates a add_const_vff block.
+
+output vector = input vector + constant vector
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vii "output vector = input vector + constant vector"
+
+%feature("docstring") gr_add_const_vii::gr_add_const_vii "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vii::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_vii::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_vii "Creates a add_const_vii block.
+
+output vector = input vector + constant vector
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vss "output vector = input vector + constant vector"
+
+%feature("docstring") gr_add_const_vss::gr_add_const_vss "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vss::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_add_const_vss::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_add_const_vss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_const_vss "Creates a add_const_vss block.
+
+output vector = input vector + constant vector
+
+Params: (k)"
+
+%feature("docstring") gr_add_ff "output = sum (input_0, input_1, ...)
+
+Add across all input streams."
+
+%feature("docstring") gr_add_ff::gr_add_ff "
+
+Params: (vlen)"
+
+%feature("docstring") gr_add_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_ff "Creates a add_ff block.
+
+output = sum (input_0, input_1, ...)
+
+Add across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_add_ii "output = sum (input_0, input_1, ...)
+
+Add across all input streams."
+
+%feature("docstring") gr_add_ii::gr_add_ii "
+
+Params: (vlen)"
+
+%feature("docstring") gr_add_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_ii "Creates a add_ii block.
+
+output = sum (input_0, input_1, ...)
+
+Add across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_add_ss "output = sum (input_0, input_1, ...)
+
+Add across all input streams."
+
+%feature("docstring") gr_add_ss::gr_add_ss "
+
+Params: (vlen)"
+
+%feature("docstring") gr_add_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_add_ss "Creates a add_ss block.
+
+output = sum (input_0, input_1, ...)
+
+Add across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_additive_scrambler_bb "Scramble an input stream using an LFSR. This block works on the LSB only of the input data stream, i.e., on an \"unpacked binary\" stream, and produces the same format on its output.
+
+
+The scrambler works by XORing the incoming bit stream by the output of the LFSR. Optionally, after 'count' bits have been processed, the shift register is reset to the seed value. This allows processing fixed length vectors of samples."
+
+%feature("docstring") gr_additive_scrambler_bb::gr_additive_scrambler_bb "
+
+Params: (mask, seed, len, count)"
+
+%feature("docstring") gr_additive_scrambler_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_additive_scrambler_bb "Creates a additive_scrambler_bb block.
+
+Scramble an input stream using an LFSR. This block works on the LSB only of the input data stream, i.e., on an \"unpacked binary\" stream, and produces the same format on its output.
+
+
+The scrambler works by XORing the incoming bit stream by the output of the LFSR. Optionally, after 'count' bits have been processed, the shift register is reset to the seed value. This allows processing fixed length vectors of samples.
+
+Params: (mask, seed, len, count)"
+
+%feature("docstring") gr_agc2_cc "high performance Automatic Gain Control class
+
+For Power the absolute value of the complex number is used."
+
+%feature("docstring") gr_agc2_cc::gr_agc2_cc "
+
+Params: (attack_rate, decay_rate, reference, gain, max_gain)"
+
+%feature("docstring") gr_agc2_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_agc2_cc "Creates a agc2_cc block.
+
+high performance Automatic Gain Control class
+
+For Power the absolute value of the complex number is used.
+
+Params: (attack_rate, decay_rate, reference, gain, max_gain)"
+
+%feature("docstring") gr_agc2_ff "high performance Automatic Gain Control class
+
+Power is approximated by absolute value"
+
+%feature("docstring") gr_agc2_ff::gr_agc2_ff "
+
+Params: (attack_rate, decay_rate, reference, gain, max_gain)"
+
+%feature("docstring") gr_agc2_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_agc2_ff "Creates a agc2_ff block.
+
+high performance Automatic Gain Control class
+
+Power is approximated by absolute value
+
+Params: (attack_rate, decay_rate, reference, gain, max_gain)"
+
+%feature("docstring") gr_agc_cc "high performance Automatic Gain Control class
+
+For Power the absolute value of the complex number is used."
+
+%feature("docstring") gr_agc_cc::gr_agc_cc "
+
+Params: (rate, reference, gain, max_gain)"
+
+%feature("docstring") gr_agc_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_agc_cc "Creates a agc_cc block.
+
+high performance Automatic Gain Control class
+
+For Power the absolute value of the complex number is used.
+
+Params: (rate, reference, gain, max_gain)"
+
+%feature("docstring") gr_agc_ff "high performance Automatic Gain Control class
+
+Power is approximated by absolute value"
+
+%feature("docstring") gr_agc_ff::gr_agc_ff "
+
+Params: (rate, reference, gain, max_gain)"
+
+%feature("docstring") gr_agc_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_agc_ff "Creates a agc_ff block.
+
+high performance Automatic Gain Control class
+
+Power is approximated by absolute value
+
+Params: (rate, reference, gain, max_gain)"
+
+
+
+%feature("docstring") gr_align_on_samplenumbers_ss::gr_align_on_samplenumbers_ss "
+
+Params: (nchan, align_interval)"
+
+%feature("docstring") gr_align_on_samplenumbers_ss::~gr_align_on_samplenumbers_ss "
+
+Params: (NONE)"
+
+%feature("docstring") gr_align_on_samplenumbers_ss::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_align_on_samplenumbers_ss::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_align_on_samplenumbers_ss::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_align_on_samplenumbers_ss "Creates a align_on_samplenumbers_ss block.
+
+
+
+Params: (nchan, align_interval)"
+
+%feature("docstring") gr_and_bb "output = input_0 & input_1 & , ... & input_N)
+
+bitwise boolean and across all input streams."
+
+%feature("docstring") gr_and_bb::gr_and_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_and_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_and_bb "Creates a and_bb block.
+
+output = input_0 & input_1 & , ... & input_N)
+
+bitwise boolean and across all input streams.
+
+Params: (NONE)"
+
+%feature("docstring") gr_and_const_bb "output_N = input_N & value
+
+bitwise boolean and of const to the data stream."
+
+%feature("docstring") gr_and_const_bb::gr_and_const_bb "
+
+Params: (k)"
+
+%feature("docstring") gr_and_const_bb::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_and_const_bb::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_and_const_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_and_const_bb "Creates a and_const_bb block.
+
+output_N = input_N & value
+
+bitwise boolean and of const to the data stream.
+
+Params: (k)"
+
+%feature("docstring") gr_and_const_ii "output_N = input_N & value
+
+bitwise boolean and of const to the data stream."
+
+%feature("docstring") gr_and_const_ii::gr_and_const_ii "
+
+Params: (k)"
+
+%feature("docstring") gr_and_const_ii::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_and_const_ii::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_and_const_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_and_const_ii "Creates a and_const_ii block.
+
+output_N = input_N & value
+
+bitwise boolean and of const to the data stream.
+
+Params: (k)"
+
+%feature("docstring") gr_and_const_ss "output_N = input_N & value
+
+bitwise boolean and of const to the data stream."
+
+%feature("docstring") gr_and_const_ss::gr_and_const_ss "
+
+Params: (k)"
+
+%feature("docstring") gr_and_const_ss::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_and_const_ss::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_and_const_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_and_const_ss "Creates a and_const_ss block.
+
+output_N = input_N & value
+
+bitwise boolean and of const to the data stream.
+
+Params: (k)"
+
+%feature("docstring") gr_and_ii "output = input_0 & input_1 & , ... & input_N)
+
+bitwise boolean and across all input streams."
+
+%feature("docstring") gr_and_ii::gr_and_ii "
+
+Params: (NONE)"
+
+%feature("docstring") gr_and_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_and_ii "Creates a and_ii block.
+
+output = input_0 & input_1 & , ... & input_N)
+
+bitwise boolean and across all input streams.
+
+Params: (NONE)"
+
+%feature("docstring") gr_and_ss "output = input_0 & input_1 & , ... & input_N)
+
+bitwise boolean and across all input streams."
+
+%feature("docstring") gr_and_ss::gr_and_ss "
+
+Params: (NONE)"
+
+%feature("docstring") gr_and_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_and_ss "Creates a and_ss block.
+
+output = input_0 & input_1 & , ... & input_N)
+
+bitwise boolean and across all input streams.
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gr_argmax_fs::gr_argmax_fs "
+
+Params: (vlen)"
+
+%feature("docstring") gr_argmax_fs::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_argmax_fs "Creates a argmax_fs block.
+
+
+
+Params: (vlen)"
+
+
+
+%feature("docstring") gr_argmax_is::gr_argmax_is "
+
+Params: (vlen)"
+
+%feature("docstring") gr_argmax_is::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_argmax_is "Creates a argmax_is block.
+
+
+
+Params: (vlen)"
+
+
+
+%feature("docstring") gr_argmax_ss::gr_argmax_ss "
+
+Params: (vlen)"
+
+%feature("docstring") gr_argmax_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_argmax_ss "Creates a argmax_ss block.
+
+
+
+Params: (vlen)"
+
+%feature("docstring") gr_bin_statistics_f "control scanning and record frequency domain statistics"
+
+%feature("docstring") gr_bin_statistics_f::gr_bin_statistics_f "
+
+Params: (vlen, msgq, tune, tune_delay, dwell_delay)"
+
+%feature("docstring") gr_bin_statistics_f::enter_init "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::enter_tune_delay "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::enter_dwell_delay "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::leave_dwell_delay "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::vlen "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::center_freq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::msgq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::reset_stats "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::accrue_stats "
+
+Params: (input)"
+
+%feature("docstring") gr_bin_statistics_f::send_stats "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::~gr_bin_statistics_f "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bin_statistics_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_bin_statistics_f "Creates a bin_statistics_f block.
+
+control scanning and record frequency domain statistics
+
+Params: (vlen, msgq, tune, tune_delay, dwell_delay)"
+
+%feature("docstring") gr_binary_slicer_fb "slice float binary symbol outputting 1 bit output
+
+x < 0 --> 0 x >= 0 --> 1"
+
+%feature("docstring") gr_binary_slicer_fb::gr_binary_slicer_fb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_binary_slicer_fb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_binary_slicer_fb "Creates a binary_slicer_fb block.
+
+slice float binary symbol outputting 1 bit output
+
+x < 0 --> 0 x >= 0 --> 1
+
+Params: (NONE)"
+
+%feature("docstring") gr_block_detail "Implementation details to support the signal processing abstraction
+
+This class contains implementation detail that should be \"out of sight\" of almost all users of GNU Radio. This decoupling also means that we can make changes to the guts without having to recompile everything."
+
+%feature("docstring") gr_block_detail::~gr_block_detail "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block_detail::ninputs "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block_detail::noutputs "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block_detail::sink_p "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block_detail::source_p "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block_detail::set_done "
+
+Params: (done)"
+
+%feature("docstring") gr_block_detail::done "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block_detail::set_input "
+
+Params: (which, reader)"
+
+%feature("docstring") gr_block_detail::input "
+
+Params: (which)"
+
+%feature("docstring") gr_block_detail::set_output "
+
+Params: (which, buffer)"
+
+%feature("docstring") gr_block_detail::output "
+
+Params: (which)"
+
+%feature("docstring") gr_block_detail::consume "Tell the scheduler of input stream were consumed.
+
+Params: (which_input, how_many_items)"
+
+%feature("docstring") gr_block_detail::consume_each "Tell the scheduler were consumed on each input stream.
+
+Params: (how_many_items)"
+
+%feature("docstring") gr_block_detail::produce "Tell the scheduler were produced on output stream .
+
+Params: (which_output, how_many_items)"
+
+%feature("docstring") gr_block_detail::produce_each "Tell the scheduler were produced on each output stream.
+
+Params: (how_many_items)"
+
+%feature("docstring") gr_block_detail::_post "Accept msg, place in queue, arrange for thread to be awakened if it's not already.
+
+Params: (msg)"
+
+%feature("docstring") gr_block_detail::gr_block_detail "
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_block_detail "Creates a block_detail block.
+
+Implementation details to support the signal processing abstraction
+
+This class contains implementation detail that should be \"out of sight\" of almost all users of GNU Radio. This decoupling also means that we can make changes to the guts without having to recompile everything.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_buffer "Single writer, multiple reader fifo."
+
+%feature("docstring") gr_buffer::~gr_buffer "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer::space_available "return number of items worth of space available for writing
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer::bufsize "return size of this buffer in items
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer::write_pointer "return pointer to write buffer.
+
+The return value points at space that can hold at least space_available() items.
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer::update_write_pointer "tell buffer that we wrote into it
+
+Params: (nitems)"
+
+%feature("docstring") gr_buffer::set_done "
+
+Params: (done)"
+
+%feature("docstring") gr_buffer::done "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer::link "Return the block that writes to this buffer.
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer::nreaders "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer::reader "
+
+Params: (index)"
+
+%feature("docstring") gr_buffer::mutex "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer::index_add "
+
+Params: (a, b)"
+
+%feature("docstring") gr_buffer::index_sub "
+
+Params: (a, b)"
+
+%feature("docstring") gr_buffer::allocate_buffer "
+
+Params: (nitems, sizeof_item)"
+
+%feature("docstring") gr_buffer::gr_buffer "constructor is private. Use gr_make_buffer to create instances.
+
+Allocate a buffer that holds at least of size .
+
+
+The total size of the buffer will be rounded up to a system dependent boundary. This is typically the system page size, but under MS windows is 64KB.
+
+Params: (nitems, sizeof_item, link)"
+
+%feature("docstring") gr_buffer::drop_reader "disassociate from this buffer
+
+Params: (reader)"
+
+%feature("docstring") gr_make_buffer "Creates a buffer block.
+
+Single writer, multiple reader fifo.
+
+Params: (nitems, sizeof_item, link)"
+
+%feature("docstring") gr_bytes_to_syms "Convert stream of bytes to stream of +/- 1 symbols
+
+input: stream of bytes; output: stream of float.
+
+This block is deprecated.
+
+The combination of gr_packed_to_unpacked_bb followed by gr_chunks_to_symbols_bf or gr_chunks_to_symbols_bc handles the general case of mapping from a stream of bytes into arbitrary float or complex symbols."
+
+%feature("docstring") gr_bytes_to_syms::gr_bytes_to_syms "
+
+Params: (NONE)"
+
+%feature("docstring") gr_bytes_to_syms::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_bytes_to_syms "Creates a bytes_to_syms block.
+
+Convert stream of bytes to stream of +/- 1 symbols
+
+input: stream of bytes; output: stream of float.
+
+This block is deprecated.
+
+The combination of gr_packed_to_unpacked_bb followed by gr_chunks_to_symbols_bf or gr_chunks_to_symbols_bc handles the general case of mapping from a stream of bytes into arbitrary float or complex symbols.
+
+Params: (NONE)"
+
+%feature("docstring") gr_channel_model "channel simulator"
+
+%feature("docstring") gr_channel_model::gr_channel_model "
+
+Params: (noise_voltage, frequency_offset, epsilon, taps, noise_seed)"
+
+%feature("docstring") gr_channel_model::set_noise_voltage "
+
+Params: (noise_voltage)"
+
+%feature("docstring") gr_channel_model::set_frequency_offset "
+
+Params: (frequency_offset)"
+
+%feature("docstring") gr_channel_model::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_channel_model::set_timing_offset "
+
+Params: (epsilon)"
+
+%feature("docstring") gr_make_channel_model "Creates a channel_model block.
+
+channel simulator
+
+Params: (noise_voltage, frequency_offset, epsilon, taps, noise_seed)"
+
+%feature("docstring") gr_char_to_float "Convert stream of chars to a stream of float."
+
+%feature("docstring") gr_char_to_float::gr_char_to_float "
+
+Params: (NONE)"
+
+%feature("docstring") gr_char_to_float::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_char_to_float "Creates a char_to_float block.
+
+Convert stream of chars to a stream of float.
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_counting_s "sink that checks if its input stream consists of a counting sequence.
+
+This sink is typically used to test the USRP \"Counting Mode\" or \"Counting mode 32 bit\"."
+
+%feature("docstring") gr_check_counting_s::gr_check_counting_s "
+
+Params: (do_32bit)"
+
+%feature("docstring") gr_check_counting_s::enter_SEARCHING "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_counting_s::enter_LOCKED "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_counting_s::right "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_counting_s::wrong "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_counting_s::right_three_times "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_counting_s::wrong_three_times "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_counting_s::log_error "
+
+Params: (expected, actual)"
+
+%feature("docstring") gr_check_counting_s::log_error_32bit "
+
+Params: (expected, actual)"
+
+%feature("docstring") gr_check_counting_s::check_32bit "
+
+Params: (noutput_items, in)"
+
+%feature("docstring") gr_check_counting_s::check_16bit "
+
+Params: (noutput_items, in)"
+
+%feature("docstring") gr_check_counting_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_check_counting_s "Creates a check_counting_s block.
+
+sink that checks if its input stream consists of a counting sequence.
+
+This sink is typically used to test the USRP \"Counting Mode\" or \"Counting mode 32 bit\".
+
+Params: (do_32bit)"
+
+%feature("docstring") gr_check_lfsr_32k_s "sink that checks if its input stream consists of a lfsr_32k sequence.
+
+This sink is typically used along with gr_lfsr_32k_source_s to test the USRP using its digital loopback mode."
+
+%feature("docstring") gr_check_lfsr_32k_s::gr_check_lfsr_32k_s "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::enter_SEARCHING "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::enter_MATCH0 "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::enter_MATCH1 "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::enter_MATCH2 "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::enter_LOCKED "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::right "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::wrong "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::right_three_times "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::wrong_three_times "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::log_error "
+
+Params: (expected, actual)"
+
+%feature("docstring") gr_check_lfsr_32k_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_check_lfsr_32k_s::ntotal "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::nright "
+
+Params: (NONE)"
+
+%feature("docstring") gr_check_lfsr_32k_s::runlength "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_check_lfsr_32k_s "Creates a check_lfsr_32k_s block.
+
+sink that checks if its input stream consists of a lfsr_32k sequence.
+
+This sink is typically used along with gr_lfsr_32k_source_s to test the USRP using its digital loopback mode.
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_bc "Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of unsigned char; output: stream of gr_complex.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_chunks_to_symbols_bc::gr_chunks_to_symbols_bc "
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_bc::D "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_bc::symbol_table "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_bc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_chunks_to_symbols_bc::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_chunks_to_symbols_bc "Creates a chunks_to_symbols_bc block.
+
+Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of unsigned char; output: stream of gr_complex.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_bf "Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of unsigned char; output: stream of float.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_chunks_to_symbols_bf::gr_chunks_to_symbols_bf "
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_bf::D "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_bf::symbol_table "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_bf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_chunks_to_symbols_bf::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_chunks_to_symbols_bf "Creates a chunks_to_symbols_bf block.
+
+Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of unsigned char; output: stream of float.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_ic "Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of int; output: stream of gr_complex.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_chunks_to_symbols_ic::gr_chunks_to_symbols_ic "
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_ic::D "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_ic::symbol_table "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_ic::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_chunks_to_symbols_ic::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_chunks_to_symbols_ic "Creates a chunks_to_symbols_ic block.
+
+Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of int; output: stream of gr_complex.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_if "Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of int; output: stream of float.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_chunks_to_symbols_if::gr_chunks_to_symbols_if "
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_if::D "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_if::symbol_table "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_if::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_chunks_to_symbols_if::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_chunks_to_symbols_if "Creates a chunks_to_symbols_if block.
+
+Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of int; output: stream of float.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_sc "Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of short; output: stream of gr_complex.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_chunks_to_symbols_sc::gr_chunks_to_symbols_sc "
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_sc::D "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_sc::symbol_table "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_sc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_chunks_to_symbols_sc::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_chunks_to_symbols_sc "Creates a chunks_to_symbols_sc block.
+
+Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of short; output: stream of gr_complex.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_sf "Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of short; output: stream of float.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_chunks_to_symbols_sf::gr_chunks_to_symbols_sf "
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_chunks_to_symbols_sf::D "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_sf::symbol_table "
+
+Params: (NONE)"
+
+%feature("docstring") gr_chunks_to_symbols_sf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_chunks_to_symbols_sf::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_chunks_to_symbols_sf "Creates a chunks_to_symbols_sf block.
+
+Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex onstellation points.in dimensions ( = 1 by default)
+
+input: stream of short; output: stream of float.
+
+out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_XY handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (symbol_table, D)"
+
+%feature("docstring") gr_clock_recovery_mm_cc "Mueller and M?ller (M&M) based clock recovery block with complex input, complex output.
+
+This implements the Mueller and M?ller (M&M) discrete-time error-tracking synchronizer. The complex version here is based on: Modified Mueller and Muller clock recovery circuit Based: G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller and Muller
+ algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033."
+
+%feature("docstring") gr_clock_recovery_mm_cc::~gr_clock_recovery_mm_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::mu "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::omega "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::gain_mu "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::gain_omega "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::set_verbose "
+
+Params: (verbose)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::set_gain_mu "
+
+Params: (gain_mu)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::set_gain_omega "
+
+Params: (gain_omega)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::set_mu "
+
+Params: (mu)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::set_omega "
+
+Params: (omega)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::gr_clock_recovery_mm_cc "
+
+Params: (omega, gain_omega, mu, gain_mu, omega_relative_limi)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::slicer_0deg "
+
+Params: (sample)"
+
+%feature("docstring") gr_clock_recovery_mm_cc::slicer_45deg "
+
+Params: (sample)"
+
+%feature("docstring") gr_make_clock_recovery_mm_cc "Creates a clock_recovery_mm_cc block.
+
+Mueller and M?ller (M&M) based clock recovery block with complex input, complex output.
+
+This implements the Mueller and M?ller (M&M) discrete-time error-tracking synchronizer. The complex version here is based on: Modified Mueller and Muller clock recovery circuit Based: G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller and Muller
+ algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
+
+Params: (omega, gain_omega, mu, gain_mu, omega_relative_limi)"
+
+%feature("docstring") gr_clock_recovery_mm_ff "Mueller and M?ller (M&M) based clock recovery block with float input, float output.
+
+This implements the Mueller and M?ller (M&M) discrete-time error-tracking synchronizer.
+
+See \"Digital Communication Receivers: Synchronization, Channel
+ Estimation and Signal Processing\" by Heinrich Meyr, Marc Moeneclaey, & Stefan Fechtel. ISBN 0-471-50275-8."
+
+%feature("docstring") gr_clock_recovery_mm_ff::~gr_clock_recovery_mm_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::mu "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::omega "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::gain_mu "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::gain_omega "
+
+Params: (NONE)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::set_gain_mu "
+
+Params: (gain_mu)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::set_gain_omega "
+
+Params: (gain_omega)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::set_mu "
+
+Params: (mu)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::set_omega "
+
+Params: (omega)"
+
+%feature("docstring") gr_clock_recovery_mm_ff::gr_clock_recovery_mm_ff "
+
+Params: (omega, gain_omega, mu, gain_mu, omega_relative_limit)"
+
+%feature("docstring") gr_make_clock_recovery_mm_ff "Creates a clock_recovery_mm_ff block.
+
+Mueller and M?ller (M&M) based clock recovery block with float input, float output.
+
+This implements the Mueller and M?ller (M&M) discrete-time error-tracking synchronizer.
+
+See \"Digital Communication Receivers: Synchronization, Channel
+ Estimation and Signal Processing\" by Heinrich Meyr, Marc Moeneclaey, & Stefan Fechtel. ISBN 0-471-50275-8.
+
+Params: (omega, gain_omega, mu, gain_mu, omega_relative_limit)"
+
+%feature("docstring") gr_cma_equalizer_cc "Implements constant modulus adaptive filter on complex stream."
+
+%feature("docstring") gr_cma_equalizer_cc::gr_cma_equalizer_cc "
+
+Params: (num_taps, modulus, mu)"
+
+%feature("docstring") gr_cma_equalizer_cc::error "
+
+Params: (out)"
+
+%feature("docstring") gr_cma_equalizer_cc::update_tap "
+
+Params: (tap, in)"
+
+%feature("docstring") gr_make_cma_equalizer_cc "Creates a cma_equalizer_cc block.
+
+Implements constant modulus adaptive filter on complex stream.
+
+Params: (num_taps, modulus, mu)"
+
+%feature("docstring") gr_complex_to_arg "complex in, angle out (float)"
+
+%feature("docstring") gr_complex_to_arg::gr_complex_to_arg "
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_arg::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_complex_to_arg "Creates a complex_to_arg block.
+
+complex in, angle out (float)
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_float "convert a stream of gr_complex to 1 or 2 streams of float"
+
+%feature("docstring") gr_complex_to_float::gr_complex_to_float "
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_float::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_complex_to_float "Creates a complex_to_float block.
+
+convert a stream of gr_complex to 1 or 2 streams of float
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_imag "complex in, imaginary out (float)"
+
+%feature("docstring") gr_complex_to_imag::gr_complex_to_imag "
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_imag::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_complex_to_imag "Creates a complex_to_imag block.
+
+complex in, imaginary out (float)
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_interleaved_short "Convert stream of complex to a stream of interleaved shorts."
+
+%feature("docstring") gr_complex_to_interleaved_short::gr_complex_to_interleaved_short "
+
+Params: (NONE)"
+
+%feature("docstring") gr_complex_to_interleaved_short::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_complex_to_interleaved_short "Creates a complex_to_interleaved_short block.
+
+Convert stream of complex to a stream of interleaved shorts.
+
+Params: (NONE)"
+
+%feature("docstring") gr_complex_to_mag "complex in, magnitude out (float)"
+
+%feature("docstring") gr_complex_to_mag::gr_complex_to_mag "
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_mag::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_complex_to_mag "Creates a complex_to_mag block.
+
+complex in, magnitude out (float)
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_mag_squared "complex in, magnitude squared out (float)"
+
+%feature("docstring") gr_complex_to_mag_squared::gr_complex_to_mag_squared "
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_mag_squared::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_complex_to_mag_squared "Creates a complex_to_mag_squared block.
+
+complex in, magnitude squared out (float)
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_real "complex in, real out (float)"
+
+%feature("docstring") gr_complex_to_real::gr_complex_to_real "
+
+Params: (vlen)"
+
+%feature("docstring") gr_complex_to_real::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_complex_to_real "Creates a complex_to_real block.
+
+complex in, real out (float)
+
+Params: (vlen)"
+
+%feature("docstring") gr_conjugate_cc "output = complex conjugate of input"
+
+%feature("docstring") gr_conjugate_cc::gr_conjugate_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_conjugate_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_conjugate_cc "Creates a conjugate_cc block.
+
+output = complex conjugate of input
+
+Params: (NONE)"
+
+%feature("docstring") gr_constellation_decoder_cb "Constellation Decoder."
+
+%feature("docstring") gr_constellation_decoder_cb::gr_constellation_decoder_cb "
+
+Params: (sym_position, sym_value_out)"
+
+%feature("docstring") gr_constellation_decoder_cb::set_constellation "
+
+Params: (sym_position, sym_value_out)"
+
+%feature("docstring") gr_constellation_decoder_cb::~gr_constellation_decoder_cb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_constellation_decoder_cb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_constellation_decoder_cb "Creates a constellation_decoder_cb block.
+
+Constellation Decoder.
+
+Params: (sym_position, sym_value_out)"
+
+%feature("docstring") gr_copy "output[i] = input[i]
+
+When enabled (default), this block copies its input to its output. When disabled, this block drops its input on the floor."
+
+%feature("docstring") gr_copy::gr_copy "
+
+Params: (itemsize)"
+
+%feature("docstring") gr_copy::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_copy::set_enabled "
+
+Params: (enable)"
+
+%feature("docstring") gr_copy::enabled "
+
+Params: (NONE)"
+
+%feature("docstring") gr_copy::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_copy "Creates a copy block.
+
+output[i] = input[i]
+
+When enabled (default), this block copies its input to its output. When disabled, this block drops its input on the floor.
+
+Params: (itemsize)"
+
+%feature("docstring") gr_correlate_access_code_bb "Examine input for specified access code, one bit at a time.
+
+input: stream of bits, 1 bit per input byte (data in LSB) output: stream of bits, 2 bits per output byte (data in LSB, flag in next higher bit).
+
+Each output byte contains two valid bits, the data bit, and the flag bit. The LSB (bit 0) is the data bit, and is the original input data, delayed 64 bits. Bit 1 is the flag bit and is 1 if the corresponding data bit is the first data bit following the access code. Otherwise the flag bit is 0."
+
+%feature("docstring") gr_correlate_access_code_bb::gr_correlate_access_code_bb "
+
+Params: (access_code, threshold)"
+
+%feature("docstring") gr_correlate_access_code_bb::~gr_correlate_access_code_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_correlate_access_code_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_correlate_access_code_bb::set_access_code "
+
+Params: (access_code)"
+
+%feature("docstring") gr_make_correlate_access_code_bb "Creates a correlate_access_code_bb block.
+
+Examine input for specified access code, one bit at a time.
+
+input: stream of bits, 1 bit per input byte (data in LSB) output: stream of bits, 2 bits per output byte (data in LSB, flag in next higher bit).
+
+Each output byte contains two valid bits, the data bit, and the flag bit. The LSB (bit 0) is the data bit, and is the original input data, delayed 64 bits. Bit 1 is the flag bit and is 1 if the corresponding data bit is the first data bit following the access code. Otherwise the flag bit is 0.
+
+Params: (access_code, threshold)"
+
+%feature("docstring") gr_costas_loop_cc "Carrier tracking PLL for QPSK
+
+input: complex; output: complex
+The Costas loop can have two output streams: stream 1 is the baseband I and Q; stream 2 is the normalized frequency of the loop.
+
+must be 2 or 4."
+
+%feature("docstring") gr_costas_loop_cc::gr_costas_loop_cc "
+
+Params: (alpha, beta, max_freq, min_freq, order)"
+
+%feature("docstring") gr_costas_loop_cc::phase_detector_4 "the phase detector circuit for fourth-order loops
+
+Params: (sample)"
+
+%feature("docstring") gr_costas_loop_cc::phase_detector_2 "the phase detector circuit for second-order loops
+
+Params: (sample)"
+
+%feature("docstring") gr_costas_loop_cc::set_alpha "set the first order gain
+
+Params: (alpha)"
+
+%feature("docstring") gr_costas_loop_cc::alpha "get the first order gain
+
+Params: (NONE)"
+
+%feature("docstring") gr_costas_loop_cc::set_beta "set the second order gain
+
+Params: (beta)"
+
+%feature("docstring") gr_costas_loop_cc::beta "get the second order gain
+
+Params: (NONE)"
+
+%feature("docstring") gr_costas_loop_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_costas_loop_cc::freq "returns the current NCO frequency in radians/sample
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_costas_loop_cc "Creates a costas_loop_cc block.
+
+Carrier tracking PLL for QPSK
+
+input: complex; output: complex
+The Costas loop can have two output streams: stream 1 is the baseband I and Q; stream 2 is the normalized frequency of the loop.
+
+must be 2 or 4.
+
+Params: (alpha, beta, max_freq, min_freq, order)"
+
+%feature("docstring") gr_cpfsk_bc "Perform continuous phase 2-level frequency shift keying modulation on an input stream of unpacked bits."
+
+%feature("docstring") gr_cpfsk_bc::gr_cpfsk_bc "
+
+Params: (k, ampl, samples_per_sym)"
+
+%feature("docstring") gr_cpfsk_bc::~gr_cpfsk_bc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_cpfsk_bc::set_amplitude "
+
+Params: (amplitude)"
+
+%feature("docstring") gr_cpfsk_bc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_cpfsk_bc "Creates a cpfsk_bc block.
+
+Perform continuous phase 2-level frequency shift keying modulation on an input stream of unpacked bits.
+
+Params: (k, ampl, samples_per_sym)"
+
+%feature("docstring") gr_ctcss_squelch_ff "gate or zero output if ctcss tone not present"
+
+%feature("docstring") gr_ctcss_squelch_ff::gr_ctcss_squelch_ff "
+
+Params: (rate, freq, level, len, ramp, gate)"
+
+%feature("docstring") gr_ctcss_squelch_ff::find_tone "
+
+Params: (freq)"
+
+%feature("docstring") gr_ctcss_squelch_ff::update_state "
+
+Params: (in)"
+
+%feature("docstring") gr_ctcss_squelch_ff::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ctcss_squelch_ff::squelch_range "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ctcss_squelch_ff::level "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ctcss_squelch_ff::set_level "
+
+Params: (level)"
+
+%feature("docstring") gr_ctcss_squelch_ff::len "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_ctcss_squelch_ff "Creates a ctcss_squelch_ff block.
+
+gate or zero output if ctcss tone not present
+
+Params: (rate, freq, level, len, ramp, gate)"
+
+%feature("docstring") gr_decode_ccsds_27_fb "A rate 1/2, k=7 convolutional decoder for the CCSDS standard
+
+This block performs soft-decision convolutional decoding using the Viterbi algorithm.
+
+The input is a stream of (possibly noise corrupted) floating point values nominally spanning [-1.0, 1.0], representing the encoded channel symbols 0 (-1.0) and 1 (1.0), with erased symbols at 0.0.
+
+The output is MSB first packed bytes of decoded values.
+
+As a rate 1/2 code, there will be one output byte for every 16 input symbols.
+
+This block is designed for continuous data streaming, not packetized data. The first 32 bits out will be zeroes, with the output delayed four bytes from the corresponding inputs."
+
+%feature("docstring") gr_decode_ccsds_27_fb::gr_decode_ccsds_27_fb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_decode_ccsds_27_fb::~gr_decode_ccsds_27_fb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_decode_ccsds_27_fb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_decode_ccsds_27_fb "Creates a decode_ccsds_27_fb block.
+
+A rate 1/2, k=7 convolutional decoder for the CCSDS standard
+
+This block performs soft-decision convolutional decoding using the Viterbi algorithm.
+
+The input is a stream of (possibly noise corrupted) floating point values nominally spanning [-1.0, 1.0], representing the encoded channel symbols 0 (-1.0) and 1 (1.0), with erased symbols at 0.0.
+
+The output is MSB first packed bytes of decoded values.
+
+As a rate 1/2 code, there will be one output byte for every 16 input symbols.
+
+This block is designed for continuous data streaming, not packetized data. The first 32 bits out will be zeroes, with the output delayed four bytes from the corresponding inputs.
+
+Params: (NONE)"
+
+%feature("docstring") gr_deinterleave "deinterleave a single input into N outputs"
+
+%feature("docstring") gr_deinterleave::gr_deinterleave "
+
+Params: (itemsize)"
+
+%feature("docstring") gr_deinterleave::~gr_deinterleave "
+
+Params: (NONE)"
+
+%feature("docstring") gr_deinterleave::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_deinterleave::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_deinterleave "Creates a deinterleave block.
+
+deinterleave a single input into N outputs
+
+Params: (itemsize)"
+
+%feature("docstring") gr_delay "delay the input by a certain number of samples"
+
+%feature("docstring") gr_delay::gr_delay "
+
+Params: (itemsize, delay)"
+
+%feature("docstring") gr_delay::delay "
+
+Params: (NONE)"
+
+%feature("docstring") gr_delay::set_delay "
+
+Params: (delay)"
+
+%feature("docstring") gr_delay::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_delay "Creates a delay block.
+
+delay the input by a certain number of samples
+
+Params: (itemsize, delay)"
+
+%feature("docstring") gr_descrambler_bb "Descramble an input stream using an LFSR. This block works on the LSB only of the input data stream, i.e., on an \"unpacked binary\" stream, and produces the same format on its output."
+
+%feature("docstring") gr_descrambler_bb::gr_descrambler_bb "
+
+Params: (mask, seed, len)"
+
+%feature("docstring") gr_descrambler_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_descrambler_bb "Creates a descrambler_bb block.
+
+Descramble an input stream using an LFSR. This block works on the LSB only of the input data stream, i.e., on an \"unpacked binary\" stream, and produces the same format on its output.
+
+Params: (mask, seed, len)"
+
+%feature("docstring") gr_diff_decoder_bb "y[0] = (x[0] - x[-1]) % M
+
+Differential decoder"
+
+%feature("docstring") gr_diff_decoder_bb::gr_diff_decoder_bb "
+
+Params: (modulus)"
+
+%feature("docstring") gr_diff_decoder_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_diff_decoder_bb "Creates a diff_decoder_bb block.
+
+y[0] = (x[0] - x[-1]) % M
+
+Differential decoder
+
+Params: (modulus)"
+
+%feature("docstring") gr_diff_encoder_bb "y[0] = (x[0] + y[-1]) % M
+
+Differential encoder"
+
+%feature("docstring") gr_diff_encoder_bb::gr_diff_encoder_bb "
+
+Params: (modulus)"
+
+%feature("docstring") gr_diff_encoder_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_diff_encoder_bb "Creates a diff_encoder_bb block.
+
+y[0] = (x[0] + y[-1]) % M
+
+Differential encoder
+
+Params: (modulus)"
+
+
+
+%feature("docstring") gr_diff_phasor_cc::gr_diff_phasor_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_diff_phasor_cc::~gr_diff_phasor_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_diff_phasor_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_diff_phasor_cc "Creates a diff_phasor_cc block.
+
+
+
+Params: (NONE)"
+
+%feature("docstring") gr_dispatcher "invoke callbacks based on select."
+
+%feature("docstring") gr_dispatcher::gr_dispatcher "
+
+Params: (NONE)"
+
+%feature("docstring") gr_dispatcher::~gr_dispatcher "
+
+Params: (NONE)"
+
+%feature("docstring") gr_dispatcher::add_handler "
+
+Params: (handler)"
+
+%feature("docstring") gr_dispatcher::del_handler "
+
+Params: (handler)"
+
+%feature("docstring") gr_dispatcher::loop "Event dispatching loop.
+
+Enter a polling loop that only terminates after all gr_select_handlers have been removed. sets the timeout parameter to the select() call, measured in seconds.
+
+Params: (timeout)"
+
+%feature("docstring") gr_make_dispatcher "Creates a dispatcher block.
+
+invoke callbacks based on select.
+
+Params: (NONE)"
+
+%feature("docstring") gr_divide_cc "output = input_0 / input_1 / input_x ...)
+
+Divide across all input streams."
+
+%feature("docstring") gr_divide_cc::gr_divide_cc "
+
+Params: (vlen)"
+
+%feature("docstring") gr_divide_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_divide_cc "Creates a divide_cc block.
+
+output = input_0 / input_1 / input_x ...)
+
+Divide across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_divide_ff "output = input_0 / input_1 / input_x ...)
+
+Divide across all input streams."
+
+%feature("docstring") gr_divide_ff::gr_divide_ff "
+
+Params: (vlen)"
+
+%feature("docstring") gr_divide_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_divide_ff "Creates a divide_ff block.
+
+output = input_0 / input_1 / input_x ...)
+
+Divide across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_divide_ii "output = input_0 / input_1 / input_x ...)
+
+Divide across all input streams."
+
+%feature("docstring") gr_divide_ii::gr_divide_ii "
+
+Params: (vlen)"
+
+%feature("docstring") gr_divide_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_divide_ii "Creates a divide_ii block.
+
+output = input_0 / input_1 / input_x ...)
+
+Divide across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_divide_ss "output = input_0 / input_1 / input_x ...)
+
+Divide across all input streams."
+
+%feature("docstring") gr_divide_ss::gr_divide_ss "
+
+Params: (vlen)"
+
+%feature("docstring") gr_divide_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_divide_ss "Creates a divide_ss block.
+
+output = input_0 / input_1 / input_x ...)
+
+Divide across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_dpll_bb "Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's."
+
+%feature("docstring") gr_dpll_bb::gr_dpll_bb "
+
+Params: (period, gain)"
+
+%feature("docstring") gr_dpll_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_dpll_bb "Creates a dpll_bb block.
+
+Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's.
+
+Params: (period, gain)"
+
+%feature("docstring") gr_encode_ccsds_27_bb "A rate 1/2, k=7 convolutional encoder for the CCSDS standard
+
+This block performs convolutional encoding using the CCSDS standard polynomial (\"Voyager\").
+
+The input is an MSB first packed stream of bits.
+
+The output is a stream of symbols 0 or 1 representing the encoded data.
+
+As a rate 1/2 code, there will be 16 output symbols for every input byte.
+
+This block is designed for continuous data streaming, not packetized data. There is no provision to \"flush\" the encoder."
+
+%feature("docstring") gr_encode_ccsds_27_bb::gr_encode_ccsds_27_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_encode_ccsds_27_bb::~gr_encode_ccsds_27_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_encode_ccsds_27_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_encode_ccsds_27_bb "Creates a encode_ccsds_27_bb block.
+
+A rate 1/2, k=7 convolutional encoder for the CCSDS standard
+
+This block performs convolutional encoding using the CCSDS standard polynomial (\"Voyager\").
+
+The input is an MSB first packed stream of bits.
+
+The output is a stream of symbols 0 or 1 representing the encoded data.
+
+As a rate 1/2 code, there will be 16 output symbols for every input byte.
+
+This block is designed for continuous data streaming, not packetized data. There is no provision to \"flush\" the encoder.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fake_channel_decoder_pp "remove fake padding from packet
+
+input: stream of byte vectors; output: stream of byte vectors"
+
+%feature("docstring") gr_fake_channel_decoder_pp::gr_fake_channel_decoder_pp "
+
+Params: (input_vlen, output_vlen)"
+
+%feature("docstring") gr_fake_channel_decoder_pp::~gr_fake_channel_decoder_pp "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fake_channel_decoder_pp::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fake_channel_decoder_pp "Creates a fake_channel_decoder_pp block.
+
+remove fake padding from packet
+
+input: stream of byte vectors; output: stream of byte vectors
+
+Params: (input_vlen, output_vlen)"
+
+%feature("docstring") gr_fake_channel_encoder_pp "pad packet with alternating 1,0 pattern.
+
+input: stream of byte vectors; output: stream of byte vectors"
+
+%feature("docstring") gr_fake_channel_encoder_pp::gr_fake_channel_encoder_pp "
+
+Params: (input_vlen, output_vlen)"
+
+%feature("docstring") gr_fake_channel_encoder_pp::~gr_fake_channel_encoder_pp "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fake_channel_encoder_pp::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fake_channel_encoder_pp "Creates a fake_channel_encoder_pp block.
+
+pad packet with alternating 1,0 pattern.
+
+input: stream of byte vectors; output: stream of byte vectors
+
+Params: (input_vlen, output_vlen)"
+
+%feature("docstring") gr_feedforward_agc_cc "Non-causal AGC which computes required gain based on max absolute value over nsamples."
+
+%feature("docstring") gr_feedforward_agc_cc::gr_feedforward_agc_cc "
+
+Params: (nsamples, reference)"
+
+%feature("docstring") gr_feedforward_agc_cc::~gr_feedforward_agc_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feedforward_agc_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_feedforward_agc_cc "Creates a feedforward_agc_cc block.
+
+Non-causal AGC which computes required gain based on max absolute value over nsamples.
+
+Params: (nsamples, reference)"
+
+%feature("docstring") gr_fft_filter_ccc "Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_fft_filter_ccc::gr_fft_filter_ccc "Construct a FFT filter with the given taps
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fft_filter_ccc::~gr_fft_filter_ccc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fft_filter_ccc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_fft_filter_ccc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fft_filter_ccc "Creates a fft_filter_ccc block.
+
+Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps.
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fft_filter_fff "Fast FFT filter with float input, float output and float taps."
+
+%feature("docstring") gr_fft_filter_fff::gr_fft_filter_fff "Construct a FFT filter with the given taps
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fft_filter_fff::~gr_fft_filter_fff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fft_filter_fff::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_fft_filter_fff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fft_filter_fff "Creates a fft_filter_fff block.
+
+Fast FFT filter with float input, float output and float taps.
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fft_vcc "Compute forward or reverse FFT. complex vector in / complex vector out.
+
+Abstract base class."
+
+%feature("docstring") gr_fft_vcc::gr_fft_vcc "
+
+Params: (name, fft_size, forward, window, shift)"
+
+%feature("docstring") gr_fft_vcc::~gr_fft_vcc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fft_vcc::set_window "
+
+Params: (window)"
+
+%feature("docstring") gr_make_fft_vcc "Creates a fft_vcc block.
+
+Compute forward or reverse FFT. complex vector in / complex vector out.
+
+Abstract base class.
+
+Params: (name, fft_size, forward, window, shift)"
+
+%feature("docstring") gr_fft_vcc_fftw "Compute forward or reverse FFT. complex vector in / complex vector out.
+
+Concrete class that uses FFTW."
+
+%feature("docstring") gr_fft_vcc_fftw::gr_fft_vcc_fftw "
+
+Params: (fft_size, forward, window, shift)"
+
+%feature("docstring") gr_fft_vcc_fftw::~gr_fft_vcc_fftw "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fft_vcc_fftw::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fft_vcc_fftw "Creates a fft_vcc_fftw block.
+
+Compute forward or reverse FFT. complex vector in / complex vector out.
+
+Concrete class that uses FFTW.
+
+Params: (fft_size, forward, window, shift)"
+
+%feature("docstring") gr_fft_vfc "Compute forward FFT. float vector in / complex vector out."
+
+%feature("docstring") gr_fft_vfc::gr_fft_vfc "
+
+Params: (fft_size, forward, window)"
+
+%feature("docstring") gr_fft_vfc::~gr_fft_vfc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fft_vfc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_fft_vfc::set_window "
+
+Params: (window)"
+
+%feature("docstring") gr_make_fft_vfc "Creates a fft_vfc block.
+
+Compute forward FFT. float vector in / complex vector out.
+
+Params: (fft_size, forward, window)"
+
+%feature("docstring") gr_file_descriptor_sink "Write stream to file descriptor."
+
+%feature("docstring") gr_file_descriptor_sink::gr_file_descriptor_sink "
+
+Params: (itemsize, fd)"
+
+%feature("docstring") gr_file_descriptor_sink::~gr_file_descriptor_sink "
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_descriptor_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_file_descriptor_sink "Creates a file_descriptor_sink block.
+
+Write stream to file descriptor.
+
+Params: (itemsize, fd)"
+
+%feature("docstring") gr_file_descriptor_source "Read stream from file descriptor."
+
+%feature("docstring") gr_file_descriptor_source::gr_file_descriptor_source "
+
+Params: (itemsize, fd, repeat)"
+
+%feature("docstring") gr_file_descriptor_source::read_items "
+
+Params: (buf, nitems)"
+
+%feature("docstring") gr_file_descriptor_source::handle_residue "
+
+Params: (buf, nbytes_read)"
+
+%feature("docstring") gr_file_descriptor_source::flush_residue "
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_descriptor_source::~gr_file_descriptor_source "
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_descriptor_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_file_descriptor_source "Creates a file_descriptor_source block.
+
+Read stream from file descriptor.
+
+Params: (itemsize, fd, repeat)"
+
+%feature("docstring") gr_file_sink "Write stream to file."
+
+%feature("docstring") gr_file_sink::gr_file_sink "
+
+Params: (itemsize, filename)"
+
+%feature("docstring") gr_file_sink::~gr_file_sink "
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_file_sink "Creates a file_sink block.
+
+Write stream to file.
+
+Params: (itemsize, filename)"
+
+%feature("docstring") gr_file_source "Read stream from file."
+
+%feature("docstring") gr_file_source::gr_file_source "
+
+Params: (itemsize, filename, repeat)"
+
+%feature("docstring") gr_file_source::~gr_file_source "
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_file_source::seek "seek file to relative to
+
+Params: (seek_point, whence)"
+
+%feature("docstring") gr_make_file_source "Creates a file_source block.
+
+Read stream from file.
+
+Params: (itemsize, filename, repeat)"
+
+%feature("docstring") gr_filter_delay_fc "Filter-Delay Combination Block.
+
+The block takes one or two float stream and outputs a complex stream. If only one float stream is input, the real output is a delayed version of this input and the imaginary output is the filtered output. If two floats are connected to the input, then the real output is the delayed version of the first input, and the imaginary output is the filtered output. The delay in the real path accounts for the group delay introduced by the filter in the imaginary path. The filter taps needs to be calculated before initializing this block."
+
+%feature("docstring") gr_filter_delay_fc::~gr_filter_delay_fc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_filter_delay_fc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_filter_delay_fc::gr_filter_delay_fc "
+
+Params: (taps)"
+
+%feature("docstring") gr_make_filter_delay_fc "Creates a filter_delay_fc block.
+
+Filter-Delay Combination Block.
+
+The block takes one or two float stream and outputs a complex stream. If only one float stream is input, the real output is a delayed version of this input and the imaginary output is the filtered output. If two floats are connected to the input, then the real output is the delayed version of the first input, and the imaginary output is the filtered output. The delay in the real path accounts for the group delay introduced by the filter in the imaginary path. The filter taps needs to be calculated before initializing this block.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_filter_ccc "FIR filter with gr_complex input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_fir_filter_ccc::gr_fir_filter_ccc "Construct a FIR filter with the given taps
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_ccc::~gr_fir_filter_ccc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_filter_ccc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_filter_ccc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fir_filter_ccc "Creates a fir_filter_ccc block.
+
+FIR filter with gr_complex input, gr_complex output and gr_complex taps.
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_ccf "FIR filter with gr_complex input, gr_complex output and float taps."
+
+%feature("docstring") gr_fir_filter_ccf::gr_fir_filter_ccf "Construct a FIR filter with the given taps
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_ccf::~gr_fir_filter_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_filter_ccf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_filter_ccf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fir_filter_ccf "Creates a fir_filter_ccf block.
+
+FIR filter with gr_complex input, gr_complex output and float taps.
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_fcc "FIR filter with float input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_fir_filter_fcc::gr_fir_filter_fcc "Construct a FIR filter with the given taps
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_fcc::~gr_fir_filter_fcc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_filter_fcc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_filter_fcc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fir_filter_fcc "Creates a fir_filter_fcc block.
+
+FIR filter with float input, gr_complex output and gr_complex taps.
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_fff "FIR filter with float input, float output and float taps."
+
+%feature("docstring") gr_fir_filter_fff::gr_fir_filter_fff "Construct a FIR filter with the given taps
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_fff::~gr_fir_filter_fff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_filter_fff::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_filter_fff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fir_filter_fff "Creates a fir_filter_fff block.
+
+FIR filter with float input, float output and float taps.
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_fsf "FIR filter with float input, short output and float taps."
+
+%feature("docstring") gr_fir_filter_fsf::gr_fir_filter_fsf "Construct a FIR filter with the given taps
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_fsf::~gr_fir_filter_fsf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_filter_fsf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_filter_fsf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fir_filter_fsf "Creates a fir_filter_fsf block.
+
+FIR filter with float input, short output and float taps.
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_scc "FIR filter with short input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_fir_filter_scc::gr_fir_filter_scc "Construct a FIR filter with the given taps
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_fir_filter_scc::~gr_fir_filter_scc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_filter_scc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_filter_scc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fir_filter_scc "Creates a fir_filter_scc block.
+
+FIR filter with short input, gr_complex output and gr_complex taps.
+
+Params: (decimation, taps)"
+
+%feature("docstring") gr_flat_flowgraph "Class specializing gr_flat_flowgraph that has all nodes as gr_blocks, with no hierarchy."
+
+%feature("docstring") gr_flat_flowgraph::~gr_flat_flowgraph "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flat_flowgraph::setup_connections "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flat_flowgraph::merge_connections "
+
+Params: (sfg)"
+
+%feature("docstring") gr_flat_flowgraph::dump "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flat_flowgraph::make_block_vector "Make a vector of gr_block from a vector of gr_basic_block
+
+Params: (blocks)"
+
+%feature("docstring") gr_flat_flowgraph::gr_flat_flowgraph "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flat_flowgraph::allocate_block_detail "
+
+Params: (block)"
+
+%feature("docstring") gr_flat_flowgraph::allocate_buffer "
+
+Params: (block, port)"
+
+%feature("docstring") gr_flat_flowgraph::connect_block_inputs "
+
+Params: (block)"
+
+%feature("docstring") gr_make_flat_flowgraph "Creates a flat_flowgraph block.
+
+Class specializing gr_flat_flowgraph that has all nodes as gr_blocks, with no hierarchy.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fll_band_edge_cc "Frequency Lock Loop using band-edge filters.
+
+The frequency lock loop derives a band-edge filter that covers the upper and lower bandwidths of a digitally-modulated signal. The bandwidth range is determined by the excess bandwidth (e.g., rolloff factor) of the modulated signal. The placement in frequency of the band-edges is determined by the oversampling ratio (number of samples per symbol) and the excess bandwidth. The size of the filters should be fairly large so as to average over a number of symbols.
+
+The FLL works by filtering the upper and lower band edges into x_u(t) and x_l(t), respectively. These are combined to form cc(t) = x_u(t) + x_l(t) and ss(t) = x_u(t) - x_l(t). Combining these to form the signal e(t) = Re{cc(t) \times ss(t)^*} (where ^* is the complex conjugate) provides an error signal at the DC term that is directly proportional to the carrier frequency. We then make a second-order loop using the error signal that is the running average of e(t).
+
+In theory, the band-edge filter is the derivative of the matched filter in frequency, (H_be(f) = \frac{H(f)}{df}. In practice, this comes down to a quarter sine wave at the point of the matched filter's rolloff (if it's a raised-cosine, the derivative of a cosine is a sine). Extend this sine by another quarter wave to make a half wave around the band-edges is equivalent in time to the sum of two sinc functions. The baseband filter fot the band edges is therefore derived from this sum of sincs. The band edge filters are then just the baseband signal modulated to the correct place in frequency. All of these calculations are done in the 'design_filter' function.
+
+Note: We use FIR filters here because the filters have to have a flat phase response over the entire frequency range to allow their comparisons to be valid."
+
+%feature("docstring") gr_fll_band_edge_cc::gr_fll_band_edge_cc "Build the FLL
+
+Params: (samps_per_sym, rolloff, filter_size, alpha, beta)"
+
+%feature("docstring") gr_fll_band_edge_cc::~gr_fll_band_edge_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fll_band_edge_cc::design_filter "Design the band-edge filter based on the number of samples per symbol, filter rolloff factor, and the filter size
+
+Params: (samps_per_sym, rolloff, filter_size)"
+
+%feature("docstring") gr_fll_band_edge_cc::set_alpha "Set the alpha gainvalue
+
+Params: (alpha)"
+
+%feature("docstring") gr_fll_band_edge_cc::set_beta "Set the beta gain value
+
+Params: (beta)"
+
+%feature("docstring") gr_fll_band_edge_cc::print_taps "Print the taps to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fll_band_edge_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fll_band_edge_cc "Creates a fll_band_edge_cc block.
+
+Frequency Lock Loop using band-edge filters.
+
+The frequency lock loop derives a band-edge filter that covers the upper and lower bandwidths of a digitally-modulated signal. The bandwidth range is determined by the excess bandwidth (e.g., rolloff factor) of the modulated signal. The placement in frequency of the band-edges is determined by the oversampling ratio (number of samples per symbol) and the excess bandwidth. The size of the filters should be fairly large so as to average over a number of symbols.
+
+The FLL works by filtering the upper and lower band edges into x_u(t) and x_l(t), respectively. These are combined to form cc(t) = x_u(t) + x_l(t) and ss(t) = x_u(t) - x_l(t). Combining these to form the signal e(t) = Re{cc(t) \times ss(t)^*} (where ^* is the complex conjugate) provides an error signal at the DC term that is directly proportional to the carrier frequency. We then make a second-order loop using the error signal that is the running average of e(t).
+
+In theory, the band-edge filter is the derivative of the matched filter in frequency, (H_be(f) = \frac{H(f)}{df}. In practice, this comes down to a quarter sine wave at the point of the matched filter's rolloff (if it's a raised-cosine, the derivative of a cosine is a sine). Extend this sine by another quarter wave to make a half wave around the band-edges is equivalent in time to the sum of two sinc functions. The baseband filter fot the band edges is therefore derived from this sum of sincs. The band edge filters are then just the baseband signal modulated to the correct place in frequency. All of these calculations are done in the 'design_filter' function.
+
+Note: We use FIR filters here because the filters have to have a flat phase response over the entire frequency range to allow their comparisons to be valid.
+
+Params: (samps_per_sym, rolloff, filter_size, alpha, beta)"
+
+%feature("docstring") gr_float_to_char "Convert stream of float to a stream of char."
+
+%feature("docstring") gr_float_to_char::gr_float_to_char "
+
+Params: (NONE)"
+
+%feature("docstring") gr_float_to_char::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_float_to_char "Creates a float_to_char block.
+
+Convert stream of float to a stream of char.
+
+Params: (NONE)"
+
+%feature("docstring") gr_float_to_complex "Convert 1 or 2 streams of float to a stream of gr_complex."
+
+%feature("docstring") gr_float_to_complex::gr_float_to_complex "
+
+Params: (vlen)"
+
+%feature("docstring") gr_float_to_complex::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_float_to_complex "Creates a float_to_complex block.
+
+Convert 1 or 2 streams of float to a stream of gr_complex.
+
+Params: (vlen)"
+
+%feature("docstring") gr_float_to_short "Convert stream of float to a stream of short."
+
+%feature("docstring") gr_float_to_short::gr_float_to_short "
+
+Params: (NONE)"
+
+%feature("docstring") gr_float_to_short::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_float_to_short "Creates a float_to_short block.
+
+Convert stream of float to a stream of short.
+
+Params: (NONE)"
+
+%feature("docstring") gr_float_to_uchar "Convert stream of float to a stream of unsigned char."
+
+%feature("docstring") gr_float_to_uchar::gr_float_to_uchar "
+
+Params: (NONE)"
+
+%feature("docstring") gr_float_to_uchar::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_float_to_uchar "Creates a float_to_uchar block.
+
+Convert stream of float to a stream of unsigned char.
+
+Params: (NONE)"
+
+%feature("docstring") gr_flowgraph "Class representing a directed, acyclic graph of basic blocks."
+
+%feature("docstring") gr_flowgraph::~gr_flowgraph "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flowgraph::connect "
+
+Params: (src, dst)"
+
+%feature("docstring") gr_flowgraph::disconnect "
+
+Params: (src, dst)"
+
+%feature("docstring") gr_flowgraph::validate "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flowgraph::clear "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flowgraph::edges "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flowgraph::calc_used_blocks "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flowgraph::topological_sort "
+
+Params: (blocks)"
+
+%feature("docstring") gr_flowgraph::partition "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flowgraph::gr_flowgraph "
+
+Params: (NONE)"
+
+%feature("docstring") gr_flowgraph::calc_used_ports "
+
+Params: (block, check_inputs)"
+
+%feature("docstring") gr_flowgraph::calc_downstream_blocks "
+
+Params: (block, port)"
+
+%feature("docstring") gr_flowgraph::calc_upstream_edges "
+
+Params: (block)"
+
+%feature("docstring") gr_flowgraph::has_block_p "
+
+Params: (block)"
+
+%feature("docstring") gr_flowgraph::calc_upstream_edge "
+
+Params: (block, port)"
+
+%feature("docstring") gr_flowgraph::check_valid_port "
+
+Params: (sig, port)"
+
+%feature("docstring") gr_flowgraph::check_dst_not_used "
+
+Params: (dst)"
+
+%feature("docstring") gr_flowgraph::check_type_match "
+
+Params: (src, dst)"
+
+%feature("docstring") gr_flowgraph::calc_connections "
+
+Params: (block, check_inputs)"
+
+%feature("docstring") gr_flowgraph::check_contiguity "
+
+Params: (block, used_ports, check_inputs)"
+
+%feature("docstring") gr_flowgraph::calc_reachable_blocks "
+
+Params: (block, blocks)"
+
+%feature("docstring") gr_flowgraph::reachable_dfs_visit "
+
+Params: (block, blocks)"
+
+%feature("docstring") gr_flowgraph::calc_adjacent_blocks "
+
+Params: (block, blocks)"
+
+%feature("docstring") gr_flowgraph::sort_sources_first "
+
+Params: (blocks)"
+
+%feature("docstring") gr_flowgraph::source_p "
+
+Params: (block)"
+
+%feature("docstring") gr_flowgraph::topological_dfs_visit "
+
+Params: (block, output)"
+
+%feature("docstring") gr_make_flowgraph "Creates a flowgraph block.
+
+Class representing a directed, acyclic graph of basic blocks.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fmdet_cf "Implements an IQ slope detector.
+
+input: stream of complex; output: stream of floats
+
+This implements a limiting slope detector. The limiter is in the normalization by the magnitude of the sample"
+
+%feature("docstring") gr_fmdet_cf::gr_fmdet_cf "
+
+Params: (samplerate, freq_low, freq_high, scl)"
+
+%feature("docstring") gr_fmdet_cf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_fmdet_cf "Creates a fmdet_cf block.
+
+Implements an IQ slope detector.
+
+input: stream of complex; output: stream of floats
+
+This implements a limiting slope detector. The limiter is in the normalization by the magnitude of the sample
+
+Params: (samplerate, freq_low, freq_high, scl)"
+
+%feature("docstring") gr_fractional_interpolator_cc "Interpolating mmse filter with gr_complex input, gr_complex output."
+
+%feature("docstring") gr_fractional_interpolator_cc::~gr_fractional_interpolator_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fractional_interpolator_cc::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_fractional_interpolator_cc::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_fractional_interpolator_cc::mu "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fractional_interpolator_cc::interp_ratio "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fractional_interpolator_cc::set_mu "
+
+Params: (mu)"
+
+%feature("docstring") gr_fractional_interpolator_cc::set_interp_ratio "
+
+Params: (interp_ratio)"
+
+%feature("docstring") gr_fractional_interpolator_cc::gr_fractional_interpolator_cc "
+
+Params: (phase_shift, interp_ratio)"
+
+%feature("docstring") gr_make_fractional_interpolator_cc "Creates a fractional_interpolator_cc block.
+
+Interpolating mmse filter with gr_complex input, gr_complex output.
+
+Params: (phase_shift, interp_ratio)"
+
+%feature("docstring") gr_fractional_interpolator_ff "Interpolating mmse filter with float input, float output."
+
+%feature("docstring") gr_fractional_interpolator_ff::~gr_fractional_interpolator_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fractional_interpolator_ff::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_fractional_interpolator_ff::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_fractional_interpolator_ff::mu "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fractional_interpolator_ff::interp_ratio "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fractional_interpolator_ff::set_mu "
+
+Params: (mu)"
+
+%feature("docstring") gr_fractional_interpolator_ff::set_interp_ratio "
+
+Params: (interp_ratio)"
+
+%feature("docstring") gr_fractional_interpolator_ff::gr_fractional_interpolator_ff "
+
+Params: (phase_shift, interp_ratio)"
+
+%feature("docstring") gr_make_fractional_interpolator_ff "Creates a fractional_interpolator_ff block.
+
+Interpolating mmse filter with float input, float output.
+
+Params: (phase_shift, interp_ratio)"
+
+%feature("docstring") gr_framer_sink_1 "Given a stream of bits and access_code flags, assemble packets.
+
+input: stream of bytes from gr_correlate_access_code_bb output: none. Pushes assembled packet into target queue.
+
+The framer expects a fixed length header of 2 16-bit shorts containing the payload length, followed by the payload. If the 2 16-bit shorts are not identical, this packet is ignored. Better algs are welcome.
+
+The input data consists of bytes that have two bits used. Bit 0, the LSB, contains the data bit. Bit 1 if set, indicates that the corresponding bit is the the first bit of the packet. That is, this bit is the first one after the access code."
+
+%feature("docstring") gr_framer_sink_1::gr_framer_sink_1 "
+
+Params: (target_queue)"
+
+%feature("docstring") gr_framer_sink_1::enter_search "
+
+Params: (NONE)"
+
+%feature("docstring") gr_framer_sink_1::enter_have_sync "
+
+Params: (NONE)"
+
+%feature("docstring") gr_framer_sink_1::enter_have_header "
+
+Params: (payload_len, whitener_offset)"
+
+%feature("docstring") gr_framer_sink_1::header_ok "
+
+Params: (NONE)"
+
+%feature("docstring") gr_framer_sink_1::header_payload "
+
+Params: (len, offset)"
+
+%feature("docstring") gr_framer_sink_1::~gr_framer_sink_1 "
+
+Params: (NONE)"
+
+%feature("docstring") gr_framer_sink_1::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_framer_sink_1 "Creates a framer_sink_1 block.
+
+Given a stream of bits and access_code flags, assemble packets.
+
+input: stream of bytes from gr_correlate_access_code_bb output: none. Pushes assembled packet into target queue.
+
+The framer expects a fixed length header of 2 16-bit shorts containing the payload length, followed by the payload. If the 2 16-bit shorts are not identical, this packet is ignored. Better algs are welcome.
+
+The input data consists of bytes that have two bits used. Bit 0, the LSB, contains the data bit. Bit 1 if set, indicates that the corresponding bit is the the first bit of the packet. That is, this bit is the first one after the access code.
+
+Params: (target_queue)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccc "FIR filter combined with frequency translation with gr_complex input, gr_complex output and gr_complex taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored."
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccc::~gr_freq_xlating_fir_filter_ccc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccc::set_center_freq "
+
+Params: (center_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccc::build_composite_fir "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccc::gr_freq_xlating_fir_filter_ccc "Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_make_freq_xlating_fir_filter_ccc "Creates a freq_xlating_fir_filter_ccc block.
+
+FIR filter combined with frequency translation with gr_complex input, gr_complex output and gr_complex taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccf "FIR filter combined with frequency translation with gr_complex input, gr_complex output and float taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored."
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccf::~gr_freq_xlating_fir_filter_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccf::set_center_freq "
+
+Params: (center_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccf::build_composite_fir "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_ccf::gr_freq_xlating_fir_filter_ccf "Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_make_freq_xlating_fir_filter_ccf "Creates a freq_xlating_fir_filter_ccf block.
+
+FIR filter combined with frequency translation with gr_complex input, gr_complex output and float taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcc "FIR filter combined with frequency translation with float input, gr_complex output and gr_complex taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored."
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcc::~gr_freq_xlating_fir_filter_fcc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcc::set_center_freq "
+
+Params: (center_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcc::build_composite_fir "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcc::gr_freq_xlating_fir_filter_fcc "Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_make_freq_xlating_fir_filter_fcc "Creates a freq_xlating_fir_filter_fcc block.
+
+FIR filter combined with frequency translation with float input, gr_complex output and gr_complex taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcf "FIR filter combined with frequency translation with float input, gr_complex output and float taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored."
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcf::~gr_freq_xlating_fir_filter_fcf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcf::set_center_freq "
+
+Params: (center_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcf::build_composite_fir "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_fcf::gr_freq_xlating_fir_filter_fcf "Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_make_freq_xlating_fir_filter_fcf "Creates a freq_xlating_fir_filter_fcf block.
+
+FIR filter combined with frequency translation with float input, gr_complex output and float taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scc "FIR filter combined with frequency translation with short input, gr_complex output and gr_complex taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored."
+
+%feature("docstring") gr_freq_xlating_fir_filter_scc::~gr_freq_xlating_fir_filter_scc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scc::set_center_freq "
+
+Params: (center_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scc::build_composite_fir "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scc::gr_freq_xlating_fir_filter_scc "Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_make_freq_xlating_fir_filter_scc "Creates a freq_xlating_fir_filter_scc block.
+
+FIR filter combined with frequency translation with short input, gr_complex output and gr_complex taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scf "FIR filter combined with frequency translation with short input, gr_complex output and float taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored."
+
+%feature("docstring") gr_freq_xlating_fir_filter_scf::~gr_freq_xlating_fir_filter_scf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scf::set_center_freq "
+
+Params: (center_freq)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scf::build_composite_fir "
+
+Params: (NONE)"
+
+%feature("docstring") gr_freq_xlating_fir_filter_scf::gr_freq_xlating_fir_filter_scf "Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_make_freq_xlating_fir_filter_scf "Creates a freq_xlating_fir_filter_scf block.
+
+FIR filter combined with frequency translation with short input, gr_complex output and float taps
+
+This class efficiently combines a frequency translation (typically \"down conversion\") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a \"channel selection filter\" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
+
+Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.
+
+Params: (decimation, taps, center_freq, sampling_freq)"
+
+%feature("docstring") gr_frequency_modulator_fc "Frequency modulator block
+
+float input; complex baseband output."
+
+%feature("docstring") gr_frequency_modulator_fc::gr_frequency_modulator_fc "
+
+Params: (sensitivity)"
+
+%feature("docstring") gr_frequency_modulator_fc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_frequency_modulator_fc "Creates a frequency_modulator_fc block.
+
+Frequency modulator block
+
+float input; complex baseband output.
+
+Params: (sensitivity)"
+
+%feature("docstring") gr_glfsr_source_b "Galois LFSR pseudo-random source."
+
+%feature("docstring") gr_glfsr_source_b::gr_glfsr_source_b "
+
+Params: (degree, repeat, mask, seed)"
+
+%feature("docstring") gr_glfsr_source_b::~gr_glfsr_source_b "
+
+Params: (NONE)"
+
+%feature("docstring") gr_glfsr_source_b::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_glfsr_source_b::period "
+
+Params: (NONE)"
+
+%feature("docstring") gr_glfsr_source_b::mask "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_glfsr_source_b "Creates a glfsr_source_b block.
+
+Galois LFSR pseudo-random source.
+
+Params: (degree, repeat, mask, seed)"
+
+%feature("docstring") gr_glfsr_source_f "Galois LFSR pseudo-random source generating float outputs -1.0 - 1.0."
+
+%feature("docstring") gr_glfsr_source_f::gr_glfsr_source_f "
+
+Params: (degree, repeat, mask, seed)"
+
+%feature("docstring") gr_glfsr_source_f::~gr_glfsr_source_f "
+
+Params: (NONE)"
+
+%feature("docstring") gr_glfsr_source_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_glfsr_source_f::period "
+
+Params: (NONE)"
+
+%feature("docstring") gr_glfsr_source_f::mask "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_glfsr_source_f "Creates a glfsr_source_f block.
+
+Galois LFSR pseudo-random source generating float outputs -1.0 - 1.0.
+
+Params: (degree, repeat, mask, seed)"
+
+%feature("docstring") gr_goertzel_fc "Goertzel single-bin DFT calculation."
+
+%feature("docstring") gr_goertzel_fc::gr_goertzel_fc "
+
+Params: (rate, len, freq)"
+
+%feature("docstring") gr_goertzel_fc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_goertzel_fc "Creates a goertzel_fc block.
+
+Goertzel single-bin DFT calculation.
+
+Params: (rate, len, freq)"
+
+%feature("docstring") gr_head "copies the first N items to the output then signals done
+
+Useful for building test cases"
+
+%feature("docstring") gr_head::gr_head "
+
+Params: (sizeof_stream_item, nitems)"
+
+%feature("docstring") gr_head::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_head::reset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_head "Creates a head block.
+
+copies the first N items to the output then signals done
+
+Useful for building test cases
+
+Params: (sizeof_stream_item, nitems)"
+
+%feature("docstring") gr_hier_block2 "Hierarchical container class for gr_block's and gr_hier_block2's."
+
+%feature("docstring") gr_hier_block2::gr_hier_block2 "
+
+Params: (name, input_signature, output_signature)"
+
+%feature("docstring") gr_hier_block2::~gr_hier_block2 "
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2::self "Return an object, representing the current block, which can be passed to connect.
+
+The returned object may only be used as an argument to connect or disconnect. Any other use of self() results in unspecified (erroneous) behavior.
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2::connect "Add a stand-alone (possibly hierarchical) block to internal graph.
+
+This adds a gr-block or hierarchical block to the internal graph without wiring it to anything else.
+
+Params: (block)"
+
+%feature("docstring") gr_hier_block2::disconnect "Remove a gr-block or hierarchical block from the internal flowgraph.
+
+This removes a gr-block or hierarchical block from the internal flowgraph, disconnecting it from other blocks as needed.
+
+Params: (block)"
+
+%feature("docstring") gr_hier_block2::disconnect_all "Disconnect all connections in the internal flowgraph.
+
+This call removes all output port to input port connections in the internal flowgraph.
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2::lock "Lock a flowgraph in preparation for reconfiguration. When an equal number of calls to lock() and unlock() have occurred, the flowgraph will be reconfigured.
+
+N.B. lock() and unlock() may not be called from a flowgraph thread (E.g., gr_block::work method) or deadlock will occur when reconfiguration happens.
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2::unlock "Unlock a flowgraph in preparation for reconfiguration. When an equal number of calls to lock() and unlock() have occurred, the flowgraph will be reconfigured.
+
+N.B. lock() and unlock() may not be called from a flowgraph thread (E.g., gr_block::work method) or deadlock will occur when reconfiguration happens.
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2::flatten "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_hier_block2 "Creates a hier_block2 block.
+
+Hierarchical container class for gr_block's and gr_hier_block2's.
+
+Params: (name, input_signature, output_signature)"
+
+%feature("docstring") gr_hilbert_fc "Hilbert transformer.
+
+real output is input appropriately delayed. imaginary output is hilbert filtered (90 degree phase shift) version of input."
+
+%feature("docstring") gr_hilbert_fc::~gr_hilbert_fc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_hilbert_fc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_hilbert_fc::gr_hilbert_fc "
+
+Params: (ntaps)"
+
+%feature("docstring") gr_make_hilbert_fc "Creates a hilbert_fc block.
+
+Hilbert transformer.
+
+real output is input appropriately delayed. imaginary output is hilbert filtered (90 degree phase shift) version of input.
+
+Params: (ntaps)"
+
+%feature("docstring") gr_histo_sink_f "Histogram module."
+
+%feature("docstring") gr_histo_sink_f::gr_histo_sink_f "
+
+Params: (msgq)"
+
+%feature("docstring") gr_histo_sink_f::send_frame "
+
+Params: ()"
+
+%feature("docstring") gr_histo_sink_f::clear "
+
+Params: ()"
+
+%feature("docstring") gr_histo_sink_f::~gr_histo_sink_f "
+
+Params: ()"
+
+%feature("docstring") gr_histo_sink_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_histo_sink_f::get_frame_size "
+
+Params: ()"
+
+%feature("docstring") gr_histo_sink_f::get_num_bins "
+
+Params: ()"
+
+%feature("docstring") gr_histo_sink_f::set_frame_size "
+
+Params: (frame_size)"
+
+%feature("docstring") gr_histo_sink_f::set_num_bins "
+
+Params: (num_bins)"
+
+%feature("docstring") gr_make_histo_sink_f "Creates a histo_sink_f block.
+
+Histogram module.
+
+Params: (msgq)"
+
+%feature("docstring") gr_iir_filter_ffd "IIR filter with float input, float output and double taps
+
+This filter uses the Direct Form I implementation, where contains the feed-forward taps, and the feedback ones.
+
+The input and output satisfy a difference equation of the form
+
+
+
+with the corresponding rational system function
+
+
+
+Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback taps."
+
+%feature("docstring") gr_iir_filter_ffd::gr_iir_filter_ffd "Construct an IIR filter with the given taps
+
+Params: (fftaps, fbtaps)"
+
+%feature("docstring") gr_iir_filter_ffd::~gr_iir_filter_ffd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_iir_filter_ffd::set_taps "
+
+Params: (fftaps, fbtaps)"
+
+%feature("docstring") gr_iir_filter_ffd::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_iir_filter_ffd "Creates a iir_filter_ffd block.
+
+IIR filter with float input, float output and double taps
+
+This filter uses the Direct Form I implementation, where contains the feed-forward taps, and the feedback ones.
+
+The input and output satisfy a difference equation of the form
+
+
+
+with the corresponding rational system function
+
+
+
+Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback taps.
+
+Params: (fftaps, fbtaps)"
+
+%feature("docstring") gr_integrate_cc "output = sum(input[0]...input[n])
+
+Integrate successive samples in input stream and decimate"
+
+%feature("docstring") gr_integrate_cc::gr_integrate_cc "
+
+Params: (decim)"
+
+%feature("docstring") gr_integrate_cc::~gr_integrate_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_integrate_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_integrate_cc "Creates a integrate_cc block.
+
+output = sum(input[0]...input[n])
+
+Integrate successive samples in input stream and decimate
+
+Params: (decim)"
+
+%feature("docstring") gr_integrate_ff "output = sum(input[0]...input[n])
+
+Integrate successive samples in input stream and decimate"
+
+%feature("docstring") gr_integrate_ff::gr_integrate_ff "
+
+Params: (decim)"
+
+%feature("docstring") gr_integrate_ff::~gr_integrate_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_integrate_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_integrate_ff "Creates a integrate_ff block.
+
+output = sum(input[0]...input[n])
+
+Integrate successive samples in input stream and decimate
+
+Params: (decim)"
+
+%feature("docstring") gr_integrate_ii "output = sum(input[0]...input[n])
+
+Integrate successive samples in input stream and decimate"
+
+%feature("docstring") gr_integrate_ii::gr_integrate_ii "
+
+Params: (decim)"
+
+%feature("docstring") gr_integrate_ii::~gr_integrate_ii "
+
+Params: (NONE)"
+
+%feature("docstring") gr_integrate_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_integrate_ii "Creates a integrate_ii block.
+
+output = sum(input[0]...input[n])
+
+Integrate successive samples in input stream and decimate
+
+Params: (decim)"
+
+%feature("docstring") gr_integrate_ss "output = sum(input[0]...input[n])
+
+Integrate successive samples in input stream and decimate"
+
+%feature("docstring") gr_integrate_ss::gr_integrate_ss "
+
+Params: (decim)"
+
+%feature("docstring") gr_integrate_ss::~gr_integrate_ss "
+
+Params: (NONE)"
+
+%feature("docstring") gr_integrate_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_integrate_ss "Creates a integrate_ss block.
+
+output = sum(input[0]...input[n])
+
+Integrate successive samples in input stream and decimate
+
+Params: (decim)"
+
+%feature("docstring") gr_interleave "interleave N inputs to a single output"
+
+%feature("docstring") gr_interleave::gr_interleave "
+
+Params: (itemsize)"
+
+%feature("docstring") gr_interleave::~gr_interleave "
+
+Params: (NONE)"
+
+%feature("docstring") gr_interleave::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_interleave::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_interleave "Creates a interleave block.
+
+interleave N inputs to a single output
+
+Params: (itemsize)"
+
+%feature("docstring") gr_interleaved_short_to_complex "Convert stream of interleaved shorts to a stream of complex."
+
+%feature("docstring") gr_interleaved_short_to_complex::gr_interleaved_short_to_complex "
+
+Params: (NONE)"
+
+%feature("docstring") gr_interleaved_short_to_complex::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_interleaved_short_to_complex "Creates a interleaved_short_to_complex block.
+
+Convert stream of interleaved shorts to a stream of complex.
+
+Params: (NONE)"
+
+%feature("docstring") gr_interp_fir_filter_ccc "Interpolating FIR filter with gr_complex input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_interp_fir_filter_ccc::gr_interp_fir_filter_ccc "Construct a FIR filter with the given taps
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_ccc::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_ccc::~gr_interp_fir_filter_ccc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_interp_fir_filter_ccc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_ccc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_interp_fir_filter_ccc "Creates a interp_fir_filter_ccc block.
+
+Interpolating FIR filter with gr_complex input, gr_complex output and gr_complex taps.
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_ccf "Interpolating FIR filter with gr_complex input, gr_complex output and float taps."
+
+%feature("docstring") gr_interp_fir_filter_ccf::gr_interp_fir_filter_ccf "Construct a FIR filter with the given taps
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_ccf::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_ccf::~gr_interp_fir_filter_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_interp_fir_filter_ccf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_ccf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_interp_fir_filter_ccf "Creates a interp_fir_filter_ccf block.
+
+Interpolating FIR filter with gr_complex input, gr_complex output and float taps.
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_fcc "Interpolating FIR filter with float input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_interp_fir_filter_fcc::gr_interp_fir_filter_fcc "Construct a FIR filter with the given taps
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_fcc::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_fcc::~gr_interp_fir_filter_fcc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_interp_fir_filter_fcc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_fcc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_interp_fir_filter_fcc "Creates a interp_fir_filter_fcc block.
+
+Interpolating FIR filter with float input, gr_complex output and gr_complex taps.
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_fff "Interpolating FIR filter with float input, float output and float taps."
+
+%feature("docstring") gr_interp_fir_filter_fff::gr_interp_fir_filter_fff "Construct a FIR filter with the given taps
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_fff::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_fff::~gr_interp_fir_filter_fff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_interp_fir_filter_fff::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_fff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_interp_fir_filter_fff "Creates a interp_fir_filter_fff block.
+
+Interpolating FIR filter with float input, float output and float taps.
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_fsf "Interpolating FIR filter with float input, short output and float taps."
+
+%feature("docstring") gr_interp_fir_filter_fsf::gr_interp_fir_filter_fsf "Construct a FIR filter with the given taps
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_fsf::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_fsf::~gr_interp_fir_filter_fsf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_interp_fir_filter_fsf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_fsf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_interp_fir_filter_fsf "Creates a interp_fir_filter_fsf block.
+
+Interpolating FIR filter with float input, short output and float taps.
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_scc "Interpolating FIR filter with short input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_interp_fir_filter_scc::gr_interp_fir_filter_scc "Construct a FIR filter with the given taps
+
+Params: (interpolation, taps)"
+
+%feature("docstring") gr_interp_fir_filter_scc::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_scc::~gr_interp_fir_filter_scc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_interp_fir_filter_scc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_interp_fir_filter_scc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_interp_fir_filter_scc "Creates a interp_fir_filter_scc block.
+
+Interpolating FIR filter with short input, gr_complex output and gr_complex taps.
+
+Params: (interpolation, taps)"
+
+
+
+%feature("docstring") gr_iqcomp_cc::gr_iqcomp_cc "
+
+Params: (mu)"
+
+%feature("docstring") gr_iqcomp_cc::mu "
+
+Params: (NONE)"
+
+%feature("docstring") gr_iqcomp_cc::set_mu "
+
+Params: (mu)"
+
+%feature("docstring") gr_iqcomp_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_iqcomp_cc "Creates a iqcomp_cc block.
+
+
+
+Params: (mu)"
+
+%feature("docstring") gr_keep_one_in_n "decimate a stream, keeping one item out of every n."
+
+%feature("docstring") gr_keep_one_in_n::gr_keep_one_in_n "
+
+Params: (item_size, n)"
+
+%feature("docstring") gr_keep_one_in_n::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_keep_one_in_n::set_n "
+
+Params: (n)"
+
+%feature("docstring") gr_make_keep_one_in_n "Creates a keep_one_in_n block.
+
+decimate a stream, keeping one item out of every n.
+
+Params: (item_size, n)"
+
+%feature("docstring") gr_kludge_copy "output[i] = input[i]
+
+This is a short term kludge to work around a problem with the hierarchical block impl."
+
+%feature("docstring") gr_kludge_copy::gr_kludge_copy "
+
+Params: (itemsize)"
+
+%feature("docstring") gr_kludge_copy::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_kludge_copy::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_kludge_copy "Creates a kludge_copy block.
+
+output[i] = input[i]
+
+This is a short term kludge to work around a problem with the hierarchical block impl.
+
+Params: (itemsize)"
+
+%feature("docstring") gr_lfsr_32k_source_s "LFSR pseudo-random source with period of 2^15 bits (2^11 shorts)
+
+This source is typically used along with gr_check_lfsr_32k_s to test the USRP using its digital loopback mode."
+
+%feature("docstring") gr_lfsr_32k_source_s::gr_lfsr_32k_source_s "
+
+Params: (NONE)"
+
+%feature("docstring") gr_lfsr_32k_source_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_lfsr_32k_source_s "Creates a lfsr_32k_source_s block.
+
+LFSR pseudo-random source with period of 2^15 bits (2^11 shorts)
+
+This source is typically used along with gr_check_lfsr_32k_s to test the USRP using its digital loopback mode.
+
+Params: (NONE)"
+
+%feature("docstring") gr_lms_dfe_cc "Least-Mean-Square Decision Feedback Equalizer (complex in/out)."
+
+%feature("docstring") gr_lms_dfe_cc::gr_lms_dfe_cc "
+
+Params: (lambda_ff, lambda_fb, num_fftaps, num_fbtaps)"
+
+%feature("docstring") gr_lms_dfe_cc::slicer_0deg "
+
+Params: (baud)"
+
+%feature("docstring") gr_lms_dfe_cc::slicer_45deg "
+
+Params: (baud)"
+
+%feature("docstring") gr_lms_dfe_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_lms_dfe_cc "Creates a lms_dfe_cc block.
+
+Least-Mean-Square Decision Feedback Equalizer (complex in/out).
+
+Params: (lambda_ff, lambda_fb, num_fftaps, num_fbtaps)"
+
+%feature("docstring") gr_lms_dfe_ff "Least-Mean-Square Decision Feedback Equalizer (float in/out)."
+
+%feature("docstring") gr_lms_dfe_ff::gr_lms_dfe_ff "
+
+Params: (lambda_ff, lambda_fb, num_fftaps, num_fbtaps)"
+
+%feature("docstring") gr_lms_dfe_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_lms_dfe_ff "Creates a lms_dfe_ff block.
+
+Least-Mean-Square Decision Feedback Equalizer (float in/out).
+
+Params: (lambda_ff, lambda_fb, num_fftaps, num_fbtaps)"
+
+%feature("docstring") gr_map_bb "output[i] = map[input[i]]"
+
+%feature("docstring") gr_map_bb::gr_map_bb "
+
+Params: (map)"
+
+%feature("docstring") gr_map_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_map_bb "Creates a map_bb block.
+
+output[i] = map[input[i]]
+
+Params: (map)"
+
+
+
+%feature("docstring") gr_max_ff::gr_max_ff "
+
+Params: (vlen)"
+
+%feature("docstring") gr_max_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_max_ff "Creates a max_ff block.
+
+
+
+Params: (vlen)"
+
+
+
+%feature("docstring") gr_max_ii::gr_max_ii "
+
+Params: (vlen)"
+
+%feature("docstring") gr_max_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_max_ii "Creates a max_ii block.
+
+
+
+Params: (vlen)"
+
+
+
+%feature("docstring") gr_max_ss::gr_max_ss "
+
+Params: (vlen)"
+
+%feature("docstring") gr_max_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_max_ss "Creates a max_ss block.
+
+
+
+Params: (vlen)"
+
+%feature("docstring") gr_message "Message class.
+
+The ideas and method names for adjustable message length were lifted from the click modular router \"Packet\" class."
+
+%feature("docstring") gr_message::gr_message "
+
+Params: (type, arg1, arg2, length)"
+
+%feature("docstring") gr_message::buf_data "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message::buf_len "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message::~gr_message "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message::type "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message::arg1 "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message::arg2 "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message::set_type "
+
+Params: (type)"
+
+%feature("docstring") gr_message::set_arg1 "
+
+Params: (arg1)"
+
+%feature("docstring") gr_message::set_arg2 "
+
+Params: (arg2)"
+
+%feature("docstring") gr_message::msg "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message::length "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message::to_string "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_message "Creates a message block.
+
+Message class.
+
+The ideas and method names for adjustable message length were lifted from the click modular router \"Packet\" class.
+
+Params: (type, arg1, arg2, length)"
+
+%feature("docstring") gr_message_sink "Gather received items into messages and insert into msgq."
+
+%feature("docstring") gr_message_sink::gr_message_sink "
+
+Params: (itemsize, msgq, dont_block)"
+
+%feature("docstring") gr_message_sink::~gr_message_sink "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_message_sink "Creates a message_sink block.
+
+Gather received items into messages and insert into msgq.
+
+Params: (itemsize, msgq, dont_block)"
+
+%feature("docstring") gr_message_source "Turn received messages into a stream."
+
+%feature("docstring") gr_message_source::gr_message_source "
+
+Params: (itemsize, msgq_limit)"
+
+%feature("docstring") gr_message_source::~gr_message_source "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message_source::msgq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_message_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_message_source "Creates a message_source block.
+
+Turn received messages into a stream.
+
+Params: (itemsize, msgq_limit)"
+
+%feature("docstring") gr_moving_average_cc "output is the moving sum of the last N samples, scaled by the scale factor
+
+max_iter limits how long we go without flushing the accumulator This is necessary to avoid numerical instability for float and complex."
+
+%feature("docstring") gr_moving_average_cc::gr_moving_average_cc "
+
+Params: (length, scale, max_iter)"
+
+%feature("docstring") gr_moving_average_cc::~gr_moving_average_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_moving_average_cc::length "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_cc::scale "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_cc::set_length_and_scale "
+
+Params: (length, scale)"
+
+%feature("docstring") gr_make_moving_average_cc "Creates a moving_average_cc block.
+
+output is the moving sum of the last N samples, scaled by the scale factor
+
+max_iter limits how long we go without flushing the accumulator This is necessary to avoid numerical instability for float and complex.
+
+Params: (length, scale, max_iter)"
+
+%feature("docstring") gr_moving_average_ff "output is the moving sum of the last N samples, scaled by the scale factor
+
+max_iter limits how long we go without flushing the accumulator This is necessary to avoid numerical instability for float and complex."
+
+%feature("docstring") gr_moving_average_ff::gr_moving_average_ff "
+
+Params: (length, scale, max_iter)"
+
+%feature("docstring") gr_moving_average_ff::~gr_moving_average_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_moving_average_ff::length "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ff::scale "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ff::set_length_and_scale "
+
+Params: (length, scale)"
+
+%feature("docstring") gr_make_moving_average_ff "Creates a moving_average_ff block.
+
+output is the moving sum of the last N samples, scaled by the scale factor
+
+max_iter limits how long we go without flushing the accumulator This is necessary to avoid numerical instability for float and complex.
+
+Params: (length, scale, max_iter)"
+
+%feature("docstring") gr_moving_average_ii "output is the moving sum of the last N samples, scaled by the scale factor
+
+max_iter limits how long we go without flushing the accumulator This is necessary to avoid numerical instability for float and complex."
+
+%feature("docstring") gr_moving_average_ii::gr_moving_average_ii "
+
+Params: (length, scale, max_iter)"
+
+%feature("docstring") gr_moving_average_ii::~gr_moving_average_ii "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_moving_average_ii::length "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ii::scale "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ii::set_length_and_scale "
+
+Params: (length, scale)"
+
+%feature("docstring") gr_make_moving_average_ii "Creates a moving_average_ii block.
+
+output is the moving sum of the last N samples, scaled by the scale factor
+
+max_iter limits how long we go without flushing the accumulator This is necessary to avoid numerical instability for float and complex.
+
+Params: (length, scale, max_iter)"
+
+%feature("docstring") gr_moving_average_ss "output is the moving sum of the last N samples, scaled by the scale factor
+
+max_iter limits how long we go without flushing the accumulator This is necessary to avoid numerical instability for float and complex."
+
+%feature("docstring") gr_moving_average_ss::gr_moving_average_ss "
+
+Params: (length, scale, max_iter)"
+
+%feature("docstring") gr_moving_average_ss::~gr_moving_average_ss "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_moving_average_ss::length "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ss::scale "
+
+Params: (NONE)"
+
+%feature("docstring") gr_moving_average_ss::set_length_and_scale "
+
+Params: (length, scale)"
+
+%feature("docstring") gr_make_moving_average_ss "Creates a moving_average_ss block.
+
+output is the moving sum of the last N samples, scaled by the scale factor
+
+max_iter limits how long we go without flushing the accumulator This is necessary to avoid numerical instability for float and complex.
+
+Params: (length, scale, max_iter)"
+
+%feature("docstring") gr_mpsk_receiver_cc "This block takes care of receiving M-PSK modulated signals through phase, frequency, and symbol synchronization.
+
+This block takes care of receiving M-PSK modulated signals through phase, frequency, and symbol synchronization. It performs carrier frequency and phase locking as well as symbol timing recovery. It works with (D)BPSK, (D)QPSK, and (D)8PSK as tested currently. It should also work for OQPSK and PI/4 DQPSK.
+
+The phase and frequency synchronization are based on a Costas loop that finds the error of the incoming signal point compared to its nearest constellation point. The frequency and phase of the NCO are updated according to this error. There are optimized phase error detectors for BPSK and QPSK, but 8PSK is done using a brute-force computation of the constellation points to find the minimum.
+
+The symbol synchronization is done using a modified Mueller and Muller circuit from the paper:
+
+G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller and Muller
+ algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
+
+This circuit interpolates the downconverted sample (using the NCO developed by the Costas loop) every mu samples, then it finds the sampling error based on this and the past symbols and the decision made on the samples. Like the phase error detector, there are optimized decision algorithms for BPSK and QPKS, but 8PSK uses another brute force computation against all possible symbols. The modifications to the M&M used here reduce self-noise."
+
+%feature("docstring") gr_mpsk_receiver_cc::~gr_mpsk_receiver_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_mpsk_receiver_cc::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_mpsk_receiver_cc::mu "(M&M) Returns current value of mu
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::omega "(M&M) Returns current value of omega
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::gain_mu "(M&M) Returns mu gain factor
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::gain_omega "(M&M) Returns omega gain factor
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::set_mu "(M&M) Sets value of mu
+
+Params: (mu)"
+
+%feature("docstring") gr_mpsk_receiver_cc::set_omega "(M&M) Sets value of omega and its min and max values
+
+Params: (omega)"
+
+%feature("docstring") gr_mpsk_receiver_cc::set_gain_mu "(M&M) Sets value for mu gain factor
+
+Params: (gain_mu)"
+
+%feature("docstring") gr_mpsk_receiver_cc::set_gain_omega "(M&M) Sets value for omega gain factor
+
+Params: (gain_omega)"
+
+%feature("docstring") gr_mpsk_receiver_cc::alpha "(CL) Returns the value for alpha (the phase gain term)
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::beta "(CL) Returns the value of beta (the frequency gain term)
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::freq "(CL) Returns the current value of the frequency of the NCO in the Costas loop
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::phase "(CL) Returns the current value of the phase of the NCO in the Costal loop
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::set_alpha "(CL) Sets the value for alpha (the phase gain term)
+
+Params: (alpha)"
+
+%feature("docstring") gr_mpsk_receiver_cc::set_beta "(CL) Setss the value of beta (the frequency gain term)
+
+Params: (beta)"
+
+%feature("docstring") gr_mpsk_receiver_cc::set_freq "(CL) Sets the current value of the frequency of the NCO in the Costas loop
+
+Params: (freq)"
+
+%feature("docstring") gr_mpsk_receiver_cc::set_phase "(CL) Setss the current value of the phase of the NCO in the Costal loop
+
+Params: (phase)"
+
+%feature("docstring") gr_mpsk_receiver_cc::gr_mpsk_receiver_cc "Constructor to synchronize incoming M-PSK symbols.
+
+The constructor also chooses which phase detector and decision maker to use in the work loop based on the value of M.
+
+Params: (M, theta, alpha, beta, fmin, fmax, mu, gain_mu, omega, gain_omega, omega_rel)"
+
+%feature("docstring") gr_mpsk_receiver_cc::make_constellation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_mpsk_receiver_cc::mm_sampler "
+
+Params: (symbol)"
+
+%feature("docstring") gr_mpsk_receiver_cc::mm_error_tracking "
+
+Params: (sample)"
+
+%feature("docstring") gr_mpsk_receiver_cc::phase_error_tracking "
+
+Params: (sample)"
+
+%feature("docstring") gr_mpsk_receiver_cc::phase_error_detector_generic "Phase error detector for MPSK modulations.
+
+This function determines the phase error for any MPSK signal by creating a set of PSK constellation points and doing a brute-force search to see which point minimizes the Euclidean distance. This point is then used to derotate the sample to the real-axis and a atan (using the fast approximation function) to determine the phase difference between the incoming sample and the real constellation point
+
+This should be cleaned up and made more efficient.
+
+Params: (sample)"
+
+%feature("docstring") gr_mpsk_receiver_cc::phase_error_detector_bpsk "Phase error detector for BPSK modulation.
+
+This function determines the phase error using a simple BPSK phase error detector by multiplying the real and imaginary (the error signal) components together. As the imaginary part goes to 0, so does this error.
+
+Params: (sample)"
+
+%feature("docstring") gr_mpsk_receiver_cc::phase_error_detector_qpsk "Phase error detector for QPSK modulation.
+
+This function determines the phase error using the limiter approach in a standard 4th order Costas loop
+
+Params: (sample)"
+
+%feature("docstring") gr_mpsk_receiver_cc::decision_generic "Decision maker for a generic MPSK constellation.
+
+This decision maker is a generic implementation that does a brute-force search for the constellation point that minimizes the error between it and the incoming signal.
+
+Params: (sample)"
+
+%feature("docstring") gr_mpsk_receiver_cc::decision_bpsk "Decision maker for BPSK constellation.
+
+This decision maker is a simple slicer function that makes a decision on the symbol based on its placement on the real axis of greater than 0 or less than 0; the quadrature component is always 0.
+
+Params: (sample)"
+
+%feature("docstring") gr_mpsk_receiver_cc::decision_qpsk "Decision maker for QPSK constellation.
+
+This decision maker is a simple slicer function that makes a decision on the symbol based on its placement versus both axes and returns which quadrant the symbol is in.
+
+Params: (sample)"
+
+%feature("docstring") gr_mpsk_receiver_cc::__attribute__ "delay line plus some length for overflow protection
+
+Params: ()"
+
+%feature("docstring") gr_make_mpsk_receiver_cc "Creates a mpsk_receiver_cc block.
+
+This block takes care of receiving M-PSK modulated signals through phase, frequency, and symbol synchronization.
+
+This block takes care of receiving M-PSK modulated signals through phase, frequency, and symbol synchronization. It performs carrier frequency and phase locking as well as symbol timing recovery. It works with (D)BPSK, (D)QPSK, and (D)8PSK as tested currently. It should also work for OQPSK and PI/4 DQPSK.
+
+The phase and frequency synchronization are based on a Costas loop that finds the error of the incoming signal point compared to its nearest constellation point. The frequency and phase of the NCO are updated according to this error. There are optimized phase error detectors for BPSK and QPSK, but 8PSK is done using a brute-force computation of the constellation points to find the minimum.
+
+The symbol synchronization is done using a modified Mueller and Muller circuit from the paper:
+
+G. R. Danesfahani, T.G. Jeans, \"Optimisation of modified Mueller and Muller
+ algorithm,\" Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
+
+This circuit interpolates the downconverted sample (using the NCO developed by the Costas loop) every mu samples, then it finds the sampling error based on this and the past symbols and the decision made on the samples. Like the phase error detector, there are optimized decision algorithms for BPSK and QPKS, but 8PSK uses another brute force computation against all possible symbols. The modifications to the M&M used here reduce self-noise.
+
+Params: (M, theta, alpha, beta, fmin, fmax, mu, gain_mu, omega, gain_omega, omega_rel)"
+
+%feature("docstring") gr_multiply_cc "output = prod (input_0, input_1, ...)
+
+Multiply across all input streams."
+
+%feature("docstring") gr_multiply_cc::gr_multiply_cc "
+
+Params: (vlen)"
+
+%feature("docstring") gr_multiply_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_cc "Creates a multiply_cc block.
+
+output = prod (input_0, input_1, ...)
+
+Multiply across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_multiply_const_cc "output = input * constant"
+
+%feature("docstring") gr_multiply_const_cc::gr_multiply_const_cc "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_cc::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_multiply_const_cc::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_const_cc "Creates a multiply_const_cc block.
+
+output = input * constant
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ff "output = input * constant"
+
+%feature("docstring") gr_multiply_const_ff::gr_multiply_const_ff "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ff::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_multiply_const_ff::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_const_ff "Creates a multiply_const_ff block.
+
+output = input * constant
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ii "output = input * constant"
+
+%feature("docstring") gr_multiply_const_ii::gr_multiply_const_ii "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ii::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_multiply_const_ii::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_const_ii "Creates a multiply_const_ii block.
+
+output = input * constant
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ss "output = input * constant"
+
+%feature("docstring") gr_multiply_const_ss::gr_multiply_const_ss "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ss::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_multiply_const_ss::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_const_ss "Creates a multiply_const_ss block.
+
+output = input * constant
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vcc "output vector = input vector * constant vector (element-wise)"
+
+%feature("docstring") gr_multiply_const_vcc::gr_multiply_const_vcc "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vcc::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_multiply_const_vcc::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vcc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_const_vcc "Creates a multiply_const_vcc block.
+
+output vector = input vector * constant vector (element-wise)
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vff "output vector = input vector * constant vector (element-wise)"
+
+%feature("docstring") gr_multiply_const_vff::gr_multiply_const_vff "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vff::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_multiply_const_vff::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_const_vff "Creates a multiply_const_vff block.
+
+output vector = input vector * constant vector (element-wise)
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vii "output vector = input vector * constant vector (element-wise)"
+
+%feature("docstring") gr_multiply_const_vii::gr_multiply_const_vii "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vii::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_multiply_const_vii::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_const_vii "Creates a multiply_const_vii block.
+
+output vector = input vector * constant vector (element-wise)
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vss "output vector = input vector * constant vector (element-wise)"
+
+%feature("docstring") gr_multiply_const_vss::gr_multiply_const_vss "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vss::k "
+
+Params: (NONE)"
+
+%feature("docstring") gr_multiply_const_vss::set_k "
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_const_vss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_const_vss "Creates a multiply_const_vss block.
+
+output vector = input vector * constant vector (element-wise)
+
+Params: (k)"
+
+%feature("docstring") gr_multiply_ff "output = prod (input_0, input_1, ...)
+
+Multiply across all input streams."
+
+%feature("docstring") gr_multiply_ff::gr_multiply_ff "
+
+Params: (vlen)"
+
+%feature("docstring") gr_multiply_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_ff "Creates a multiply_ff block.
+
+output = prod (input_0, input_1, ...)
+
+Multiply across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_multiply_ii "output = prod (input_0, input_1, ...)
+
+Multiply across all input streams."
+
+%feature("docstring") gr_multiply_ii::gr_multiply_ii "
+
+Params: (vlen)"
+
+%feature("docstring") gr_multiply_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_ii "Creates a multiply_ii block.
+
+output = prod (input_0, input_1, ...)
+
+Multiply across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_multiply_ss "output = prod (input_0, input_1, ...)
+
+Multiply across all input streams."
+
+%feature("docstring") gr_multiply_ss::gr_multiply_ss "
+
+Params: (vlen)"
+
+%feature("docstring") gr_multiply_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_multiply_ss "Creates a multiply_ss block.
+
+output = prod (input_0, input_1, ...)
+
+Multiply across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_mute_cc "output = input or zero if muted."
+
+%feature("docstring") gr_mute_cc::gr_mute_cc "
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_cc::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_mute_cc::set_mute "
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_mute_cc "Creates a mute_cc block.
+
+output = input or zero if muted.
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ff "output = input or zero if muted."
+
+%feature("docstring") gr_mute_ff::gr_mute_ff "
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ff::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_mute_ff::set_mute "
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_mute_ff "Creates a mute_ff block.
+
+output = input or zero if muted.
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ii "output = input or zero if muted."
+
+%feature("docstring") gr_mute_ii::gr_mute_ii "
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ii::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_mute_ii::set_mute "
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_mute_ii "Creates a mute_ii block.
+
+output = input or zero if muted.
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ss "output = input or zero if muted."
+
+%feature("docstring") gr_mute_ss::gr_mute_ss "
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ss::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_mute_ss::set_mute "
+
+Params: (mute)"
+
+%feature("docstring") gr_mute_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_mute_ss "Creates a mute_ss block.
+
+output = input or zero if muted.
+
+Params: (mute)"
+
+%feature("docstring") gr_nlog10_ff "output = n*log10(input) + k"
+
+%feature("docstring") gr_nlog10_ff::gr_nlog10_ff "
+
+Params: (n, vlen, k)"
+
+%feature("docstring") gr_nlog10_ff::~gr_nlog10_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_nlog10_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_nlog10_ff "Creates a nlog10_ff block.
+
+output = n*log10(input) + k
+
+Params: (n, vlen, k)"
+
+%feature("docstring") gr_noise_source_c "random number source"
+
+%feature("docstring") gr_noise_source_c::gr_noise_source_c "
+
+Params: (type, ampl, seed)"
+
+%feature("docstring") gr_noise_source_c::set_type "
+
+Params: (type)"
+
+%feature("docstring") gr_noise_source_c::set_amplitude "
+
+Params: (ampl)"
+
+%feature("docstring") gr_noise_source_c::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_noise_source_c "Creates a noise_source_c block.
+
+random number source
+
+Params: (type, ampl, seed)"
+
+%feature("docstring") gr_noise_source_f "random number source"
+
+%feature("docstring") gr_noise_source_f::gr_noise_source_f "
+
+Params: (type, ampl, seed)"
+
+%feature("docstring") gr_noise_source_f::set_type "
+
+Params: (type)"
+
+%feature("docstring") gr_noise_source_f::set_amplitude "
+
+Params: (ampl)"
+
+%feature("docstring") gr_noise_source_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_noise_source_f "Creates a noise_source_f block.
+
+random number source
+
+Params: (type, ampl, seed)"
+
+%feature("docstring") gr_noise_source_i "random number source"
+
+%feature("docstring") gr_noise_source_i::gr_noise_source_i "
+
+Params: (type, ampl, seed)"
+
+%feature("docstring") gr_noise_source_i::set_type "
+
+Params: (type)"
+
+%feature("docstring") gr_noise_source_i::set_amplitude "
+
+Params: (ampl)"
+
+%feature("docstring") gr_noise_source_i::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_noise_source_i "Creates a noise_source_i block.
+
+random number source
+
+Params: (type, ampl, seed)"
+
+%feature("docstring") gr_noise_source_s "random number source"
+
+%feature("docstring") gr_noise_source_s::gr_noise_source_s "
+
+Params: (type, ampl, seed)"
+
+%feature("docstring") gr_noise_source_s::set_type "
+
+Params: (type)"
+
+%feature("docstring") gr_noise_source_s::set_amplitude "
+
+Params: (ampl)"
+
+%feature("docstring") gr_noise_source_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_noise_source_s "Creates a noise_source_s block.
+
+random number source
+
+Params: (type, ampl, seed)"
+
+%feature("docstring") gr_nop "Does nothing. Used for testing only."
+
+%feature("docstring") gr_nop::gr_nop "
+
+Params: (sizeof_stream_item)"
+
+%feature("docstring") gr_nop::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_nop "Creates a nop block.
+
+Does nothing. Used for testing only.
+
+Params: (sizeof_stream_item)"
+
+%feature("docstring") gr_not_bb "output = ~input_0
+
+bitwise boolean not across input stream."
+
+%feature("docstring") gr_not_bb::gr_not_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_not_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_not_bb "Creates a not_bb block.
+
+output = ~input_0
+
+bitwise boolean not across input stream.
+
+Params: (NONE)"
+
+%feature("docstring") gr_not_ii "output = ~input_0
+
+bitwise boolean not across input stream."
+
+%feature("docstring") gr_not_ii::gr_not_ii "
+
+Params: (NONE)"
+
+%feature("docstring") gr_not_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_not_ii "Creates a not_ii block.
+
+output = ~input_0
+
+bitwise boolean not across input stream.
+
+Params: (NONE)"
+
+%feature("docstring") gr_not_ss "output = ~input_0
+
+bitwise boolean not across input stream."
+
+%feature("docstring") gr_not_ss::gr_not_ss "
+
+Params: (NONE)"
+
+%feature("docstring") gr_not_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_not_ss "Creates a not_ss block.
+
+output = ~input_0
+
+bitwise boolean not across input stream.
+
+Params: (NONE)"
+
+%feature("docstring") gr_null_sink "Bit bucket."
+
+%feature("docstring") gr_null_sink::gr_null_sink "
+
+Params: (sizeof_stream_item)"
+
+%feature("docstring") gr_null_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_null_sink "Creates a null_sink block.
+
+Bit bucket.
+
+Params: (sizeof_stream_item)"
+
+%feature("docstring") gr_null_source "A source of zeros."
+
+%feature("docstring") gr_null_source::gr_null_source "
+
+Params: (sizeof_stream_item)"
+
+%feature("docstring") gr_null_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_null_source "Creates a null_source block.
+
+A source of zeros.
+
+Params: (sizeof_stream_item)"
+
+%feature("docstring") gr_ofdm_bpsk_demapper "take a vector of complex constellation points in from an FFT and demodulate to a stream of bits. Simple BPSK version."
+
+%feature("docstring") gr_ofdm_bpsk_demapper::gr_ofdm_bpsk_demapper "
+
+Params: (occupied_carriers)"
+
+%feature("docstring") gr_ofdm_bpsk_demapper::slicer "
+
+Params: (x)"
+
+%feature("docstring") gr_ofdm_bpsk_demapper::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_ofdm_bpsk_demapper::~gr_ofdm_bpsk_demapper "
+
+Params: ()"
+
+%feature("docstring") gr_ofdm_bpsk_demapper::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_ofdm_bpsk_demapper "Creates a ofdm_bpsk_demapper block.
+
+take a vector of complex constellation points in from an FFT and demodulate to a stream of bits. Simple BPSK version.
+
+Params: (occupied_carriers)"
+
+%feature("docstring") gr_ofdm_cyclic_prefixer "adds a cyclic prefix vector to an input size long ofdm symbol(vector) and converts vector to a stream output_size long."
+
+%feature("docstring") gr_ofdm_cyclic_prefixer::gr_ofdm_cyclic_prefixer "
+
+Params: (input_size, output_size)"
+
+%feature("docstring") gr_ofdm_cyclic_prefixer::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_ofdm_cyclic_prefixer "Creates a ofdm_cyclic_prefixer block.
+
+adds a cyclic prefix vector to an input size long ofdm symbol(vector) and converts vector to a stream output_size long.
+
+Params: (input_size, output_size)"
+
+%feature("docstring") gr_ofdm_demapper_vcb "take a stream of vectors in from an FFT and demodulate to a stream of bits. Abstract class must be subclassed with specific mapping."
+
+%feature("docstring") gr_ofdm_demapper_vcb::gr_ofdm_demapper_vcb "
+
+Params: (bits_per_symbol, vlen)"
+
+%feature("docstring") gr_ofdm_demapper_vcb::~gr_ofdm_demapper_vcb "
+
+Params: ()"
+
+%feature("docstring") gr_make_ofdm_demapper_vcb "Creates a ofdm_demapper_vcb block.
+
+take a stream of vectors in from an FFT and demodulate to a stream of bits. Abstract class must be subclassed with specific mapping.
+
+Params: (bits_per_symbol, vlen)"
+
+%feature("docstring") gr_ofdm_frame_acquisition "take a vector of complex constellation points in from an FFT and performs a correlation and equalization.
+
+This block takes the output of an FFT of a received OFDM symbol and finds the start of a frame based on two known symbols. It also looks at the surrounding bins in the FFT output for the correlation in case there is a large frequency shift in the data. This block assumes that the fine frequency shift has already been corrected and that the samples fall in the middle of one FFT bin.
+
+It then uses one of those known symbols to estimate the channel response over all subcarriers and does a simple 1-tap equalization on all subcarriers. This corrects for the phase and amplitude distortion caused by the channel."
+
+%feature("docstring") gr_ofdm_frame_acquisition::gr_ofdm_frame_acquisition "
+
+Params: (occupied_carriers, fft_length, cplen, known_symbol, max_fft_shift_len)"
+
+%feature("docstring") gr_ofdm_frame_acquisition::slicer "
+
+Params: (x)"
+
+%feature("docstring") gr_ofdm_frame_acquisition::correlate "
+
+Params: (symbol, zeros_on_left)"
+
+%feature("docstring") gr_ofdm_frame_acquisition::calculate_equalizer "
+
+Params: (symbol, zeros_on_left)"
+
+%feature("docstring") gr_ofdm_frame_acquisition::coarse_freq_comp "
+
+Params: (freq_delta, count)"
+
+%feature("docstring") gr_ofdm_frame_acquisition::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_ofdm_frame_acquisition::snr "Return an estimate of the SNR of the channel.
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_frame_acquisition::~gr_ofdm_frame_acquisition "
+
+Params: ()"
+
+%feature("docstring") gr_ofdm_frame_acquisition::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_ofdm_frame_acquisition "Creates a ofdm_frame_acquisition block.
+
+take a vector of complex constellation points in from an FFT and performs a correlation and equalization.
+
+This block takes the output of an FFT of a received OFDM symbol and finds the start of a frame based on two known symbols. It also looks at the surrounding bins in the FFT output for the correlation in case there is a large frequency shift in the data. This block assumes that the fine frequency shift has already been corrected and that the samples fall in the middle of one FFT bin.
+
+It then uses one of those known symbols to estimate the channel response over all subcarriers and does a simple 1-tap equalization on all subcarriers. This corrects for the phase and amplitude distortion caused by the channel.
+
+Params: (occupied_carriers, fft_length, cplen, known_symbol, max_fft_shift_len)"
+
+%feature("docstring") gr_ofdm_frame_sink "Takes an OFDM symbol in, demaps it into bits of 0's and 1's, packs them into packets, and sends to to a message queue sink.
+
+NOTE: The mod input parameter simply chooses a pre-defined demapper/slicer. Eventually, we want to be able to pass in a reference to an object to do the demapping and slicing for a given modulation type."
+
+%feature("docstring") gr_ofdm_frame_sink::gr_ofdm_frame_sink "
+
+Params: (sym_position, sym_value_out, target_queue, occupied_tones, phase_gain, freq_gain)"
+
+%feature("docstring") gr_ofdm_frame_sink::enter_search "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_frame_sink::enter_have_sync "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_frame_sink::enter_have_header "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_frame_sink::header_ok "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_frame_sink::slicer "
+
+Params: (x)"
+
+%feature("docstring") gr_ofdm_frame_sink::demapper "
+
+Params: (in, out)"
+
+%feature("docstring") gr_ofdm_frame_sink::set_sym_value_out "
+
+Params: (sym_position, sym_value_out)"
+
+%feature("docstring") gr_ofdm_frame_sink::~gr_ofdm_frame_sink "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_frame_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_ofdm_frame_sink "Creates a ofdm_frame_sink block.
+
+Takes an OFDM symbol in, demaps it into bits of 0's and 1's, packs them into packets, and sends to to a message queue sink.
+
+NOTE: The mod input parameter simply chooses a pre-defined demapper/slicer. Eventually, we want to be able to pass in a reference to an object to do the demapping and slicing for a given modulation type.
+
+Params: (sym_position, sym_value_out, target_queue, occupied_tones, phase_gain, freq_gain)"
+
+%feature("docstring") gr_ofdm_insert_preamble "insert \"pre-modulated\" preamble symbols before each payload."
+
+%feature("docstring") gr_ofdm_insert_preamble::gr_ofdm_insert_preamble "
+
+Params: (fft_length, preamble)"
+
+%feature("docstring") gr_ofdm_insert_preamble::enter_idle "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_insert_preamble::enter_preamble "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_insert_preamble::enter_first_payload "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_insert_preamble::enter_payload "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_insert_preamble::~gr_ofdm_insert_preamble "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_insert_preamble::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_ofdm_insert_preamble "Creates a ofdm_insert_preamble block.
+
+insert \"pre-modulated\" preamble symbols before each payload.
+
+Params: (fft_length, preamble)"
+
+%feature("docstring") gr_ofdm_mapper_bcv "take a stream of bytes in and map to a vector of complex constellation points suitable for IFFT input to be used in an ofdm modulator. Abstract class must be subclassed with specific mapping."
+
+%feature("docstring") gr_ofdm_mapper_bcv::gr_ofdm_mapper_bcv "
+
+Params: (constellation, msgq_limit, occupied_carriers, fft_length)"
+
+%feature("docstring") gr_ofdm_mapper_bcv::randsym "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_mapper_bcv::~gr_ofdm_mapper_bcv "
+
+Params: ()"
+
+%feature("docstring") gr_ofdm_mapper_bcv::msgq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_ofdm_mapper_bcv::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_ofdm_mapper_bcv "Creates a ofdm_mapper_bcv block.
+
+take a stream of bytes in and map to a vector of complex constellation points suitable for IFFT input to be used in an ofdm modulator. Abstract class must be subclassed with specific mapping.
+
+Params: (constellation, msgq_limit, occupied_carriers, fft_length)"
+
+%feature("docstring") gr_ofdm_sampler "does the rest of the OFDM stuff"
+
+%feature("docstring") gr_ofdm_sampler::gr_ofdm_sampler "
+
+Params: (fft_length, symbol_length, timeout)"
+
+%feature("docstring") gr_ofdm_sampler::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_ofdm_sampler::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_ofdm_sampler "Creates a ofdm_sampler block.
+
+does the rest of the OFDM stuff
+
+Params: (fft_length, symbol_length, timeout)"
+
+%feature("docstring") gr_or_bb "output = input_0 | input_1 | , ... | input_N)
+
+bitwise boolean or across all input streams."
+
+%feature("docstring") gr_or_bb::gr_or_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_or_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_or_bb "Creates a or_bb block.
+
+output = input_0 | input_1 | , ... | input_N)
+
+bitwise boolean or across all input streams.
+
+Params: (NONE)"
+
+%feature("docstring") gr_or_ii "output = input_0 | input_1 | , ... | input_N)
+
+bitwise boolean or across all input streams."
+
+%feature("docstring") gr_or_ii::gr_or_ii "
+
+Params: (NONE)"
+
+%feature("docstring") gr_or_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_or_ii "Creates a or_ii block.
+
+output = input_0 | input_1 | , ... | input_N)
+
+bitwise boolean or across all input streams.
+
+Params: (NONE)"
+
+%feature("docstring") gr_or_ss "output = input_0 | input_1 | , ... | input_N)
+
+bitwise boolean or across all input streams."
+
+%feature("docstring") gr_or_ss::gr_or_ss "
+
+Params: (NONE)"
+
+%feature("docstring") gr_or_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_or_ss "Creates a or_ss block.
+
+output = input_0 | input_1 | , ... | input_N)
+
+bitwise boolean or across all input streams.
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_f "Building block for python oscilloscope module.
+
+Accepts multiple float streams."
+
+%feature("docstring") gr_oscope_sink_f::gr_oscope_sink_f "
+
+Params: (sampling_rate, msgq)"
+
+%feature("docstring") gr_oscope_sink_f::~gr_oscope_sink_f "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_oscope_sink_f::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_oscope_sink_f "Creates a oscope_sink_f block.
+
+Building block for python oscilloscope module.
+
+Accepts multiple float streams.
+
+Params: (sampling_rate, msgq)"
+
+%feature("docstring") gr_pa_2x2_phase_combiner "pa_2x2 phase combiner
+
+Anntenas are arranged like this:
+
+2 3 0 1
+
+dx and dy are lambda/2."
+
+%feature("docstring") gr_pa_2x2_phase_combiner::gr_pa_2x2_phase_combiner "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pa_2x2_phase_combiner::theta "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pa_2x2_phase_combiner::set_theta "
+
+Params: (theta)"
+
+%feature("docstring") gr_pa_2x2_phase_combiner::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_pa_2x2_phase_combiner "Creates a pa_2x2_phase_combiner block.
+
+pa_2x2 phase combiner
+
+Anntenas are arranged like this:
+
+2 3 0 1
+
+dx and dy are lambda/2.
+
+Params: (NONE)"
+
+%feature("docstring") gr_packed_to_unpacked_bb "Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts.
+
+input: stream of unsigned char; output: stream of unsigned char.
+
+This is the inverse of gr_unpacked_to_packed_XX.
+
+The bits in the bytes or shorts input stream are grouped into chunks of bits and each resulting chunk is written right- justified to the output stream of bytes or shorts. All b or 16 bits of the each input bytes or short are processed. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX_ followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_packed_to_unpacked_bb::gr_packed_to_unpacked_bb "
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_packed_to_unpacked_bb::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_packed_to_unpacked_bb::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_packed_to_unpacked_bb::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_packed_to_unpacked_bb "Creates a packed_to_unpacked_bb block.
+
+Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts.
+
+input: stream of unsigned char; output: stream of unsigned char.
+
+This is the inverse of gr_unpacked_to_packed_XX.
+
+The bits in the bytes or shorts input stream are grouped into chunks of bits and each resulting chunk is written right- justified to the output stream of bytes or shorts. All b or 16 bits of the each input bytes or short are processed. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX_ followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_packed_to_unpacked_ii "Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts.
+
+input: stream of int; output: stream of int.
+
+This is the inverse of gr_unpacked_to_packed_XX.
+
+The bits in the bytes or shorts input stream are grouped into chunks of bits and each resulting chunk is written right- justified to the output stream of bytes or shorts. All b or 16 bits of the each input bytes or short are processed. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX_ followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_packed_to_unpacked_ii::gr_packed_to_unpacked_ii "
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_packed_to_unpacked_ii::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_packed_to_unpacked_ii::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_packed_to_unpacked_ii::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_packed_to_unpacked_ii "Creates a packed_to_unpacked_ii block.
+
+Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts.
+
+input: stream of int; output: stream of int.
+
+This is the inverse of gr_unpacked_to_packed_XX.
+
+The bits in the bytes or shorts input stream are grouped into chunks of bits and each resulting chunk is written right- justified to the output stream of bytes or shorts. All b or 16 bits of the each input bytes or short are processed. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX_ followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_packed_to_unpacked_ss "Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts.
+
+input: stream of short; output: stream of short.
+
+This is the inverse of gr_unpacked_to_packed_XX.
+
+The bits in the bytes or shorts input stream are grouped into chunks of bits and each resulting chunk is written right- justified to the output stream of bytes or shorts. All b or 16 bits of the each input bytes or short are processed. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX_ followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_packed_to_unpacked_ss::gr_packed_to_unpacked_ss "
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_packed_to_unpacked_ss::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_packed_to_unpacked_ss::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_packed_to_unpacked_ss::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_packed_to_unpacked_ss "Creates a packed_to_unpacked_ss block.
+
+Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts.
+
+input: stream of short; output: stream of short.
+
+This is the inverse of gr_unpacked_to_packed_XX.
+
+The bits in the bytes or shorts input stream are grouped into chunks of bits and each resulting chunk is written right- justified to the output stream of bytes or shorts. All b or 16 bits of the each input bytes or short are processed. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX_ followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_packet_sink "process received bits looking for packet sync, header, and process bits into packet"
+
+%feature("docstring") gr_packet_sink::gr_packet_sink "
+
+Params: (sync_vector, target_queue, threshold)"
+
+%feature("docstring") gr_packet_sink::enter_search "
+
+Params: (NONE)"
+
+%feature("docstring") gr_packet_sink::enter_have_sync "
+
+Params: (NONE)"
+
+%feature("docstring") gr_packet_sink::enter_have_header "
+
+Params: (payload_len)"
+
+%feature("docstring") gr_packet_sink::slice "
+
+Params: (x)"
+
+%feature("docstring") gr_packet_sink::header_ok "
+
+Params: (NONE)"
+
+%feature("docstring") gr_packet_sink::header_payload_len "
+
+Params: (NONE)"
+
+%feature("docstring") gr_packet_sink::~gr_packet_sink "
+
+Params: (NONE)"
+
+%feature("docstring") gr_packet_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_packet_sink::carrier_sensed "return true if we detect carrier
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_packet_sink "Creates a packet_sink block.
+
+process received bits looking for packet sync, header, and process bits into packet
+
+Params: (sync_vector, target_queue, threshold)"
+
+%feature("docstring") gr_peak_detector2_fb "Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's. A separate debug output may be connected, to view the internal EWMA described below."
+
+%feature("docstring") gr_peak_detector2_fb::gr_peak_detector2_fb "
+
+Params: (threshold_factor_rise, look_ahead, alpha)"
+
+%feature("docstring") gr_peak_detector2_fb::set_threshold_factor_rise "Set the threshold factor value for the rise time.
+
+Params: (thr)"
+
+%feature("docstring") gr_peak_detector2_fb::set_look_ahead "Set the look-ahead factor.
+
+Params: (look)"
+
+%feature("docstring") gr_peak_detector2_fb::set_alpha "Set the running average alpha.
+
+Params: (alpha)"
+
+%feature("docstring") gr_peak_detector2_fb::threshold_factor_rise "Get the threshold factor value for the rise time.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector2_fb::look_ahead "Get the look-ahead factor value.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector2_fb::alpha "Get the alpha value of the running average.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector2_fb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_peak_detector2_fb "Creates a peak_detector2_fb block.
+
+Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's. A separate debug output may be connected, to view the internal EWMA described below.
+
+Params: (threshold_factor_rise, look_ahead, alpha)"
+
+%feature("docstring") gr_peak_detector_fb "Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's."
+
+%feature("docstring") gr_peak_detector_fb::gr_peak_detector_fb "
+
+Params: (threshold_factor_rise, threshold_factor_fall, look_ahead, alpha)"
+
+%feature("docstring") gr_peak_detector_fb::set_threshold_factor_rise "Set the threshold factor value for the rise time.
+
+Params: (thr)"
+
+%feature("docstring") gr_peak_detector_fb::set_threshold_factor_fall "Set the threshold factor value for the fall time.
+
+Params: (thr)"
+
+%feature("docstring") gr_peak_detector_fb::set_look_ahead "Set the look-ahead factor.
+
+Params: (look)"
+
+%feature("docstring") gr_peak_detector_fb::set_alpha "Set the running average alpha.
+
+Params: (alpha)"
+
+%feature("docstring") gr_peak_detector_fb::threshold_factor_rise "Get the threshold factor value for the rise time.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_fb::threshold_factor_fall "Get the threshold factor value for the fall time.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_fb::look_ahead "Get the look-ahead factor value.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_fb::alpha "Get the alpha value of the running average.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_fb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_peak_detector_fb "Creates a peak_detector_fb block.
+
+Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's.
+
+Params: (threshold_factor_rise, threshold_factor_fall, look_ahead, alpha)"
+
+%feature("docstring") gr_peak_detector_ib "Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's."
+
+%feature("docstring") gr_peak_detector_ib::gr_peak_detector_ib "
+
+Params: (threshold_factor_rise, threshold_factor_fall, look_ahead, alpha)"
+
+%feature("docstring") gr_peak_detector_ib::set_threshold_factor_rise "Set the threshold factor value for the rise time.
+
+Params: (thr)"
+
+%feature("docstring") gr_peak_detector_ib::set_threshold_factor_fall "Set the threshold factor value for the fall time.
+
+Params: (thr)"
+
+%feature("docstring") gr_peak_detector_ib::set_look_ahead "Set the look-ahead factor.
+
+Params: (look)"
+
+%feature("docstring") gr_peak_detector_ib::set_alpha "Set the running average alpha.
+
+Params: (alpha)"
+
+%feature("docstring") gr_peak_detector_ib::threshold_factor_rise "Get the threshold factor value for the rise time.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_ib::threshold_factor_fall "Get the threshold factor value for the fall time.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_ib::look_ahead "Get the look-ahead factor value.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_ib::alpha "Get the alpha value of the running average.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_ib::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_peak_detector_ib "Creates a peak_detector_ib block.
+
+Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's.
+
+Params: (threshold_factor_rise, threshold_factor_fall, look_ahead, alpha)"
+
+%feature("docstring") gr_peak_detector_sb "Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's."
+
+%feature("docstring") gr_peak_detector_sb::gr_peak_detector_sb "
+
+Params: (threshold_factor_rise, threshold_factor_fall, look_ahead, alpha)"
+
+%feature("docstring") gr_peak_detector_sb::set_threshold_factor_rise "Set the threshold factor value for the rise time.
+
+Params: (thr)"
+
+%feature("docstring") gr_peak_detector_sb::set_threshold_factor_fall "Set the threshold factor value for the fall time.
+
+Params: (thr)"
+
+%feature("docstring") gr_peak_detector_sb::set_look_ahead "Set the look-ahead factor.
+
+Params: (look)"
+
+%feature("docstring") gr_peak_detector_sb::set_alpha "Set the running average alpha.
+
+Params: (alpha)"
+
+%feature("docstring") gr_peak_detector_sb::threshold_factor_rise "Get the threshold factor value for the rise time.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_sb::threshold_factor_fall "Get the threshold factor value for the fall time.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_sb::look_ahead "Get the look-ahead factor value.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_sb::alpha "Get the alpha value of the running average.
+
+Params: (NONE)"
+
+%feature("docstring") gr_peak_detector_sb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_peak_detector_sb "Creates a peak_detector_sb block.
+
+Detect the peak of a signal
+
+If a peak is detected, this block outputs a 1, or it outputs 0's.
+
+Params: (threshold_factor_rise, threshold_factor_fall, look_ahead, alpha)"
+
+%feature("docstring") gr_pfb_arb_resampler_ccf "Polyphase filterbank arbitrary resampler with gr_complex input, gr_complex output and float taps.
+
+This block takes in a signal stream and performs arbitrary resampling. The resampling rate can be any real number . The resampling is done by constructing filters where is the interpolation rate. We then calculate where .
+
+Using and , we can perform rational resampling where is a rational number close to the input rate where we have filters and we cycle through them as a polyphase filterbank with a stride of so that .
+
+To get the arbitrary rate, we want to interpolate between two points. For each value out, we take an output from the current filter, , and the next filter and then linearly interpolate between the two based on the real resampling rate we want.
+
+The linear interpolation only provides us with an approximation to the real sampling rate specified. The error is a quantization error between the two filters we used as our interpolation points. To this end, the number of filters, , used determines the quantization error; the larger , the smaller the noise. You can design for a specified noise floor by setting the filter size (parameters ). The size defaults to 32 filters, which is about as good as most implementations need.
+
+The trick with designing this filter is in how to specify the taps of the prototype filter. Like the PFB interpolator, the taps are specified using the interpolated filter rate. In this case, that rate is the input sample rate multiplied by the number of filters in the filterbank, which is also the interpolation rate. All other values should be relative to this rate.
+
+For example, for a 32-filter arbitrary resampler and using the GNU Radio's firdes utility to build the filter, we build a low-pass filter with a sampling rate of , a 3-dB bandwidth of and a transition bandwidth of . We can also specify the out-of-band attenuation to use, , and the filter window function (a Blackman-harris window in this case). The first input is the gain of the filter, which we specify here as the interpolation rate ().
+
+
+
+The theory behind this block can be found in Chapter 7.5 of the following book."
+
+%feature("docstring") gr_pfb_arb_resampler_ccf::gr_pfb_arb_resampler_ccf "Build the polyphase filterbank arbitray resampler.
+
+Params: (rate, taps, filter_size)"
+
+%feature("docstring") gr_pfb_arb_resampler_ccf::create_diff_taps "
+
+Params: (newtaps, difftaps)"
+
+%feature("docstring") gr_pfb_arb_resampler_ccf::create_taps "Resets the filterbank's filter taps with the new prototype filter
+
+Params: (newtaps, ourtaps, ourfilter)"
+
+%feature("docstring") gr_pfb_arb_resampler_ccf::~gr_pfb_arb_resampler_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_arb_resampler_ccf::print_taps "Print all of the filterbank taps to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_arb_resampler_ccf::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_pfb_arb_resampler_ccf "Creates a pfb_arb_resampler_ccf block.
+
+Polyphase filterbank arbitrary resampler with gr_complex input, gr_complex output and float taps.
+
+This block takes in a signal stream and performs arbitrary resampling. The resampling rate can be any real number . The resampling is done by constructing filters where is the interpolation rate. We then calculate where .
+
+Using and , we can perform rational resampling where is a rational number close to the input rate where we have filters and we cycle through them as a polyphase filterbank with a stride of so that .
+
+To get the arbitrary rate, we want to interpolate between two points. For each value out, we take an output from the current filter, , and the next filter and then linearly interpolate between the two based on the real resampling rate we want.
+
+The linear interpolation only provides us with an approximation to the real sampling rate specified. The error is a quantization error between the two filters we used as our interpolation points. To this end, the number of filters, , used determines the quantization error; the larger , the smaller the noise. You can design for a specified noise floor by setting the filter size (parameters ). The size defaults to 32 filters, which is about as good as most implementations need.
+
+The trick with designing this filter is in how to specify the taps of the prototype filter. Like the PFB interpolator, the taps are specified using the interpolated filter rate. In this case, that rate is the input sample rate multiplied by the number of filters in the filterbank, which is also the interpolation rate. All other values should be relative to this rate.
+
+For example, for a 32-filter arbitrary resampler and using the GNU Radio's firdes utility to build the filter, we build a low-pass filter with a sampling rate of , a 3-dB bandwidth of and a transition bandwidth of . We can also specify the out-of-band attenuation to use, , and the filter window function (a Blackman-harris window in this case). The first input is the gain of the filter, which we specify here as the interpolation rate ().
+
+
+
+The theory behind this block can be found in Chapter 7.5 of the following book.
+
+Params: (rate, taps, filter_size)"
+
+%feature("docstring") gr_pfb_channelizer_ccf "Polyphase filterbank channelizer with gr_complex input, gr_complex output and float taps.
+
+This block takes in complex inputs and channelizes it to channels of equal bandwidth. Each of the resulting channels is decimated to the new rate that is the input sampling rate divided by the number of channels, .
+
+The PFB channelizer code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps.size()/decim) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 0's to make sure each filter has the same number of taps.
+
+Each filter operates using the gr_fir filter classs of GNU Radio, which takes the input stream at and performs the inner product calculation to where is the number of filter taps. To efficiently handle this in the GNU Radio structure, each filter input must come from its own input stream. So the channelizer must be provided with streams where the input stream has been deinterleaved. This is most easily done using the gr_stream_to_streams block.
+
+The output is then produced as a vector, where index in the vector is the next sample from the th channel. This is most easily handled by sending the output to a gr_vector_to_streams block to handle the conversion and passing streams out.
+
+The input and output formatting is done using a hier_block2 called pfb_channelizer_ccf. This can take in a single stream and outputs streams based on the behavior described above.
+
+The filter's taps should be based on the input sampling rate.
+
+For example, using the GNU Radio's firdes utility to building filters, we build a low-pass filter with a sampling rate of , a 3-dB bandwidth of and a transition bandwidth of . We can also specify the out-of-band attenuation to use, , and the filter window function (a Blackman-harris window in this case). The first input is the gain of the filter, which we specify here as unity.
+
+
+
+The filter output can also be overs ampled. The over sampling rate is the ratio of the the actual output sampling rate to the normal output sampling rate. It must be rationally related to the number of channels as N/i for i in [1,N], which gives an outputsample rate of [fs/N, fs] where fs is the input sample rate and N is the number of channels.
+
+For example, for 6 channels with fs = 6000 Hz, the normal rate is 6000/6 = 1000 Hz. Allowable oversampling rates are 6/6, 6/5, 6/4, 6/3, 6/2, and 6/1 where the output sample rate of a 6/1 oversample ratio is 6000 Hz, or 6 times the normal 1000 Hz. A rate of 6/5 = 1.2, so the output rate would be 1200 Hz.
+
+The theory behind this block can be found in Chapter 6 of the following book."
+
+%feature("docstring") gr_pfb_channelizer_ccf::gr_pfb_channelizer_ccf "Build the polyphase filterbank decimator.
+
+Params: (numchans, taps, oversample_rate)"
+
+%feature("docstring") gr_pfb_channelizer_ccf::~gr_pfb_channelizer_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_channelizer_ccf::set_taps "Resets the filterbank's filter taps with the new prototype filter
+
+Params: (taps)"
+
+%feature("docstring") gr_pfb_channelizer_ccf::print_taps "Print all of the filterbank taps to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_channelizer_ccf::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_pfb_channelizer_ccf "Creates a pfb_channelizer_ccf block.
+
+Polyphase filterbank channelizer with gr_complex input, gr_complex output and float taps.
+
+This block takes in complex inputs and channelizes it to channels of equal bandwidth. Each of the resulting channels is decimated to the new rate that is the input sampling rate divided by the number of channels, .
+
+The PFB channelizer code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps.size()/decim) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 0's to make sure each filter has the same number of taps.
+
+Each filter operates using the gr_fir filter classs of GNU Radio, which takes the input stream at and performs the inner product calculation to where is the number of filter taps. To efficiently handle this in the GNU Radio structure, each filter input must come from its own input stream. So the channelizer must be provided with streams where the input stream has been deinterleaved. This is most easily done using the gr_stream_to_streams block.
+
+The output is then produced as a vector, where index in the vector is the next sample from the th channel. This is most easily handled by sending the output to a gr_vector_to_streams block to handle the conversion and passing streams out.
+
+The input and output formatting is done using a hier_block2 called pfb_channelizer_ccf. This can take in a single stream and outputs streams based on the behavior described above.
+
+The filter's taps should be based on the input sampling rate.
+
+For example, using the GNU Radio's firdes utility to building filters, we build a low-pass filter with a sampling rate of , a 3-dB bandwidth of and a transition bandwidth of . We can also specify the out-of-band attenuation to use, , and the filter window function (a Blackman-harris window in this case). The first input is the gain of the filter, which we specify here as unity.
+
+
+
+The filter output can also be overs ampled. The over sampling rate is the ratio of the the actual output sampling rate to the normal output sampling rate. It must be rationally related to the number of channels as N/i for i in [1,N], which gives an outputsample rate of [fs/N, fs] where fs is the input sample rate and N is the number of channels.
+
+For example, for 6 channels with fs = 6000 Hz, the normal rate is 6000/6 = 1000 Hz. Allowable oversampling rates are 6/6, 6/5, 6/4, 6/3, 6/2, and 6/1 where the output sample rate of a 6/1 oversample ratio is 6000 Hz, or 6 times the normal 1000 Hz. A rate of 6/5 = 1.2, so the output rate would be 1200 Hz.
+
+The theory behind this block can be found in Chapter 6 of the following book.
+
+Params: (numchans, taps, oversample_rate)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf "Timing synchronizer using polyphase filterbanks.
+
+This block performs timing synchronization for PAM signals by minimizing the derivative of the filtered signal, which in turn maximizes the SNR and minimizes ISI.
+
+This approach works by setting up two filterbanks; one filterbanke contains the signal's pulse shaping matched filter (such as a root raised cosine filter), where each branch of the filterbank contains a different phase of the filter. The second filterbank contains the derivatives of the filters in the first filterbank. Thinking of this in the time domain, the first filterbank contains filters that have a sinc shape to them. We want to align the output signal to be sampled at exactly the peak of the sinc shape. The derivative of the sinc contains a zero at the maximum point of the sinc (sinc(0) = 1, sinc(0)' = 0). Furthermore, the region around the zero point is relatively linear. We make use of this fact to generate the error signal.
+
+If the signal out of the derivative filters is d_i[n] for the ith filter, and the output of the matched filter is x_i[n], we calculate the error as: e[n] = (Re{x_i[n]} * Re{d_i[n]} + Im{x_i[n]} * Im{d_i[n]}) / 2.0 This equation averages the error in the real and imaginary parts. There are two reasons we multiply by the signal itself. First, if the symbol could be positive or negative going, but we want the error term to always tell us to go in the same direction depending on which side of the zero point we are on. The sign of x_i[n] adjusts the error term to do this. Second, the magnitude of x_i[n] scales the error term depending on the symbol's amplitude, so larger signals give us a stronger error term because we have more confidence in that symbol's value. Using the magnitude of x_i[n] instead of just the sign is especially good for signals with low SNR.
+
+The error signal, e[n], gives us a value proportional to how far away from the zero point we are in the derivative signal. We want to drive this value to zero, so we set up a second order loop. We have two variables for this loop; d_k is the filter number in the filterbank we are on and d_rate is the rate which we travel through the filters in the steady state. That is, due to the natural clock differences between the transmitter and receiver, d_rate represents that difference and would traverse the filter phase paths to keep the receiver locked. Thinking of this as a second-order PLL, the d_rate is the frequency and d_k is the phase. So we update d_rate and d_k using the standard loop equations based on two error signals, d_alpha and d_beta. We have these two values set based on each other for a critically damped system, so in the block constructor, we just ask for \"gain,\" which is d_alpha while d_beta is equal to (gain^2)/4.
+
+The clock sync block needs to know the number of samples per second (sps), because it only returns a single point representing the sample. The sps can be any positive real number and does not need to be an integer. The filter taps must also be specified. The taps are generated by first conceiving of the prototype filter that would be the signal's matched filter. Then interpolate this by the number of filters in the filterbank. These are then distributed among all of the filters. So if the prototype filter was to have 45 taps in it, then each path of the filterbank will also have 45 taps. This is easily done by building the filter with the sample rate multiplied by the number of filters to use.
+
+The number of filters can also be set and defaults to 32. With 32 filters, you get a good enough resolution in the phase to produce very small, almost unnoticeable, ISI. Going to 64 filters can reduce this more, but after that there is very little gained for the extra complexity.
+
+The initial phase is another settable parameter and refers to the filter path the algorithm initially looks at (i.e., d_k starts at init_phase). This value defaults to zero, but it might be useful to start at a different phase offset, such as the mid- point of the filters.
+
+The final parameter is the max_rate_devitation, which defaults to 1.5. This is how far we allow d_rate to swing, positive or negative, from 0. Constraining the rate can help keep the algorithm from walking too far away to lock during times when there is no signal."
+
+%feature("docstring") gr_pfb_clock_sync_ccf::gr_pfb_clock_sync_ccf "Build the polyphase filterbank timing synchronizer.
+
+Params: (sps, gain, taps, filter_size, init_phase, max_rate_deviation)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::create_diff_taps "
+
+Params: (newtaps, difftaps)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::~gr_pfb_clock_sync_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::set_taps "Resets the filterbank's filter taps with the new prototype filter
+
+Params: (taps, ourtaps, ourfilter)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::channel_taps "Returns the taps of the matched filter
+
+Params: (channel)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::diff_channel_taps "Returns the taps in the derivative filter
+
+Params: (channel)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::print_taps "Print all of the filterbank taps to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::print_diff_taps "Print all of the filterbank taps of the derivative filter to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::set_alpha "Set the gain value alpha for the control loop
+
+Params: (alpha)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::set_beta "Set the gain value beta for the control loop
+
+Params: (beta)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::set_max_rate_deviation "Set the maximum deviation from 0 d_rate can have
+
+Params: (m)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_pfb_clock_sync_ccf::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_pfb_clock_sync_ccf "Creates a pfb_clock_sync_ccf block.
+
+Timing synchronizer using polyphase filterbanks.
+
+This block performs timing synchronization for PAM signals by minimizing the derivative of the filtered signal, which in turn maximizes the SNR and minimizes ISI.
+
+This approach works by setting up two filterbanks; one filterbanke contains the signal's pulse shaping matched filter (such as a root raised cosine filter), where each branch of the filterbank contains a different phase of the filter. The second filterbank contains the derivatives of the filters in the first filterbank. Thinking of this in the time domain, the first filterbank contains filters that have a sinc shape to them. We want to align the output signal to be sampled at exactly the peak of the sinc shape. The derivative of the sinc contains a zero at the maximum point of the sinc (sinc(0) = 1, sinc(0)' = 0). Furthermore, the region around the zero point is relatively linear. We make use of this fact to generate the error signal.
+
+If the signal out of the derivative filters is d_i[n] for the ith filter, and the output of the matched filter is x_i[n], we calculate the error as: e[n] = (Re{x_i[n]} * Re{d_i[n]} + Im{x_i[n]} * Im{d_i[n]}) / 2.0 This equation averages the error in the real and imaginary parts. There are two reasons we multiply by the signal itself. First, if the symbol could be positive or negative going, but we want the error term to always tell us to go in the same direction depending on which side of the zero point we are on. The sign of x_i[n] adjusts the error term to do this. Second, the magnitude of x_i[n] scales the error term depending on the symbol's amplitude, so larger signals give us a stronger error term because we have more confidence in that symbol's value. Using the magnitude of x_i[n] instead of just the sign is especially good for signals with low SNR.
+
+The error signal, e[n], gives us a value proportional to how far away from the zero point we are in the derivative signal. We want to drive this value to zero, so we set up a second order loop. We have two variables for this loop; d_k is the filter number in the filterbank we are on and d_rate is the rate which we travel through the filters in the steady state. That is, due to the natural clock differences between the transmitter and receiver, d_rate represents that difference and would traverse the filter phase paths to keep the receiver locked. Thinking of this as a second-order PLL, the d_rate is the frequency and d_k is the phase. So we update d_rate and d_k using the standard loop equations based on two error signals, d_alpha and d_beta. We have these two values set based on each other for a critically damped system, so in the block constructor, we just ask for \"gain,\" which is d_alpha while d_beta is equal to (gain^2)/4.
+
+The clock sync block needs to know the number of samples per second (sps), because it only returns a single point representing the sample. The sps can be any positive real number and does not need to be an integer. The filter taps must also be specified. The taps are generated by first conceiving of the prototype filter that would be the signal's matched filter. Then interpolate this by the number of filters in the filterbank. These are then distributed among all of the filters. So if the prototype filter was to have 45 taps in it, then each path of the filterbank will also have 45 taps. This is easily done by building the filter with the sample rate multiplied by the number of filters to use.
+
+The number of filters can also be set and defaults to 32. With 32 filters, you get a good enough resolution in the phase to produce very small, almost unnoticeable, ISI. Going to 64 filters can reduce this more, but after that there is very little gained for the extra complexity.
+
+The initial phase is another settable parameter and refers to the filter path the algorithm initially looks at (i.e., d_k starts at init_phase). This value defaults to zero, but it might be useful to start at a different phase offset, such as the mid- point of the filters.
+
+The final parameter is the max_rate_devitation, which defaults to 1.5. This is how far we allow d_rate to swing, positive or negative, from 0. Constraining the rate can help keep the algorithm from walking too far away to lock during times when there is no signal.
+
+Params: (sps, gain, taps, filter_size, init_phase, max_rate_deviation)"
+
+%feature("docstring") gr_pfb_clock_sync_fff "Timing synchronizer using polyphase filterbanks.
+
+This block performs timing synchronization for PAM signals by minimizing the derivative of the filtered signal, which in turn maximizes the SNR and minimizes ISI.
+
+This approach works by setting up two filterbanks; one filterbanke contains the signal's pulse shaping matched filter (such as a root raised cosine filter), where each branch of the filterbank contains a different phase of the filter. The second filterbank contains the derivatives of the filters in the first filterbank. Thinking of this in the time domain, the first filterbank contains filters that have a sinc shape to them. We want to align the output signal to be sampled at exactly the peak of the sinc shape. The derivative of the sinc contains a zero at the maximum point of the sinc (sinc(0) = 1, sinc(0)' = 0). Furthermore, the region around the zero point is relatively linear. We make use of this fact to generate the error signal.
+
+If the signal out of the derivative filters is d_i[n] for the ith filter, and the output of the matched filter is x_i[n], we calculate the error as: e[n] = (Re{x_i[n]} * Re{d_i[n]} + Im{x_i[n]} * Im{d_i[n]}) / 2.0 This equation averages the error in the real and imaginary parts. There are two reasons we multiply by the signal itself. First, if the symbol could be positive or negative going, but we want the error term to always tell us to go in the same direction depending on which side of the zero point we are on. The sign of x_i[n] adjusts the error term to do this. Second, the magnitude of x_i[n] scales the error term depending on the symbol's amplitude, so larger signals give us a stronger error term because we have more confidence in that symbol's value. Using the magnitude of x_i[n] instead of just the sign is especially good for signals with low SNR.
+
+The error signal, e[n], gives us a value proportional to how far away from the zero point we are in the derivative signal. We want to drive this value to zero, so we set up a second order loop. We have two variables for this loop; d_k is the filter number in the filterbank we are on and d_rate is the rate which we travel through the filters in the steady state. That is, due to the natural clock differences between the transmitter and receiver, d_rate represents that difference and would traverse the filter phase paths to keep the receiver locked. Thinking of this as a second-order PLL, the d_rate is the frequency and d_k is the phase. So we update d_rate and d_k using the standard loop equations based on two error signals, d_alpha and d_beta. We have these two values set based on each other for a critically damped system, so in the block constructor, we just ask for \"gain,\" which is d_alpha while d_beta is equal to (gain^2)/4.
+
+The clock sync block needs to know the number of samples per second (sps), because it only returns a single point representing the sample. The sps can be any positive real number and does not need to be an integer. The filter taps must also be specified. The taps are generated by first conceiving of the prototype filter that would be the signal's matched filter. Then interpolate this by the number of filters in the filterbank. These are then distributed among all of the filters. So if the prototype filter was to have 45 taps in it, then each path of the filterbank will also have 45 taps. This is easily done by building the filter with the sample rate multiplied by the number of filters to use.
+
+The number of filters can also be set and defaults to 32. With 32 filters, you get a good enough resolution in the phase to produce very small, almost unnoticeable, ISI. Going to 64 filters can reduce this more, but after that there is very little gained for the extra complexity.
+
+The initial phase is another settable parameter and refers to the filter path the algorithm initially looks at (i.e., d_k starts at init_phase). This value defaults to zero, but it might be useful to start at a different phase offset, such as the mid- point of the filters.
+
+The final parameter is the max_rate_devitation, which defaults to 1.5. This is how far we allow d_rate to swing, positive or negative, from 0. Constraining the rate can help keep the algorithm from walking too far away to lock during times when there is no signal."
+
+%feature("docstring") gr_pfb_clock_sync_fff::gr_pfb_clock_sync_fff "Build the polyphase filterbank timing synchronizer.
+
+Params: (sps, gain, taps, filter_size, init_phase, max_rate_deviation)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::create_diff_taps "
+
+Params: (newtaps, difftaps)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::~gr_pfb_clock_sync_fff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::set_taps "Resets the filterbank's filter taps with the new prototype filter
+
+Params: (taps, ourtaps, ourfilter)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::channel_taps "Returns the taps of the matched filter
+
+Params: (channel)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::diff_channel_taps "Returns the taps in the derivative filter
+
+Params: (channel)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::print_taps "Print all of the filterbank taps to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::print_diff_taps "Print all of the filterbank taps of the derivative filter to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::set_alpha "Set the gain value alpha for the control loop
+
+Params: (alpha)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::set_beta "Set the gain value beta for the control loop
+
+Params: (beta)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::set_max_rate_deviation "Set the maximum deviation from 0 d_rate can have
+
+Params: (m)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_pfb_clock_sync_fff::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_pfb_clock_sync_fff "Creates a pfb_clock_sync_fff block.
+
+Timing synchronizer using polyphase filterbanks.
+
+This block performs timing synchronization for PAM signals by minimizing the derivative of the filtered signal, which in turn maximizes the SNR and minimizes ISI.
+
+This approach works by setting up two filterbanks; one filterbanke contains the signal's pulse shaping matched filter (such as a root raised cosine filter), where each branch of the filterbank contains a different phase of the filter. The second filterbank contains the derivatives of the filters in the first filterbank. Thinking of this in the time domain, the first filterbank contains filters that have a sinc shape to them. We want to align the output signal to be sampled at exactly the peak of the sinc shape. The derivative of the sinc contains a zero at the maximum point of the sinc (sinc(0) = 1, sinc(0)' = 0). Furthermore, the region around the zero point is relatively linear. We make use of this fact to generate the error signal.
+
+If the signal out of the derivative filters is d_i[n] for the ith filter, and the output of the matched filter is x_i[n], we calculate the error as: e[n] = (Re{x_i[n]} * Re{d_i[n]} + Im{x_i[n]} * Im{d_i[n]}) / 2.0 This equation averages the error in the real and imaginary parts. There are two reasons we multiply by the signal itself. First, if the symbol could be positive or negative going, but we want the error term to always tell us to go in the same direction depending on which side of the zero point we are on. The sign of x_i[n] adjusts the error term to do this. Second, the magnitude of x_i[n] scales the error term depending on the symbol's amplitude, so larger signals give us a stronger error term because we have more confidence in that symbol's value. Using the magnitude of x_i[n] instead of just the sign is especially good for signals with low SNR.
+
+The error signal, e[n], gives us a value proportional to how far away from the zero point we are in the derivative signal. We want to drive this value to zero, so we set up a second order loop. We have two variables for this loop; d_k is the filter number in the filterbank we are on and d_rate is the rate which we travel through the filters in the steady state. That is, due to the natural clock differences between the transmitter and receiver, d_rate represents that difference and would traverse the filter phase paths to keep the receiver locked. Thinking of this as a second-order PLL, the d_rate is the frequency and d_k is the phase. So we update d_rate and d_k using the standard loop equations based on two error signals, d_alpha and d_beta. We have these two values set based on each other for a critically damped system, so in the block constructor, we just ask for \"gain,\" which is d_alpha while d_beta is equal to (gain^2)/4.
+
+The clock sync block needs to know the number of samples per second (sps), because it only returns a single point representing the sample. The sps can be any positive real number and does not need to be an integer. The filter taps must also be specified. The taps are generated by first conceiving of the prototype filter that would be the signal's matched filter. Then interpolate this by the number of filters in the filterbank. These are then distributed among all of the filters. So if the prototype filter was to have 45 taps in it, then each path of the filterbank will also have 45 taps. This is easily done by building the filter with the sample rate multiplied by the number of filters to use.
+
+The number of filters can also be set and defaults to 32. With 32 filters, you get a good enough resolution in the phase to produce very small, almost unnoticeable, ISI. Going to 64 filters can reduce this more, but after that there is very little gained for the extra complexity.
+
+The initial phase is another settable parameter and refers to the filter path the algorithm initially looks at (i.e., d_k starts at init_phase). This value defaults to zero, but it might be useful to start at a different phase offset, such as the mid- point of the filters.
+
+The final parameter is the max_rate_devitation, which defaults to 1.5. This is how far we allow d_rate to swing, positive or negative, from 0. Constraining the rate can help keep the algorithm from walking too far away to lock during times when there is no signal.
+
+Params: (sps, gain, taps, filter_size, init_phase, max_rate_deviation)"
+
+%feature("docstring") gr_pfb_decimator_ccf "Polyphase filterbank bandpass decimator with gr_complex input, gr_complex output and float taps.
+
+This block takes in a signal stream and performs interger down- sampling (decimation) with a polyphase filterbank. The first input is the integer specifying how much to decimate by. The second input is a vector (Python list) of floating-point taps of the prototype filter. The third input specifies the channel to extract. By default, the zeroth channel is used, which is the baseband channel (first Nyquist zone).
+
+The parameter specifies which channel to use since this class is capable of bandpass decimation. Given a complex input stream at a sampling rate of and a decimation rate of , the input frequency domain is split into channels that represent the Nyquist zones. Using the polyphase filterbank, we can select any one of these channels to decimate.
+
+The output signal will be the basebanded and decimated signal from that channel. This concept is very similar to the PFB channelizer (see gr_pfb_channelizer_ccf) where only a single channel is extracted at a time.
+
+The filter's taps should be based on the sampling rate before decimation.
+
+For example, using the GNU Radio's firdes utility to building filters, we build a low-pass filter with a sampling rate of , a 3-dB bandwidth of and a transition bandwidth of . We can also specify the out-of-band attenuation to use, , and the filter window function (a Blackman-harris window in this case). The first input is the gain of the filter, which we specify here as unity.
+
+
+
+The PFB decimator code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps.size()/decim) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 0's to make sure each filter has the same number of taps.
+
+The theory behind this block can be found in Chapter 6 of the following book."
+
+%feature("docstring") gr_pfb_decimator_ccf::gr_pfb_decimator_ccf "Build the polyphase filterbank decimator.
+
+Params: (decim, taps, channel)"
+
+%feature("docstring") gr_pfb_decimator_ccf::~gr_pfb_decimator_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_decimator_ccf::set_taps "Resets the filterbank's filter taps with the new prototype filter
+
+Params: (taps)"
+
+%feature("docstring") gr_pfb_decimator_ccf::print_taps "Print all of the filterbank taps to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_decimator_ccf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_pfb_decimator_ccf "Creates a pfb_decimator_ccf block.
+
+Polyphase filterbank bandpass decimator with gr_complex input, gr_complex output and float taps.
+
+This block takes in a signal stream and performs interger down- sampling (decimation) with a polyphase filterbank. The first input is the integer specifying how much to decimate by. The second input is a vector (Python list) of floating-point taps of the prototype filter. The third input specifies the channel to extract. By default, the zeroth channel is used, which is the baseband channel (first Nyquist zone).
+
+The parameter specifies which channel to use since this class is capable of bandpass decimation. Given a complex input stream at a sampling rate of and a decimation rate of , the input frequency domain is split into channels that represent the Nyquist zones. Using the polyphase filterbank, we can select any one of these channels to decimate.
+
+The output signal will be the basebanded and decimated signal from that channel. This concept is very similar to the PFB channelizer (see gr_pfb_channelizer_ccf) where only a single channel is extracted at a time.
+
+The filter's taps should be based on the sampling rate before decimation.
+
+For example, using the GNU Radio's firdes utility to building filters, we build a low-pass filter with a sampling rate of , a 3-dB bandwidth of and a transition bandwidth of . We can also specify the out-of-band attenuation to use, , and the filter window function (a Blackman-harris window in this case). The first input is the gain of the filter, which we specify here as unity.
+
+
+
+The PFB decimator code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps.size()/decim) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 0's to make sure each filter has the same number of taps.
+
+The theory behind this block can be found in Chapter 6 of the following book.
+
+Params: (decim, taps, channel)"
+
+%feature("docstring") gr_pfb_interpolator_ccf "Polyphase filterbank interpolator with gr_complex input, gr_complex output and float taps.
+
+This block takes in a signal stream and performs interger up- sampling (interpolation) with a polyphase filterbank. The first input is the integer specifying how much to interpolate by. The second input is a vector (Python list) of floating-point taps of the prototype filter.
+
+The filter's taps should be based on the interpolation rate specified. That is, the bandwidth specified is relative to the bandwidth after interpolation.
+
+For example, using the GNU Radio's firdes utility to building filters, we build a low-pass filter with a sampling rate of , a 3-dB bandwidth of and a transition bandwidth of . We can also specify the out-of-band attenuation to use, ATT, and the filter window function (a Blackman-harris window in this case). The first input is the gain, which is also specified as the interpolation rate so that the output levels are the same as the input (this creates an overall increase in power).
+
+
+
+The PFB interpolator code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps.size()/interp) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 0's to make sure each filter has the same number of taps.
+
+The theory behind this block can be found in Chapter 7.1 of the following book."
+
+%feature("docstring") gr_pfb_interpolator_ccf::gr_pfb_interpolator_ccf "Construct a Polyphase filterbank interpolator
+
+Params: (interp, taps)"
+
+%feature("docstring") gr_pfb_interpolator_ccf::~gr_pfb_interpolator_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_interpolator_ccf::set_taps "Resets the filterbank's filter taps with the new prototype filter
+
+Params: (taps)"
+
+%feature("docstring") gr_pfb_interpolator_ccf::print_taps "Print all of the filterbank taps to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_interpolator_ccf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_pfb_interpolator_ccf "Creates a pfb_interpolator_ccf block.
+
+Polyphase filterbank interpolator with gr_complex input, gr_complex output and float taps.
+
+This block takes in a signal stream and performs interger up- sampling (interpolation) with a polyphase filterbank. The first input is the integer specifying how much to interpolate by. The second input is a vector (Python list) of floating-point taps of the prototype filter.
+
+The filter's taps should be based on the interpolation rate specified. That is, the bandwidth specified is relative to the bandwidth after interpolation.
+
+For example, using the GNU Radio's firdes utility to building filters, we build a low-pass filter with a sampling rate of , a 3-dB bandwidth of and a transition bandwidth of . We can also specify the out-of-band attenuation to use, ATT, and the filter window function (a Blackman-harris window in this case). The first input is the gain, which is also specified as the interpolation rate so that the output levels are the same as the input (this creates an overall increase in power).
+
+
+
+The PFB interpolator code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps.size()/interp) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 0's to make sure each filter has the same number of taps.
+
+The theory behind this block can be found in Chapter 7.1 of the following book.
+
+Params: (interp, taps)"
+
+%feature("docstring") gr_pfb_synthesis_filterbank_ccf "Polyphase synthesis filterbank with gr_complex input, gr_complex output and float taps."
+
+%feature("docstring") gr_pfb_synthesis_filterbank_ccf::gr_pfb_synthesis_filterbank_ccf "Build the polyphase synthesis filterbank.
+
+Params: (numchans, taps)"
+
+%feature("docstring") gr_pfb_synthesis_filterbank_ccf::~gr_pfb_synthesis_filterbank_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_synthesis_filterbank_ccf::set_taps "Resets the filterbank's filter taps with the new prototype filter
+
+Params: (taps)"
+
+%feature("docstring") gr_pfb_synthesis_filterbank_ccf::print_taps "Print all of the filterbank taps to screen.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pfb_synthesis_filterbank_ccf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_pfb_synthesis_filterbank_ccf "Creates a pfb_synthesis_filterbank_ccf block.
+
+Polyphase synthesis filterbank with gr_complex input, gr_complex output and float taps.
+
+Params: (numchans, taps)"
+
+%feature("docstring") gr_phase_modulator_fc "Phase modulator block
+
+output=complex(cos(in*sensitivity),sin(in*sensitivity))."
+
+%feature("docstring") gr_phase_modulator_fc::gr_phase_modulator_fc "
+
+Params: (sensitivity)"
+
+%feature("docstring") gr_phase_modulator_fc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_phase_modulator_fc "Creates a phase_modulator_fc block.
+
+Phase modulator block
+
+output=complex(cos(in*sensitivity),sin(in*sensitivity)).
+
+Params: (sensitivity)"
+
+%feature("docstring") gr_pll_carriertracking_cc "Implements a PLL which locks to the input frequency and outputs the input signal mixed with that carrier.
+
+input: stream of complex; output: stream of complex.
+
+This PLL locks onto a [possibly noisy] reference carrier on the input and outputs that signal, downconverted to DC
+
+All settings max_freq and min_freq are in terms of radians per sample, NOT HERTZ. Alpha is the phase gain (first order, units of radians per radian) and beta is the frequency gain (second order, units of radians per sample per radian)"
+
+%feature("docstring") gr_pll_carriertracking_cc::gr_pll_carriertracking_cc "
+
+Params: (alpha, beta, max_freq, min_freq)"
+
+%feature("docstring") gr_pll_carriertracking_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_pll_carriertracking_cc::mod_2pi "
+
+Params: (in)"
+
+%feature("docstring") gr_pll_carriertracking_cc::phase_detector "
+
+Params: (sample, ref_phase)"
+
+%feature("docstring") gr_pll_carriertracking_cc::lock_detector "
+
+Params: ()"
+
+%feature("docstring") gr_pll_carriertracking_cc::squelch_enable "
+
+Params: ()"
+
+%feature("docstring") gr_pll_carriertracking_cc::set_lock_threshold "
+
+Params: ()"
+
+%feature("docstring") gr_make_pll_carriertracking_cc "Creates a pll_carriertracking_cc block.
+
+Implements a PLL which locks to the input frequency and outputs the input signal mixed with that carrier.
+
+input: stream of complex; output: stream of complex.
+
+This PLL locks onto a [possibly noisy] reference carrier on the input and outputs that signal, downconverted to DC
+
+All settings max_freq and min_freq are in terms of radians per sample, NOT HERTZ. Alpha is the phase gain (first order, units of radians per radian) and beta is the frequency gain (second order, units of radians per sample per radian)
+
+Params: (alpha, beta, max_freq, min_freq)"
+
+%feature("docstring") gr_pll_freqdet_cf "Implements a PLL which locks to the input frequency and outputs an estimate of that frequency. Useful for FM Demod.
+
+input: stream of complex; output: stream of floats.
+
+This PLL locks onto a [possibly noisy] reference carrier on the input and outputs an estimate of that frequency in radians per sample. All settings max_freq and min_freq are in terms of radians per sample, NOT HERTZ. Alpha is the phase gain (first order, units of radians per radian) and beta is the frequency gain (second order, units of radians per sample per radian)"
+
+%feature("docstring") gr_pll_freqdet_cf::gr_pll_freqdet_cf "
+
+Params: (alpha, beta, max_freq, min_freq)"
+
+%feature("docstring") gr_pll_freqdet_cf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_pll_freqdet_cf::mod_2pi "
+
+Params: (in)"
+
+%feature("docstring") gr_pll_freqdet_cf::phase_detector "
+
+Params: (sample, ref_phase)"
+
+%feature("docstring") gr_make_pll_freqdet_cf "Creates a pll_freqdet_cf block.
+
+Implements a PLL which locks to the input frequency and outputs an estimate of that frequency. Useful for FM Demod.
+
+input: stream of complex; output: stream of floats.
+
+This PLL locks onto a [possibly noisy] reference carrier on the input and outputs an estimate of that frequency in radians per sample. All settings max_freq and min_freq are in terms of radians per sample, NOT HERTZ. Alpha is the phase gain (first order, units of radians per radian) and beta is the frequency gain (second order, units of radians per sample per radian)
+
+Params: (alpha, beta, max_freq, min_freq)"
+
+%feature("docstring") gr_pll_refout_cc "Implements a PLL which locks to the input frequency and outputs a carrier
+
+input: stream of complex; output: stream of complex.
+
+This PLL locks onto a [possibly noisy] reference carrier on the input and outputs a clean version which is phase and frequency aligned to it.
+
+All settings max_freq and min_freq are in terms of radians per sample, NOT HERTZ. Alpha is the phase gain (first order, units of radians per radian) and beta is the frequency gain (second order, units of radians per sample per radian)"
+
+%feature("docstring") gr_pll_refout_cc::gr_pll_refout_cc "
+
+Params: (alpha, beta, max_freq, min_freq)"
+
+%feature("docstring") gr_pll_refout_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_pll_refout_cc::mod_2pi "
+
+Params: (in)"
+
+%feature("docstring") gr_pll_refout_cc::phase_detector "
+
+Params: (sample, ref_phase)"
+
+%feature("docstring") gr_make_pll_refout_cc "Creates a pll_refout_cc block.
+
+Implements a PLL which locks to the input frequency and outputs a carrier
+
+input: stream of complex; output: stream of complex.
+
+This PLL locks onto a [possibly noisy] reference carrier on the input and outputs a clean version which is phase and frequency aligned to it.
+
+All settings max_freq and min_freq are in terms of radians per sample, NOT HERTZ. Alpha is the phase gain (first order, units of radians per radian) and beta is the frequency gain (second order, units of radians per sample per radian)
+
+Params: (alpha, beta, max_freq, min_freq)"
+
+%feature("docstring") gr_pn_correlator_cc "PN code sequential search correlator.
+
+Receives complex baseband signal, outputs complex correlation against reference PN code, one sample per PN code period"
+
+%feature("docstring") gr_pn_correlator_cc::gr_pn_correlator_cc "
+
+Params: (degree, mask, seed)"
+
+%feature("docstring") gr_pn_correlator_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_pn_correlator_cc::~gr_pn_correlator_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_pn_correlator_cc "Creates a pn_correlator_cc block.
+
+PN code sequential search correlator.
+
+Receives complex baseband signal, outputs complex correlation against reference PN code, one sample per PN code period
+
+Params: (degree, mask, seed)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c "compute avg magnitude squared.
+
+input: gr_complex
+
+Compute a running average of the magnitude squared of the the input. The level and indication as to whether the level exceeds threshold can be retrieved with the level and unmuted accessors."
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c::gr_probe_avg_mag_sqrd_c "
+
+Params: (threshold_db, alpha)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c::~gr_probe_avg_mag_sqrd_c "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c::unmuted "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c::level "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c::threshold "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_c::set_threshold "
+
+Params: (decibels)"
+
+%feature("docstring") gr_make_probe_avg_mag_sqrd_c "Creates a probe_avg_mag_sqrd_c block.
+
+compute avg magnitude squared.
+
+input: gr_complex
+
+Compute a running average of the magnitude squared of the the input. The level and indication as to whether the level exceeds threshold can be retrieved with the level and unmuted accessors.
+
+Params: (threshold_db, alpha)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf "compute avg magnitude squared.
+
+input: gr_complex output: gr_float
+
+Compute a running average of the magnitude squared of the the input. The level and indication as to whether the level exceeds threshold can be retrieved with the level and unmuted accessors."
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf::gr_probe_avg_mag_sqrd_cf "
+
+Params: (threshold_db, alpha)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf::~gr_probe_avg_mag_sqrd_cf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf::unmuted "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf::level "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf::threshold "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_cf::set_threshold "
+
+Params: (decibels)"
+
+%feature("docstring") gr_make_probe_avg_mag_sqrd_cf "Creates a probe_avg_mag_sqrd_cf block.
+
+compute avg magnitude squared.
+
+input: gr_complex output: gr_float
+
+Compute a running average of the magnitude squared of the the input. The level and indication as to whether the level exceeds threshold can be retrieved with the level and unmuted accessors.
+
+Params: (threshold_db, alpha)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f "compute avg magnitude squared.
+
+input: float
+
+Compute a running average of the magnitude squared of the the input. The level and indication as to whether the level exceeds threshold can be retrieved with the level and unmuted accessors."
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f::gr_probe_avg_mag_sqrd_f "
+
+Params: (threshold_db, alpha)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f::~gr_probe_avg_mag_sqrd_f "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f::unmuted "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f::level "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f::threshold "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_probe_avg_mag_sqrd_f::set_threshold "
+
+Params: (decibels)"
+
+%feature("docstring") gr_make_probe_avg_mag_sqrd_f "Creates a probe_avg_mag_sqrd_f block.
+
+compute avg magnitude squared.
+
+input: float
+
+Compute a running average of the magnitude squared of the the input. The level and indication as to whether the level exceeds threshold can be retrieved with the level and unmuted accessors.
+
+Params: (threshold_db, alpha)"
+
+%feature("docstring") gr_probe_density_b "This block maintains a running average of the input stream and makes it available as an accessor function. The input stream is type unsigned char.
+
+If you send this block a stream of unpacked bytes, it will tell you what the bit density is."
+
+%feature("docstring") gr_probe_density_b::gr_probe_density_b "
+
+Params: (alpha)"
+
+%feature("docstring") gr_probe_density_b::~gr_probe_density_b "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_density_b::density "Returns the current density value.
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_density_b::set_alpha "Set the average filter constant.
+
+Params: (alpha)"
+
+%feature("docstring") gr_probe_density_b::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_probe_density_b "Creates a probe_density_b block.
+
+This block maintains a running average of the input stream and makes it available as an accessor function. The input stream is type unsigned char.
+
+If you send this block a stream of unpacked bytes, it will tell you what the bit density is.
+
+Params: (alpha)"
+
+%feature("docstring") gr_probe_mpsk_snr_c "Compute the estimate SNR of an MPSK signal using the Squared Signal to Noise Variance (SNV) technique.
+
+This technique assumes an AWGN channel.
+
+
+Compute the running average of the signal mean and noise variance. The estimated signal mean, noise variance, and SNR are available via accessors.
+
+This SNR estimator is inaccurate below about 7dB SNR."
+
+%feature("docstring") gr_probe_mpsk_snr_c::gr_probe_mpsk_snr_c "
+
+Params: (alpha)"
+
+%feature("docstring") gr_probe_mpsk_snr_c::~gr_probe_mpsk_snr_c "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_mpsk_snr_c::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_probe_mpsk_snr_c::signal_mean "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_mpsk_snr_c::noise_variance "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_mpsk_snr_c::snr "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_mpsk_snr_c::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_make_probe_mpsk_snr_c "Creates a probe_mpsk_snr_c block.
+
+Compute the estimate SNR of an MPSK signal using the Squared Signal to Noise Variance (SNV) technique.
+
+This technique assumes an AWGN channel.
+
+
+Compute the running average of the signal mean and noise variance. The estimated signal mean, noise variance, and SNR are available via accessors.
+
+This SNR estimator is inaccurate below about 7dB SNR.
+
+Params: (alpha)"
+
+%feature("docstring") gr_probe_signal_f "Sink that allows a sample to be grabbed from Python."
+
+%feature("docstring") gr_probe_signal_f::gr_probe_signal_f "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_signal_f::~gr_probe_signal_f "
+
+Params: (NONE)"
+
+%feature("docstring") gr_probe_signal_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_probe_signal_f::level "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_probe_signal_f "Creates a probe_signal_f block.
+
+Sink that allows a sample to be grabbed from Python.
+
+Params: (NONE)"
+
+%feature("docstring") gr_pwr_squelch_cc "gate or zero output when input power below threshold"
+
+%feature("docstring") gr_pwr_squelch_cc::gr_pwr_squelch_cc "
+
+Params: (db, alpha, ramp, gate)"
+
+%feature("docstring") gr_pwr_squelch_cc::update_state "
+
+Params: (in)"
+
+%feature("docstring") gr_pwr_squelch_cc::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pwr_squelch_cc::squelch_range "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pwr_squelch_cc::threshold "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pwr_squelch_cc::set_threshold "
+
+Params: (db)"
+
+%feature("docstring") gr_pwr_squelch_cc::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_make_pwr_squelch_cc "Creates a pwr_squelch_cc block.
+
+gate or zero output when input power below threshold
+
+Params: (db, alpha, ramp, gate)"
+
+%feature("docstring") gr_pwr_squelch_ff "gate or zero output when input power below threshold"
+
+%feature("docstring") gr_pwr_squelch_ff::gr_pwr_squelch_ff "
+
+Params: (db, alpha, ramp, gate)"
+
+%feature("docstring") gr_pwr_squelch_ff::update_state "
+
+Params: (in)"
+
+%feature("docstring") gr_pwr_squelch_ff::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pwr_squelch_ff::squelch_range "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pwr_squelch_ff::threshold "
+
+Params: (NONE)"
+
+%feature("docstring") gr_pwr_squelch_ff::set_threshold "
+
+Params: (db)"
+
+%feature("docstring") gr_pwr_squelch_ff::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_make_pwr_squelch_ff "Creates a pwr_squelch_ff block.
+
+gate or zero output when input power below threshold
+
+Params: (db, alpha, ramp, gate)"
+
+%feature("docstring") gr_quadrature_demod_cf "quadrature demodulator: complex in, float out
+
+This can be used to demod FM, FSK, GMSK, etc. The input is complex baseband."
+
+%feature("docstring") gr_quadrature_demod_cf::gr_quadrature_demod_cf "
+
+Params: (gain)"
+
+%feature("docstring") gr_quadrature_demod_cf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_quadrature_demod_cf "Creates a quadrature_demod_cf block.
+
+quadrature demodulator: complex in, float out
+
+This can be used to demod FM, FSK, GMSK, etc. The input is complex baseband.
+
+Params: (gain)"
+
+
+
+%feature("docstring") gr_rail_ff::gr_rail_ff "
+
+Params: (lo, hi)"
+
+%feature("docstring") gr_rail_ff::lo "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rail_ff::set_lo "
+
+Params: (lo)"
+
+%feature("docstring") gr_rail_ff::hi "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rail_ff::set_hi "
+
+Params: (hi)"
+
+%feature("docstring") gr_rail_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_rail_ff "Creates a rail_ff block.
+
+
+
+Params: (lo, hi)"
+
+%feature("docstring") gr_rational_resampler_base_ccc "Rational Resampling Polyphase FIR filter with gr_complex input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_rational_resampler_base_ccc::gr_rational_resampler_base_ccc "Construct a FIR filter with the given taps
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::~gr_rational_resampler_base_ccc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::history "Assume block computes y_i = f(x_i, x_i-1, x_i-2, x_i-3...) History is the number of x_i's that are examined to produce one y_i. This comes in handy for FIR filters, where we use history to ensure that our input contains the appropriate \"history\" for the filter. History should be equal to the number of filter taps.
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::set_history "
+
+Params: (history)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::interpolation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::decimation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_rational_resampler_base_ccc::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_rational_resampler_base_ccc "Creates a rational_resampler_base_ccc block.
+
+Rational Resampling Polyphase FIR filter with gr_complex input, gr_complex output and gr_complex taps.
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_ccf "Rational Resampling Polyphase FIR filter with gr_complex input, gr_complex output and float taps."
+
+%feature("docstring") gr_rational_resampler_base_ccf::gr_rational_resampler_base_ccf "Construct a FIR filter with the given taps
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::~gr_rational_resampler_base_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::history "Assume block computes y_i = f(x_i, x_i-1, x_i-2, x_i-3...) History is the number of x_i's that are examined to produce one y_i. This comes in handy for FIR filters, where we use history to ensure that our input contains the appropriate \"history\" for the filter. History should be equal to the number of filter taps.
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::set_history "
+
+Params: (history)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::interpolation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::decimation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_rational_resampler_base_ccf::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_rational_resampler_base_ccf "Creates a rational_resampler_base_ccf block.
+
+Rational Resampling Polyphase FIR filter with gr_complex input, gr_complex output and float taps.
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_fcc "Rational Resampling Polyphase FIR filter with float input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_rational_resampler_base_fcc::gr_rational_resampler_base_fcc "Construct a FIR filter with the given taps
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::~gr_rational_resampler_base_fcc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::history "Assume block computes y_i = f(x_i, x_i-1, x_i-2, x_i-3...) History is the number of x_i's that are examined to produce one y_i. This comes in handy for FIR filters, where we use history to ensure that our input contains the appropriate \"history\" for the filter. History should be equal to the number of filter taps.
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::set_history "
+
+Params: (history)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::interpolation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::decimation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_rational_resampler_base_fcc::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_rational_resampler_base_fcc "Creates a rational_resampler_base_fcc block.
+
+Rational Resampling Polyphase FIR filter with float input, gr_complex output and gr_complex taps.
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_fff "Rational Resampling Polyphase FIR filter with float input, float output and float taps."
+
+%feature("docstring") gr_rational_resampler_base_fff::gr_rational_resampler_base_fff "Construct a FIR filter with the given taps
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_fff::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_fff::~gr_rational_resampler_base_fff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fff::history "Assume block computes y_i = f(x_i, x_i-1, x_i-2, x_i-3...) History is the number of x_i's that are examined to produce one y_i. This comes in handy for FIR filters, where we use history to ensure that our input contains the appropriate \"history\" for the filter. History should be equal to the number of filter taps.
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fff::set_history "
+
+Params: (history)"
+
+%feature("docstring") gr_rational_resampler_base_fff::interpolation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fff::decimation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fff::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_fff::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_rational_resampler_base_fff::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_rational_resampler_base_fff "Creates a rational_resampler_base_fff block.
+
+Rational Resampling Polyphase FIR filter with float input, float output and float taps.
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_fsf "Rational Resampling Polyphase FIR filter with float input, short output and float taps."
+
+%feature("docstring") gr_rational_resampler_base_fsf::gr_rational_resampler_base_fsf "Construct a FIR filter with the given taps
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::~gr_rational_resampler_base_fsf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::history "Assume block computes y_i = f(x_i, x_i-1, x_i-2, x_i-3...) History is the number of x_i's that are examined to produce one y_i. This comes in handy for FIR filters, where we use history to ensure that our input contains the appropriate \"history\" for the filter. History should be equal to the number of filter taps.
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::set_history "
+
+Params: (history)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::interpolation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::decimation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_rational_resampler_base_fsf::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_rational_resampler_base_fsf "Creates a rational_resampler_base_fsf block.
+
+Rational Resampling Polyphase FIR filter with float input, short output and float taps.
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_scc "Rational Resampling Polyphase FIR filter with short input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gr_rational_resampler_base_scc::gr_rational_resampler_base_scc "Construct a FIR filter with the given taps
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_rational_resampler_base_scc::install_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_scc::~gr_rational_resampler_base_scc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_scc::history "Assume block computes y_i = f(x_i, x_i-1, x_i-2, x_i-3...) History is the number of x_i's that are examined to produce one y_i. This comes in handy for FIR filters, where we use history to ensure that our input contains the appropriate \"history\" for the filter. History should be equal to the number of filter taps.
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_scc::set_history "
+
+Params: (history)"
+
+%feature("docstring") gr_rational_resampler_base_scc::interpolation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_scc::decimation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rational_resampler_base_scc::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_rational_resampler_base_scc::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_rational_resampler_base_scc::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_rational_resampler_base_scc "Creates a rational_resampler_base_scc block.
+
+Rational Resampling Polyphase FIR filter with short input, gr_complex output and gr_complex taps.
+
+Params: (interpolation, decimation, taps)"
+
+%feature("docstring") gr_regenerate_bb "Detect the peak of a signal and repeat every period samples
+
+If a peak is detected, this block outputs a 1 repeated every period samples until reset by detection of another 1 on the input or stopped after max_regen regenerations have occurred.
+
+Note that if max_regen=(-1)/ULONG_MAX then the regeneration will run forever."
+
+%feature("docstring") gr_regenerate_bb::gr_regenerate_bb "
+
+Params: (period, max_regen)"
+
+%feature("docstring") gr_regenerate_bb::set_max_regen "Reset the maximum regeneration count; this will reset the current regen.
+
+Params: (regen)"
+
+%feature("docstring") gr_regenerate_bb::set_period "Reset the period of regenerations; this will reset the current regen.
+
+Params: (period)"
+
+%feature("docstring") gr_regenerate_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_regenerate_bb "Creates a regenerate_bb block.
+
+Detect the peak of a signal and repeat every period samples
+
+If a peak is detected, this block outputs a 1 repeated every period samples until reset by detection of another 1 on the input or stopped after max_regen regenerations have occurred.
+
+Note that if max_regen=(-1)/ULONG_MAX then the regeneration will run forever.
+
+Params: (period, max_regen)"
+
+%feature("docstring") gr_repeat "Repeat a sample 'interp' times in output stream."
+
+%feature("docstring") gr_repeat::gr_repeat "
+
+Params: (itemsize, interp)"
+
+%feature("docstring") gr_repeat::~gr_repeat "
+
+Params: (NONE)"
+
+%feature("docstring") gr_repeat::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_repeat "Creates a repeat block.
+
+Repeat a sample 'interp' times in output stream.
+
+Params: (itemsize, interp)"
+
+%feature("docstring") gr_rms_cf "RMS average power."
+
+%feature("docstring") gr_rms_cf::gr_rms_cf "
+
+Params: (alpha)"
+
+%feature("docstring") gr_rms_cf::~gr_rms_cf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rms_cf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_rms_cf::unmuted "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rms_cf::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_make_rms_cf "Creates a rms_cf block.
+
+RMS average power.
+
+Params: (alpha)"
+
+%feature("docstring") gr_rms_ff "RMS average power."
+
+%feature("docstring") gr_rms_ff::gr_rms_ff "
+
+Params: (alpha)"
+
+%feature("docstring") gr_rms_ff::~gr_rms_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rms_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_rms_ff::unmuted "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rms_ff::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_make_rms_ff "Creates a rms_ff block.
+
+RMS average power.
+
+Params: (alpha)"
+
+%feature("docstring") gr_sample_and_hold_bb "sample and hold circuit
+
+Samples the data stream (input stream 0) and holds the value if the control signal is 1 (intput stream 1)."
+
+%feature("docstring") gr_sample_and_hold_bb::gr_sample_and_hold_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sample_and_hold_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_sample_and_hold_bb "Creates a sample_and_hold_bb block.
+
+sample and hold circuit
+
+Samples the data stream (input stream 0) and holds the value if the control signal is 1 (intput stream 1).
+
+Params: (NONE)"
+
+%feature("docstring") gr_sample_and_hold_ff "sample and hold circuit
+
+Samples the data stream (input stream 0) and holds the value if the control signal is 1 (intput stream 1)."
+
+%feature("docstring") gr_sample_and_hold_ff::gr_sample_and_hold_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sample_and_hold_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_sample_and_hold_ff "Creates a sample_and_hold_ff block.
+
+sample and hold circuit
+
+Samples the data stream (input stream 0) and holds the value if the control signal is 1 (intput stream 1).
+
+Params: (NONE)"
+
+%feature("docstring") gr_sample_and_hold_ii "sample and hold circuit
+
+Samples the data stream (input stream 0) and holds the value if the control signal is 1 (intput stream 1)."
+
+%feature("docstring") gr_sample_and_hold_ii::gr_sample_and_hold_ii "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sample_and_hold_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_sample_and_hold_ii "Creates a sample_and_hold_ii block.
+
+sample and hold circuit
+
+Samples the data stream (input stream 0) and holds the value if the control signal is 1 (intput stream 1).
+
+Params: (NONE)"
+
+%feature("docstring") gr_sample_and_hold_ss "sample and hold circuit
+
+Samples the data stream (input stream 0) and holds the value if the control signal is 1 (intput stream 1)."
+
+%feature("docstring") gr_sample_and_hold_ss::gr_sample_and_hold_ss "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sample_and_hold_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_sample_and_hold_ss "Creates a sample_and_hold_ss block.
+
+sample and hold circuit
+
+Samples the data stream (input stream 0) and holds the value if the control signal is 1 (intput stream 1).
+
+Params: (NONE)"
+
+%feature("docstring") gr_scrambler_bb "Scramble an input stream using an LFSR. This block works on the LSB only of the input data stream, i.e., on an \"unpacked binary\" stream, and produces the same format on its output."
+
+%feature("docstring") gr_scrambler_bb::gr_scrambler_bb "
+
+Params: (mask, seed, len)"
+
+%feature("docstring") gr_scrambler_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_scrambler_bb "Creates a scrambler_bb block.
+
+Scramble an input stream using an LFSR. This block works on the LSB only of the input data stream, i.e., on an \"unpacked binary\" stream, and produces the same format on its output.
+
+Params: (mask, seed, len)"
+
+%feature("docstring") gr_short_to_float "Convert stream of short to a stream of float."
+
+%feature("docstring") gr_short_to_float::gr_short_to_float "
+
+Params: (NONE)"
+
+%feature("docstring") gr_short_to_float::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_short_to_float "Creates a short_to_float block.
+
+Convert stream of short to a stream of float.
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_c "signal generator with gr_complex output."
+
+%feature("docstring") gr_sig_source_c::gr_sig_source_c "
+
+Params: (sampling_freq, waveform, wave_freq, ampl, offset)"
+
+%feature("docstring") gr_sig_source_c::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_sig_source_c::sampling_freq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_c::waveform "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_c::frequency "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_c::amplitude "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_c::offset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_c::set_sampling_freq "
+
+Params: (sampling_freq)"
+
+%feature("docstring") gr_sig_source_c::set_waveform "
+
+Params: (waveform)"
+
+%feature("docstring") gr_sig_source_c::set_frequency "
+
+Params: (frequency)"
+
+%feature("docstring") gr_sig_source_c::set_amplitude "
+
+Params: (ampl)"
+
+%feature("docstring") gr_sig_source_c::set_offset "
+
+Params: (offset)"
+
+%feature("docstring") gr_make_sig_source_c "Creates a sig_source_c block.
+
+signal generator with gr_complex output.
+
+Params: (sampling_freq, waveform, wave_freq, ampl, offset)"
+
+%feature("docstring") gr_sig_source_f "signal generator with float output."
+
+%feature("docstring") gr_sig_source_f::gr_sig_source_f "
+
+Params: (sampling_freq, waveform, wave_freq, ampl, offset)"
+
+%feature("docstring") gr_sig_source_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_sig_source_f::sampling_freq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_f::waveform "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_f::frequency "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_f::amplitude "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_f::offset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_f::set_sampling_freq "
+
+Params: (sampling_freq)"
+
+%feature("docstring") gr_sig_source_f::set_waveform "
+
+Params: (waveform)"
+
+%feature("docstring") gr_sig_source_f::set_frequency "
+
+Params: (frequency)"
+
+%feature("docstring") gr_sig_source_f::set_amplitude "
+
+Params: (ampl)"
+
+%feature("docstring") gr_sig_source_f::set_offset "
+
+Params: (offset)"
+
+%feature("docstring") gr_make_sig_source_f "Creates a sig_source_f block.
+
+signal generator with float output.
+
+Params: (sampling_freq, waveform, wave_freq, ampl, offset)"
+
+%feature("docstring") gr_sig_source_i "signal generator with int output."
+
+%feature("docstring") gr_sig_source_i::gr_sig_source_i "
+
+Params: (sampling_freq, waveform, wave_freq, ampl, offset)"
+
+%feature("docstring") gr_sig_source_i::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_sig_source_i::sampling_freq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_i::waveform "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_i::frequency "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_i::amplitude "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_i::offset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_i::set_sampling_freq "
+
+Params: (sampling_freq)"
+
+%feature("docstring") gr_sig_source_i::set_waveform "
+
+Params: (waveform)"
+
+%feature("docstring") gr_sig_source_i::set_frequency "
+
+Params: (frequency)"
+
+%feature("docstring") gr_sig_source_i::set_amplitude "
+
+Params: (ampl)"
+
+%feature("docstring") gr_sig_source_i::set_offset "
+
+Params: (offset)"
+
+%feature("docstring") gr_make_sig_source_i "Creates a sig_source_i block.
+
+signal generator with int output.
+
+Params: (sampling_freq, waveform, wave_freq, ampl, offset)"
+
+%feature("docstring") gr_sig_source_s "signal generator with short output."
+
+%feature("docstring") gr_sig_source_s::gr_sig_source_s "
+
+Params: (sampling_freq, waveform, wave_freq, ampl, offset)"
+
+%feature("docstring") gr_sig_source_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_sig_source_s::sampling_freq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_s::waveform "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_s::frequency "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_s::amplitude "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_s::offset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sig_source_s::set_sampling_freq "
+
+Params: (sampling_freq)"
+
+%feature("docstring") gr_sig_source_s::set_waveform "
+
+Params: (waveform)"
+
+%feature("docstring") gr_sig_source_s::set_frequency "
+
+Params: (frequency)"
+
+%feature("docstring") gr_sig_source_s::set_amplitude "
+
+Params: (ampl)"
+
+%feature("docstring") gr_sig_source_s::set_offset "
+
+Params: (offset)"
+
+%feature("docstring") gr_make_sig_source_s "Creates a sig_source_s block.
+
+signal generator with short output.
+
+Params: (sampling_freq, waveform, wave_freq, ampl, offset)"
+
+%feature("docstring") gr_simple_correlator "inverse of gr_simple_framer (more or less)"
+
+%feature("docstring") gr_simple_correlator::gr_simple_correlator "
+
+Params: (payload_bytesize)"
+
+%feature("docstring") gr_simple_correlator::slice "
+
+Params: (x)"
+
+%feature("docstring") gr_simple_correlator::update_avg "
+
+Params: (x)"
+
+%feature("docstring") gr_simple_correlator::enter_locked "
+
+Params: (NONE)"
+
+%feature("docstring") gr_simple_correlator::enter_under_threshold "
+
+Params: (NONE)"
+
+%feature("docstring") gr_simple_correlator::enter_looking "
+
+Params: (NONE)"
+
+%feature("docstring") gr_simple_correlator::add_index "
+
+Params: (a, b)"
+
+%feature("docstring") gr_simple_correlator::sub_index "
+
+Params: (a, b)"
+
+%feature("docstring") gr_simple_correlator::~gr_simple_correlator "
+
+Params: (NONE)"
+
+%feature("docstring") gr_simple_correlator::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_simple_correlator "Creates a simple_correlator block.
+
+inverse of gr_simple_framer (more or less)
+
+Params: (payload_bytesize)"
+
+%feature("docstring") gr_simple_framer "add sync field, seq number and command field to payload"
+
+%feature("docstring") gr_simple_framer::gr_simple_framer "
+
+Params: (payload_bytesize)"
+
+%feature("docstring") gr_simple_framer::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_simple_framer::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_simple_framer "Creates a simple_framer block.
+
+add sync field, seq number and command field to payload
+
+Params: (payload_bytesize)"
+
+%feature("docstring") gr_simple_squelch_cc "simple squelch block based on average signal power and threshold in dB."
+
+%feature("docstring") gr_simple_squelch_cc::gr_simple_squelch_cc "
+
+Params: (threshold_db, alpha)"
+
+%feature("docstring") gr_simple_squelch_cc::~gr_simple_squelch_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_simple_squelch_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_simple_squelch_cc::unmuted "
+
+Params: (NONE)"
+
+%feature("docstring") gr_simple_squelch_cc::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") gr_simple_squelch_cc::set_threshold "
+
+Params: (decibels)"
+
+%feature("docstring") gr_simple_squelch_cc::threshold "
+
+Params: (NONE)"
+
+%feature("docstring") gr_simple_squelch_cc::squelch_range "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_simple_squelch_cc "Creates a simple_squelch_cc block.
+
+simple squelch block based on average signal power and threshold in dB.
+
+Params: (threshold_db, alpha)"
+
+%feature("docstring") gr_single_pole_iir_filter_cc "single pole IIR filter with complex input, complex output
+
+The input and output satisfy a difference equation of the form
+
+with the corresponding rational system function
+
+
+
+Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback tap."
+
+%feature("docstring") gr_single_pole_iir_filter_cc::gr_single_pole_iir_filter_cc "
+
+Params: (alpha, vlen)"
+
+%feature("docstring") gr_single_pole_iir_filter_cc::~gr_single_pole_iir_filter_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_single_pole_iir_filter_cc::set_taps "
+
+Params: (alpha)"
+
+%feature("docstring") gr_single_pole_iir_filter_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_single_pole_iir_filter_cc "Creates a single_pole_iir_filter_cc block.
+
+single pole IIR filter with complex input, complex output
+
+The input and output satisfy a difference equation of the form
+
+with the corresponding rational system function
+
+
+
+Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback tap.
+
+Params: (alpha, vlen)"
+
+%feature("docstring") gr_single_pole_iir_filter_ff "single pole IIR filter with float input, float output
+
+The input and output satisfy a difference equation of the form
+
+with the corresponding rational system function
+
+
+
+Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback tap."
+
+%feature("docstring") gr_single_pole_iir_filter_ff::gr_single_pole_iir_filter_ff "
+
+Params: (alpha, vlen)"
+
+%feature("docstring") gr_single_pole_iir_filter_ff::~gr_single_pole_iir_filter_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_single_pole_iir_filter_ff::set_taps "
+
+Params: (alpha)"
+
+%feature("docstring") gr_single_pole_iir_filter_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_single_pole_iir_filter_ff "Creates a single_pole_iir_filter_ff block.
+
+single pole IIR filter with float input, float output
+
+The input and output satisfy a difference equation of the form
+
+with the corresponding rational system function
+
+
+
+Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback tap.
+
+Params: (alpha, vlen)"
+
+%feature("docstring") gr_single_threaded_scheduler "Simple scheduler for stream computations."
+
+%feature("docstring") gr_single_threaded_scheduler::~gr_single_threaded_scheduler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_single_threaded_scheduler::run "
+
+Params: (NONE)"
+
+%feature("docstring") gr_single_threaded_scheduler::stop "
+
+Params: (NONE)"
+
+%feature("docstring") gr_single_threaded_scheduler::gr_single_threaded_scheduler "
+
+Params: (blocks)"
+
+%feature("docstring") gr_single_threaded_scheduler::main_loop "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_single_threaded_scheduler "Creates a single_threaded_scheduler block.
+
+Simple scheduler for stream computations.
+
+Params: (blocks)"
+
+%feature("docstring") gr_skiphead "skips the first N items, from then on copies items to the output
+
+Useful for building test cases and sources which have metadata or junk at the start"
+
+%feature("docstring") gr_skiphead::gr_skiphead "
+
+Params: (itemsize, nitems_to_skip)"
+
+%feature("docstring") gr_skiphead::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_skiphead "Creates a skiphead block.
+
+skips the first N items, from then on copies items to the output
+
+Useful for building test cases and sources which have metadata or junk at the start
+
+Params: (itemsize, nitems_to_skip)"
+
+
+
+%feature("docstring") gr_squash_ff::gr_squash_ff "
+
+Params: (igrid, ogrid)"
+
+%feature("docstring") gr_squash_ff::~gr_squash_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squash_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_squash_ff "Creates a squash_ff block.
+
+
+
+Params: (igrid, ogrid)"
+
+%feature("docstring") gr_stream_mux "Stream muxing block to multiplex many streams into one with a specified format.
+
+Muxes N streams together producing an output stream that contains N0 items from the first stream, N1 items from the second, etc. and repeats:
+
+[N0, N1, N2, ..., Nm, N0, N1, ...]"
+
+%feature("docstring") gr_stream_mux::gr_stream_mux "
+
+Params: (itemsize, lengths)"
+
+%feature("docstring") gr_stream_mux::increment_stream "
+
+Params: (NONE)"
+
+%feature("docstring") gr_stream_mux::~gr_stream_mux "
+
+Params: ()"
+
+%feature("docstring") gr_stream_mux::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_stream_mux::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_stream_mux "Creates a stream_mux block.
+
+Stream muxing block to multiplex many streams into one with a specified format.
+
+Muxes N streams together producing an output stream that contains N0 items from the first stream, N1 items from the second, etc. and repeats:
+
+[N0, N1, N2, ..., Nm, N0, N1, ...]
+
+Params: (itemsize, lengths)"
+
+%feature("docstring") gr_stream_to_streams "convert a stream of items into a N streams of items
+
+Converts a stream of N items into N streams of 1 item. Repeat ad infinitum."
+
+%feature("docstring") gr_stream_to_streams::gr_stream_to_streams "
+
+Params: (item_size, nstreams)"
+
+%feature("docstring") gr_stream_to_streams::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_stream_to_streams "Creates a stream_to_streams block.
+
+convert a stream of items into a N streams of items
+
+Converts a stream of N items into N streams of 1 item. Repeat ad infinitum.
+
+Params: (item_size, nstreams)"
+
+%feature("docstring") gr_stream_to_vector "convert a stream of items into a stream of blocks containing nitems_per_block"
+
+%feature("docstring") gr_stream_to_vector::gr_stream_to_vector "
+
+Params: (item_size, nitems_per_block)"
+
+%feature("docstring") gr_stream_to_vector::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_stream_to_vector "Creates a stream_to_vector block.
+
+convert a stream of items into a stream of blocks containing nitems_per_block
+
+Params: (item_size, nitems_per_block)"
+
+%feature("docstring") gr_streams_to_stream "Convert N streams of 1 item into a 1 stream of N items
+
+Convert N streams of 1 item into 1 stream of N items. Repeat ad infinitum."
+
+%feature("docstring") gr_streams_to_stream::gr_streams_to_stream "
+
+Params: (item_size, nstreams)"
+
+%feature("docstring") gr_streams_to_stream::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_streams_to_stream "Creates a streams_to_stream block.
+
+Convert N streams of 1 item into a 1 stream of N items
+
+Convert N streams of 1 item into 1 stream of N items. Repeat ad infinitum.
+
+Params: (item_size, nstreams)"
+
+%feature("docstring") gr_streams_to_vector "convert N streams of items to 1 stream of vector length N"
+
+%feature("docstring") gr_streams_to_vector::gr_streams_to_vector "
+
+Params: (item_size, nstreams)"
+
+%feature("docstring") gr_streams_to_vector::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_streams_to_vector "Creates a streams_to_vector block.
+
+convert N streams of items to 1 stream of vector length N
+
+Params: (item_size, nstreams)"
+
+
+
+%feature("docstring") gr_stretch_ff::gr_stretch_ff "
+
+Params: (lo, vlen)"
+
+%feature("docstring") gr_stretch_ff::lo "
+
+Params: (NONE)"
+
+%feature("docstring") gr_stretch_ff::set_lo "
+
+Params: (lo)"
+
+%feature("docstring") gr_stretch_ff::vlen "
+
+Params: (NONE)"
+
+%feature("docstring") gr_stretch_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_stretch_ff "Creates a stretch_ff block.
+
+
+
+Params: (lo, vlen)"
+
+%feature("docstring") gr_sub_cc "output = input_0 - input_1 - ...)
+
+Subtract across all input streams."
+
+%feature("docstring") gr_sub_cc::gr_sub_cc "
+
+Params: (vlen)"
+
+%feature("docstring") gr_sub_cc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_sub_cc "Creates a sub_cc block.
+
+output = input_0 - input_1 - ...)
+
+Subtract across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_sub_ff "output = input_0 - input_1 - ...)
+
+Subtract across all input streams."
+
+%feature("docstring") gr_sub_ff::gr_sub_ff "
+
+Params: (vlen)"
+
+%feature("docstring") gr_sub_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_sub_ff "Creates a sub_ff block.
+
+output = input_0 - input_1 - ...)
+
+Subtract across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_sub_ii "output = input_0 - input_1 - ...)
+
+Subtract across all input streams."
+
+%feature("docstring") gr_sub_ii::gr_sub_ii "
+
+Params: (vlen)"
+
+%feature("docstring") gr_sub_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_sub_ii "Creates a sub_ii block.
+
+output = input_0 - input_1 - ...)
+
+Subtract across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_sub_ss "output = input_0 - input_1 - ...)
+
+Subtract across all input streams."
+
+%feature("docstring") gr_sub_ss::gr_sub_ss "
+
+Params: (vlen)"
+
+%feature("docstring") gr_sub_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_sub_ss "Creates a sub_ss block.
+
+output = input_0 - input_1 - ...)
+
+Subtract across all input streams.
+
+Params: (vlen)"
+
+%feature("docstring") gr_test "Test class for testing runtime system (setting up buffers and such.)
+
+This block does not do any usefull actual data processing. It just exposes setting all standard block parameters using the contructor or public methods.
+
+This block can be usefull when testing the runtime system. You can force this block to have a large history, decimation factor and/or large output_multiple. The runtime system should detect this and create large enough buffers all through the signal chain."
+
+%feature("docstring") gr_test::~gr_test "
+
+Params: (NONE)"
+
+%feature("docstring") gr_test::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_test::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_test::set_check_topology "Force check topology to return true or false.
+
+Params: (check_topology)"
+
+%feature("docstring") gr_test::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_test::fixed_rate_ninput_to_noutput "Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (ninput)"
+
+%feature("docstring") gr_test::fixed_rate_noutput_to_ninput "Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true.
+
+Params: (noutput)"
+
+%feature("docstring") gr_test::set_fixed_rate_public "Set if fixed rate should return true. N.B. This is normally a private method but we make it available here as public.
+
+Params: (fixed_rate)"
+
+%feature("docstring") gr_test::set_consume_type "Set the consume pattern.
+
+Params: (cons_type)"
+
+%feature("docstring") gr_test::set_consume_limit "Set the consume limit.
+
+Params: (limit)"
+
+%feature("docstring") gr_test::set_produce_type "Set the produce pattern.
+
+Params: (prod_type)"
+
+%feature("docstring") gr_test::set_produce_limit "Set the produce limit.
+
+Params: (limit)"
+
+%feature("docstring") gr_test::gr_test "
+
+Params: (name, min_inputs, max_inputs, sizeof_input_item, min_outputs, max_outputs, sizeof_output_item, history, output_multiple, relative_rate, fixed_rate, cons_type, prod_type)"
+
+%feature("docstring") gr_make_test "Creates a test block.
+
+Test class for testing runtime system (setting up buffers and such.)
+
+This block does not do any usefull actual data processing. It just exposes setting all standard block parameters using the contructor or public methods.
+
+This block can be usefull when testing the runtime system. You can force this block to have a large history, decimation factor and/or large output_multiple. The runtime system should detect this and create large enough buffers all through the signal chain.
+
+Params: (name, min_inputs, max_inputs, sizeof_input_item, min_outputs, max_outputs, sizeof_output_item, history, output_multiple, relative_rate, fixed_rate, cons_type, prod_type)"
+
+%feature("docstring") gr_threshold_ff "Please fix my documentation."
+
+%feature("docstring") gr_threshold_ff::gr_threshold_ff "
+
+Params: (lo, hi, initial_state)"
+
+%feature("docstring") gr_threshold_ff::lo "
+
+Params: (NONE)"
+
+%feature("docstring") gr_threshold_ff::set_lo "
+
+Params: (lo)"
+
+%feature("docstring") gr_threshold_ff::hi "
+
+Params: (NONE)"
+
+%feature("docstring") gr_threshold_ff::set_hi "
+
+Params: (hi)"
+
+%feature("docstring") gr_threshold_ff::last_state "
+
+Params: (NONE)"
+
+%feature("docstring") gr_threshold_ff::set_last_state "
+
+Params: (last_state)"
+
+%feature("docstring") gr_threshold_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_threshold_ff "Creates a threshold_ff block.
+
+Please fix my documentation.
+
+Params: (lo, hi, initial_state)"
+
+%feature("docstring") gr_throttle "throttle flow of samples such that the average rate does not exceed samples_per_sec.
+
+input: one stream of itemsize; output: one stream of itemsize
+
+N.B. this should only be used in GUI apps where there is no other rate limiting block. It is not intended nor effective at precisely controlling the rate of samples. That should be controlled by a source or sink tied to sample clock. E.g., a USRP or audio card."
+
+%feature("docstring") gr_throttle::gr_throttle "
+
+Params: (itemsize, samples_per_sec)"
+
+%feature("docstring") gr_throttle::~gr_throttle "
+
+Params: (NONE)"
+
+%feature("docstring") gr_throttle::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_throttle "Creates a throttle block.
+
+throttle flow of samples such that the average rate does not exceed samples_per_sec.
+
+input: one stream of itemsize; output: one stream of itemsize
+
+N.B. this should only be used in GUI apps where there is no other rate limiting block. It is not intended nor effective at precisely controlling the rate of samples. That should be controlled by a source or sink tied to sample clock. E.g., a USRP or audio card.
+
+Params: (itemsize, samples_per_sec)"
+
+%feature("docstring") gr_timer "implement timeouts"
+
+%feature("docstring") gr_timer::gr_timer "
+
+Params: ()"
+
+%feature("docstring") gr_timer::~gr_timer "
+
+Params: (NONE)"
+
+%feature("docstring") gr_timer::schedule_at "schedule timer to fire at abs_when
+
+Params: (abs_when)"
+
+%feature("docstring") gr_timer::schedule_after "schedule timer to fire rel_when seconds from now.
+
+Params: (rel_when)"
+
+%feature("docstring") gr_timer::schedule_periodic "schedule a periodic timeout.
+
+Params: (abs_when, period)"
+
+%feature("docstring") gr_timer::unschedule "cancel timer
+
+Params: (NONE)"
+
+%feature("docstring") gr_timer::now "return absolute current time (seconds since the epoc).
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_timer "Creates a timer block.
+
+implement timeouts
+
+Params: ()"
+
+%feature("docstring") gr_top_block "Top-level hierarchical block representing a flowgraph."
+
+%feature("docstring") gr_top_block::gr_top_block "
+
+Params: (name)"
+
+%feature("docstring") gr_top_block::~gr_top_block "
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block::run "The simple interface to running a flowgraph.
+
+Calls start() then wait(). Used to run a flowgraph that will stop on its own, or when another thread will call stop().
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block::start "Start the contained flowgraph. Creates one or more threads to execute the flow graph. Returns to the caller once the threads are created. Calling start() on a top_block that is already started IS an error.
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block::stop "Stop the running flowgraph. Notifies each thread created by the scheduler to shutdown, then returns to caller. Calling stop() on a top_block that is already stopped IS NOT an error.
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block::wait "Wait for a flowgraph to complete. Flowgraphs complete when either (1) all blocks indicate that they are done (typically only when using gr.file_source, or gr.head, or (2) after stop() has been called to request shutdown. Calling wait on a top_block that is not running IS NOT an error (wait returns w/o blocking).
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block::lock "Lock a flowgraph in preparation for reconfiguration. When an equal number of calls to lock() and unlock() have occurred, the flowgraph will be reconfigured.
+
+N.B. lock() and unlock() may not be called from a flowgraph thread (E.g., gr_block::work method) or deadlock will occur when reconfiguration happens.
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block::unlock "Unlock a flowgraph in preparation for reconfiguration. When an equal number of calls to lock() and unlock() have occurred, the flowgraph will be reconfigured.
+
+N.B. lock() and unlock() may not be called from a flowgraph thread (E.g., gr_block::work method) or deadlock will occur when reconfiguration happens.
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block::dump "Displays flattened flowgraph edges and block connectivity
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_top_block "Creates a top_block block.
+
+Top-level hierarchical block representing a flowgraph.
+
+Params: (name)"
+
+%feature("docstring") gr_uchar_to_float "Convert stream of unsigned chars to a stream of float."
+
+%feature("docstring") gr_uchar_to_float::gr_uchar_to_float "
+
+Params: (NONE)"
+
+%feature("docstring") gr_uchar_to_float::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_uchar_to_float "Creates a uchar_to_float block.
+
+Convert stream of unsigned chars to a stream of float.
+
+Params: (NONE)"
+
+%feature("docstring") gr_udp_sink "Write stream to an UDP socket."
+
+%feature("docstring") gr_udp_sink::gr_udp_sink "UDP Sink Constructor.
+
+Params: (itemsize, host, port, payload_size, eof)"
+
+%feature("docstring") gr_udp_sink::~gr_udp_sink "
+
+Params: (NONE)"
+
+%feature("docstring") gr_udp_sink::payload_size "return the PAYLOAD_SIZE of the socket
+
+Params: (NONE)"
+
+%feature("docstring") gr_udp_sink::connect "Change the connection to a new destination.
+
+Calls disconnect() to terminate any current connection first.
+
+Params: (host, port)"
+
+%feature("docstring") gr_udp_sink::disconnect "Send zero-length packet (if eof is requested) then stop sending.
+
+Zero-byte packets can be interpreted as EOF by gr_udp_source. Note that disconnect occurs automatically when the sink is destroyed, but not when its top_block stops.
+
+Params: (NONE)"
+
+%feature("docstring") gr_udp_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_udp_sink "Creates a udp_sink block.
+
+Write stream to an UDP socket.
+
+Params: (itemsize, host, port, payload_size, eof)"
+
+%feature("docstring") gr_udp_source "Read stream from an UDP socket."
+
+%feature("docstring") gr_udp_source::gr_udp_source "UDP Source Constructor.
+
+Params: (itemsize, host, port, payload_size, eof, wait)"
+
+%feature("docstring") gr_udp_source::~gr_udp_source "
+
+Params: (NONE)"
+
+%feature("docstring") gr_udp_source::payload_size "return the PAYLOAD_SIZE of the socket
+
+Params: (NONE)"
+
+%feature("docstring") gr_udp_source::get_port "return the port number of the socket
+
+Params: (NONE)"
+
+%feature("docstring") gr_udp_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_udp_source "Creates a udp_source block.
+
+Read stream from an UDP socket.
+
+Params: (itemsize, host, port, payload_size, eof, wait)"
+
+%feature("docstring") gr_unpack_k_bits_bb "Converts a byte with k relevent bits to k output bytes with 1 bit in the LSB."
+
+%feature("docstring") gr_unpack_k_bits_bb::gr_unpack_k_bits_bb "
+
+Params: (k)"
+
+%feature("docstring") gr_unpack_k_bits_bb::~gr_unpack_k_bits_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_unpack_k_bits_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_unpack_k_bits_bb "Creates a unpack_k_bits_bb block.
+
+Converts a byte with k relevent bits to k output bytes with 1 bit in the LSB.
+
+Params: (k)"
+
+%feature("docstring") gr_unpacked_to_packed_bb "Convert a stream of unpacked bytes or shorts into a stream of packed bytes or shorts.
+
+input: stream of unsigned char; output: stream of unsigned char.
+
+This is the inverse of gr_packed_to_unpacked_XX.
+
+The low bits are extracted from each input byte or short. These bits are then packed densely into the output bytes or shorts, such that all 8 or 16 bits of the output bytes or shorts are filled with valid input bits. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_unpacked_to_packed_bb::gr_unpacked_to_packed_bb "
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_unpacked_to_packed_bb::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_unpacked_to_packed_bb::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_unpacked_to_packed_bb::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_unpacked_to_packed_bb "Creates a unpacked_to_packed_bb block.
+
+Convert a stream of unpacked bytes or shorts into a stream of packed bytes or shorts.
+
+input: stream of unsigned char; output: stream of unsigned char.
+
+This is the inverse of gr_packed_to_unpacked_XX.
+
+The low bits are extracted from each input byte or short. These bits are then packed densely into the output bytes or shorts, such that all 8 or 16 bits of the output bytes or shorts are filled with valid input bits. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_unpacked_to_packed_ii "Convert a stream of unpacked bytes or shorts into a stream of packed bytes or shorts.
+
+input: stream of int; output: stream of int.
+
+This is the inverse of gr_packed_to_unpacked_XX.
+
+The low bits are extracted from each input byte or short. These bits are then packed densely into the output bytes or shorts, such that all 8 or 16 bits of the output bytes or shorts are filled with valid input bits. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_unpacked_to_packed_ii::gr_unpacked_to_packed_ii "
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_unpacked_to_packed_ii::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_unpacked_to_packed_ii::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_unpacked_to_packed_ii::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_unpacked_to_packed_ii "Creates a unpacked_to_packed_ii block.
+
+Convert a stream of unpacked bytes or shorts into a stream of packed bytes or shorts.
+
+input: stream of int; output: stream of int.
+
+This is the inverse of gr_packed_to_unpacked_XX.
+
+The low bits are extracted from each input byte or short. These bits are then packed densely into the output bytes or shorts, such that all 8 or 16 bits of the output bytes or shorts are filled with valid input bits. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_unpacked_to_packed_ss "Convert a stream of unpacked bytes or shorts into a stream of packed bytes or shorts.
+
+input: stream of short; output: stream of short.
+
+This is the inverse of gr_packed_to_unpacked_XX.
+
+The low bits are extracted from each input byte or short. These bits are then packed densely into the output bytes or shorts, such that all 8 or 16 bits of the output bytes or shorts are filled with valid input bits. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols."
+
+%feature("docstring") gr_unpacked_to_packed_ss::gr_unpacked_to_packed_ss "
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_unpacked_to_packed_ss::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_unpacked_to_packed_ss::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_unpacked_to_packed_ss::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_make_unpacked_to_packed_ss "Creates a unpacked_to_packed_ss block.
+
+Convert a stream of unpacked bytes or shorts into a stream of packed bytes or shorts.
+
+input: stream of short; output: stream of short.
+
+This is the inverse of gr_packed_to_unpacked_XX.
+
+The low bits are extracted from each input byte or short. These bits are then packed densely into the output bytes or shorts, such that all 8 or 16 bits of the output bytes or shorts are filled with valid input bits. The right thing is done if bits_per_chunk is not a power of two.
+
+The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.
+
+Params: (bits_per_chunk, endianness)"
+
+%feature("docstring") gr_vco_f "VCO - Voltage controlled oscillator
+
+input: float stream of control voltages; output: float oscillator output."
+
+%feature("docstring") gr_vco_f::gr_vco_f "VCO - Voltage controlled oscillator.
+
+Params: (sampling_rate, sensitivity, amplitude)"
+
+%feature("docstring") gr_vco_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_vco_f "Creates a vco_f block.
+
+VCO - Voltage controlled oscillator
+
+input: float stream of control voltages; output: float oscillator output.
+
+Params: (sampling_rate, sensitivity, amplitude)"
+
+%feature("docstring") gr_vector_sink_b "unsigned char sink that writes to a vector"
+
+%feature("docstring") gr_vector_sink_b::gr_vector_sink_b "
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_b::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_vector_sink_b::reset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_b::clear "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_b::data "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_vector_sink_b "Creates a vector_sink_b block.
+
+unsigned char sink that writes to a vector
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_c "gr_complex sink that writes to a vector"
+
+%feature("docstring") gr_vector_sink_c::gr_vector_sink_c "
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_c::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_vector_sink_c::reset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_c::clear "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_c::data "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_vector_sink_c "Creates a vector_sink_c block.
+
+gr_complex sink that writes to a vector
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_f "float sink that writes to a vector"
+
+%feature("docstring") gr_vector_sink_f::gr_vector_sink_f "
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_vector_sink_f::reset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_f::clear "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_f::data "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_vector_sink_f "Creates a vector_sink_f block.
+
+float sink that writes to a vector
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_i "int sink that writes to a vector"
+
+%feature("docstring") gr_vector_sink_i::gr_vector_sink_i "
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_i::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_vector_sink_i::reset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_i::clear "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_i::data "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_vector_sink_i "Creates a vector_sink_i block.
+
+int sink that writes to a vector
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_s "short sink that writes to a vector"
+
+%feature("docstring") gr_vector_sink_s::gr_vector_sink_s "
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_sink_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_vector_sink_s::reset "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_s::clear "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_sink_s::data "
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_vector_sink_s "Creates a vector_sink_s block.
+
+short sink that writes to a vector
+
+Params: (vlen)"
+
+%feature("docstring") gr_vector_source_b "source of unsigned char's that gets its data from a vector"
+
+%feature("docstring") gr_vector_source_b::gr_vector_source_b "
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_b::rewind "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_source_b::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_vector_source_b "Creates a vector_source_b block.
+
+source of unsigned char's that gets its data from a vector
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_c "source of gr_complex's that gets its data from a vector"
+
+%feature("docstring") gr_vector_source_c::gr_vector_source_c "
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_c::rewind "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_source_c::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_vector_source_c "Creates a vector_source_c block.
+
+source of gr_complex's that gets its data from a vector
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_f "source of float's that gets its data from a vector"
+
+%feature("docstring") gr_vector_source_f::gr_vector_source_f "
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_f::rewind "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_source_f::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_vector_source_f "Creates a vector_source_f block.
+
+source of float's that gets its data from a vector
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_i "source of int's that gets its data from a vector"
+
+%feature("docstring") gr_vector_source_i::gr_vector_source_i "
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_i::rewind "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_source_i::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_vector_source_i "Creates a vector_source_i block.
+
+source of int's that gets its data from a vector
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_s "source of short's that gets its data from a vector"
+
+%feature("docstring") gr_vector_source_s::gr_vector_source_s "
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_source_s::rewind "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vector_source_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_vector_source_s "Creates a vector_source_s block.
+
+source of short's that gets its data from a vector
+
+Params: (data, repeat, vlen)"
+
+%feature("docstring") gr_vector_to_stream "convert a stream of blocks of nitems_per_block items into a stream of items"
+
+%feature("docstring") gr_vector_to_stream::gr_vector_to_stream "
+
+Params: (item_size, nitems_per_block)"
+
+%feature("docstring") gr_vector_to_stream::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_vector_to_stream "Creates a vector_to_stream block.
+
+convert a stream of blocks of nitems_per_block items into a stream of items
+
+Params: (item_size, nitems_per_block)"
+
+%feature("docstring") gr_vector_to_streams "Convert 1 stream of vectors of length N to N streams of items."
+
+%feature("docstring") gr_vector_to_streams::gr_vector_to_streams "
+
+Params: (item_size, nstreams)"
+
+%feature("docstring") gr_vector_to_streams::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_vector_to_streams "Creates a vector_to_streams block.
+
+Convert 1 stream of vectors of length N to N streams of items.
+
+Params: (item_size, nstreams)"
+
+%feature("docstring") gr_wavelet_ff "compute wavelet transform using gsl routines"
+
+%feature("docstring") gr_wavelet_ff::gr_wavelet_ff "
+
+Params: (size, order, forward)"
+
+%feature("docstring") gr_wavelet_ff::~gr_wavelet_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_wavelet_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_wavelet_ff "Creates a wavelet_ff block.
+
+compute wavelet transform using gsl routines
+
+Params: (size, order, forward)"
+
+%feature("docstring") gr_wavfile_sink "Read stream from a Microsoft PCM (.wav) file, output floats.
+
+Values are within [-1;1]. Check gr_make_wavfile_source() for extra info."
+
+%feature("docstring") gr_wavfile_sink::gr_wavfile_sink "
+
+Params: (filename, n_channels, sample_rate, bits_per_sample)"
+
+%feature("docstring") gr_wavfile_sink::convert_to_short "Convert a sample value within [-1;+1] to a corresponding short integer value.
+
+Params: (sample)"
+
+%feature("docstring") gr_wavfile_sink::close_wav "Writes information to the WAV header which is not available a-priori (chunk size etc.) and closes the file. Not thread-safe and assumes d_fp is a valid file pointer, should thus only be called by other methods.
+
+Params: (NONE)"
+
+%feature("docstring") gr_wavfile_sink::~gr_wavfile_sink "
+
+Params: (NONE)"
+
+%feature("docstring") gr_wavfile_sink::open "Opens a new file and writes a WAV header. Thread-safe.
+
+Params: (filename)"
+
+%feature("docstring") gr_wavfile_sink::close "Closes the currently active file and completes the WAV header. Thread-safe.
+
+Params: (NONE)"
+
+%feature("docstring") gr_wavfile_sink::do_update "If any file changes have occurred, update now. This is called internally by work() and thus doesn't usually need to be called by hand.
+
+Params: (NONE)"
+
+%feature("docstring") gr_wavfile_sink::set_sample_rate "Set the sample rate. This will not affect the WAV file currently opened. Any following open() calls will use this new sample rate.
+
+Params: (sample_rate)"
+
+%feature("docstring") gr_wavfile_sink::set_bits_per_sample "Set bits per sample. This will not affect the WAV file currently opened (see set_sample_rate()). If the value is neither 8 nor 16, the call is ignored and the current value is kept.
+
+Params: (bits_per_sample)"
+
+%feature("docstring") gr_wavfile_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_wavfile_sink "Creates a wavfile_sink block.
+
+Read stream from a Microsoft PCM (.wav) file, output floats.
+
+Values are within [-1;1]. Check gr_make_wavfile_source() for extra info.
+
+Params: (filename, n_channels, sample_rate, bits_per_sample)"
+
+%feature("docstring") gr_wavfile_source "Read stream from a Microsoft PCM (.wav) file, output floats.
+
+Unless otherwise called, values are within [-1;1]. Check gr_make_wavfile_source() for extra info."
+
+%feature("docstring") gr_wavfile_source::gr_wavfile_source "
+
+Params: (filename, repeat)"
+
+%feature("docstring") gr_wavfile_source::convert_to_float "Convert an integer sample value to a float value within [-1;1].
+
+Params: (sample)"
+
+%feature("docstring") gr_wavfile_source::~gr_wavfile_source "
+
+Params: (NONE)"
+
+%feature("docstring") gr_wavfile_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_wavfile_source::sample_rate "Read the sample rate as specified in the wav file header.
+
+Params: (NONE)"
+
+%feature("docstring") gr_wavfile_source::bits_per_sample "Return the number of bits per sample as specified in the wav file header. Only 8 or 16 bit are supported here.
+
+Params: (NONE)"
+
+%feature("docstring") gr_wavfile_source::channels "Return the number of channels in the wav file as specified in the wav file header. This is also the max number of outputs you can have.
+
+Params: (NONE)"
+
+%feature("docstring") gr_make_wavfile_source "Creates a wavfile_source block.
+
+Read stream from a Microsoft PCM (.wav) file, output floats.
+
+Unless otherwise called, values are within [-1;1]. Check gr_make_wavfile_source() for extra info.
+
+Params: (filename, repeat)"
+
+%feature("docstring") gr_wvps_ff "computes the Wavelet Power Spectrum from a set of wavelet coefficients"
+
+%feature("docstring") gr_wvps_ff::gr_wvps_ff "
+
+Params: (ilen)"
+
+%feature("docstring") gr_wvps_ff::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_wvps_ff "Creates a wvps_ff block.
+
+computes the Wavelet Power Spectrum from a set of wavelet coefficients
+
+Params: (ilen)"
+
+%feature("docstring") gr_xor_bb "output = input_0 ^ input_1 ^ , ... ^ input_N)
+
+bitwise boolean xor across all input streams."
+
+%feature("docstring") gr_xor_bb::gr_xor_bb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_xor_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_xor_bb "Creates a xor_bb block.
+
+output = input_0 ^ input_1 ^ , ... ^ input_N)
+
+bitwise boolean xor across all input streams.
+
+Params: (NONE)"
+
+%feature("docstring") gr_xor_ii "output = input_0 ^ input_1 ^ , ... ^ input_N)
+
+bitwise boolean xor across all input streams."
+
+%feature("docstring") gr_xor_ii::gr_xor_ii "
+
+Params: (NONE)"
+
+%feature("docstring") gr_xor_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_xor_ii "Creates a xor_ii block.
+
+output = input_0 ^ input_1 ^ , ... ^ input_N)
+
+bitwise boolean xor across all input streams.
+
+Params: (NONE)"
+
+%feature("docstring") gr_xor_ss "output = input_0 ^ input_1 ^ , ... ^ input_N)
+
+bitwise boolean xor across all input streams."
+
+%feature("docstring") gr_xor_ss::gr_xor_ss "
+
+Params: (NONE)"
+
+%feature("docstring") gr_xor_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_make_xor_ss "Creates a xor_ss block.
+
+output = input_0 ^ input_1 ^ , ... ^ input_N)
+
+bitwise boolean xor across all input streams.
+
+Params: (NONE)"
+
+
+
+%feature("docstring") msdd_source_simple::msdd_source_simple "
+
+Params: (src, port_src)"
+
+%feature("docstring") msdd_source_simple::~msdd_source_simple "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_source_simple::stop "Called to disable drivers, etc for i/o devices.
+
+Params: (NONE)"
+
+%feature("docstring") msdd_source_simple::start "Called to enable drivers, etc for i/o devices.
+
+This allows a block to enable an associated driver to begin transfering data just before we start to execute the scheduler. The end result is that this reduces latency in the pipeline when dealing with audio devices, usrps, etc.
+
+Params: (NONE)"
+
+%feature("docstring") msdd_source_simple::set_decim_rate "
+
+Params: (int)"
+
+%feature("docstring") msdd_source_simple::set_rx_freq "
+
+Params: (, )"
+
+%feature("docstring") msdd_source_simple::set_pga "
+
+Params: (, )"
+
+%feature("docstring") msdd_source_simple::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") msdd_source_simple::adc_freq "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_source_simple::decim_rate "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_source_simple::gain_range "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_source_simple::freq_range "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_make_source_simple "Creates a source_simple block.
+
+
+
+Params: (src, port_src)"
+
+
+
+%feature("docstring") noaa_hrpt_decoder::noaa_hrpt_decoder "
+
+Params: (verbose, output_files)"
+
+%feature("docstring") noaa_hrpt_decoder::process_mfnum "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_decoder::process_address "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_decoder::process_day_of_year "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_decoder::process_milli1 "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_decoder::process_milli2 "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_decoder::process_milli3 "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_decoder::~noaa_hrpt_decoder "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_decoder::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") noaa_make_hrpt_decoder "Creates a hrpt_decoder block.
+
+
+
+Params: (verbose, output_files)"
+
+
+
+%feature("docstring") noaa_hrpt_deframer::noaa_hrpt_deframer "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_deframer::enter_idle "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_deframer::enter_synced "
+
+Params: (NONE)"
+
+%feature("docstring") noaa_hrpt_deframer::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") noaa_make_hrpt_deframer "Creates a hrpt_deframer block.
+
+
+
+Params: (NONE)"
+
+
+
+%feature("docstring") noaa_hrpt_pll_cf::noaa_hrpt_pll_cf "
+
+Params: (alpha, beta, max_offset)"
+
+%feature("docstring") noaa_hrpt_pll_cf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") noaa_hrpt_pll_cf::set_alpha "
+
+Params: (alpha)"
+
+%feature("docstring") noaa_hrpt_pll_cf::set_beta "
+
+Params: (beta)"
+
+%feature("docstring") noaa_hrpt_pll_cf::set_max_offset "
+
+Params: (max_offset)"
+
+%feature("docstring") noaa_make_hrpt_pll_cf "Creates a hrpt_pll_cf block.
+
+
+
+Params: (alpha, beta, max_offset)"
+
+%feature("docstring") pager_flex_deinterleave "flex deinterleave description"
+
+%feature("docstring") pager_flex_deinterleave::pager_flex_deinterleave "
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_deinterleave::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") pager_make_flex_deinterleave "Creates a flex_deinterleave block.
+
+flex deinterleave description
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_frame "flex_frame."
+
+%feature("docstring") pager_flex_frame::pager_flex_frame "
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_frame::~pager_flex_frame "
+
+Params: (NONE)"
+
+%feature("docstring") pager_make_flex_frame "Creates a flex_frame block.
+
+flex_frame.
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_sync "flex sync description"
+
+%feature("docstring") pager_flex_sync::pager_flex_sync "
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_sync::enter_idle "
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_sync::enter_syncing "
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_sync::enter_sync1 "
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_sync::enter_sync2 "
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_sync::enter_data "
+
+Params: (NONE)"
+
+%feature("docstring") pager_flex_sync::index_avg "
+
+Params: (start, end)"
+
+%feature("docstring") pager_flex_sync::test_sync "
+
+Params: (sym)"
+
+%feature("docstring") pager_flex_sync::output_symbol "
+
+Params: (sym)"
+
+%feature("docstring") pager_flex_sync::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") pager_flex_sync::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") pager_make_flex_sync "Creates a flex_sync block.
+
+flex sync description
+
+Params: (NONE)"
+
+%feature("docstring") pager_slicer_fb "slicer description"
+
+%feature("docstring") pager_slicer_fb::pager_slicer_fb "
+
+Params: (alpha)"
+
+%feature("docstring") pager_slicer_fb::slice "
+
+Params: (sample)"
+
+%feature("docstring") pager_slicer_fb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") pager_slicer_fb::dc_offset "
+
+Params: (NONE)"
+
+%feature("docstring") pager_make_slicer_fb "Creates a slicer_fb block.
+
+slicer description
+
+Params: (alpha)"
+
+%feature("docstring") trellis_encoder_bb "Convolutional encoder."
+
+%feature("docstring") trellis_encoder_bb::trellis_encoder_bb "
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_bb::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_bb::ST "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_bb::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_encoder_bb "Creates a encoder_bb block.
+
+Convolutional encoder.
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_bi "Convolutional encoder."
+
+%feature("docstring") trellis_encoder_bi::trellis_encoder_bi "
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_bi::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_bi::ST "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_bi::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_encoder_bi "Creates a encoder_bi block.
+
+Convolutional encoder.
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_bs "Convolutional encoder."
+
+%feature("docstring") trellis_encoder_bs::trellis_encoder_bs "
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_bs::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_bs::ST "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_bs::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_encoder_bs "Creates a encoder_bs block.
+
+Convolutional encoder.
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_ii "Convolutional encoder."
+
+%feature("docstring") trellis_encoder_ii::trellis_encoder_ii "
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_ii::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_ii::ST "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_ii::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_encoder_ii "Creates a encoder_ii block.
+
+Convolutional encoder.
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_si "Convolutional encoder."
+
+%feature("docstring") trellis_encoder_si::trellis_encoder_si "
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_si::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_si::ST "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_si::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_encoder_si "Creates a encoder_si block.
+
+Convolutional encoder.
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_ss "Convolutional encoder."
+
+%feature("docstring") trellis_encoder_ss::trellis_encoder_ss "
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_encoder_ss::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_ss::ST "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_encoder_ss::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_encoder_ss "Creates a encoder_ss block.
+
+Convolutional encoder.
+
+Params: (FSM, ST)"
+
+%feature("docstring") trellis_metrics_c "Evaluate metrics for use by the Viterbi algorithm."
+
+%feature("docstring") trellis_metrics_c::trellis_metrics_c "
+
+Params: (O, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_metrics_c::O "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_c::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_c::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_c::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_c::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_metrics_c::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_metrics_c::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_metrics_c "Creates a metrics_c block.
+
+Evaluate metrics for use by the Viterbi algorithm.
+
+Params: (O, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_metrics_f "Evaluate metrics for use by the Viterbi algorithm."
+
+%feature("docstring") trellis_metrics_f::trellis_metrics_f "
+
+Params: (O, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_metrics_f::O "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_f::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_f::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_f::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_f::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_metrics_f::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_metrics_f::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_metrics_f "Creates a metrics_f block.
+
+Evaluate metrics for use by the Viterbi algorithm.
+
+Params: (O, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_metrics_i "Evaluate metrics for use by the Viterbi algorithm."
+
+%feature("docstring") trellis_metrics_i::trellis_metrics_i "
+
+Params: (O, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_metrics_i::O "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_i::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_i::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_i::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_i::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_metrics_i::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_metrics_i::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_metrics_i "Creates a metrics_i block.
+
+Evaluate metrics for use by the Viterbi algorithm.
+
+Params: (O, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_metrics_s "Evaluate metrics for use by the Viterbi algorithm."
+
+%feature("docstring") trellis_metrics_s::trellis_metrics_s "
+
+Params: (O, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_metrics_s::O "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_s::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_s::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_s::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_metrics_s::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_metrics_s::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_metrics_s::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_metrics_s "Creates a metrics_s block.
+
+Evaluate metrics for use by the Viterbi algorithm.
+
+Params: (O, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_permutation "Permutation."
+
+%feature("docstring") trellis_permutation::trellis_permutation "
+
+Params: (K, TABLE, SYMS_PER_BLOCK, NBYTES)"
+
+%feature("docstring") trellis_permutation::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_permutation::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_permutation::SYMS_PER_BLOCK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_permutation::NBYTES_INOUT "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_permutation::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_permutation "Creates a permutation block.
+
+Permutation.
+
+Params: (K, TABLE, SYMS_PER_BLOCK, NBYTES)"
+
+
+
+%feature("docstring") trellis_siso_combined_f::trellis_siso_combined_f "
+
+Params: (FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_siso_combined_f::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::POSTI "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::POSTO "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::SISO_TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_combined_f::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_siso_combined_f::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_siso_combined_f "Creates a siso_combined_f block.
+
+
+
+Params: (FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_siso_f::trellis_siso_f "
+
+Params: (FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE)"
+
+%feature("docstring") trellis_siso_f::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_f::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_f::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_f::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_f::POSTI "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_f::POSTO "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_f::SISO_TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_siso_f::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_siso_f::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_siso_f "Creates a siso_f block.
+
+
+
+Params: (FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_b::trellis_viterbi_b "
+
+Params: (FSM, K, S0, SK)"
+
+%feature("docstring") trellis_viterbi_b::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_b::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_b::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_b::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_b::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_b::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_b "Creates a viterbi_b block.
+
+
+
+Params: (FSM, K, S0, SK)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_cb::trellis_viterbi_combined_cb "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_cb::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cb::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cb::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cb::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cb::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cb::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cb::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cb::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_cb::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_cb::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_cb "Creates a viterbi_combined_cb block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_ci::trellis_viterbi_combined_ci "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_ci::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ci::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ci::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ci::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ci::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ci::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ci::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ci::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_ci::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_ci::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_ci "Creates a viterbi_combined_ci block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_cs::trellis_viterbi_combined_cs "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_cs::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cs::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cs::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cs::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cs::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cs::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cs::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_cs::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_cs::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_cs::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_cs "Creates a viterbi_combined_cs block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_fb::trellis_viterbi_combined_fb "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_fb::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fb::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fb::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fb::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fb::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fb::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fb::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fb::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_fb::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_fb::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_fb "Creates a viterbi_combined_fb block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_fi::trellis_viterbi_combined_fi "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_fi::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fi::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fi::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fi::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fi::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fi::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fi::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fi::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_fi::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_fi::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_fi "Creates a viterbi_combined_fi block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_fs::trellis_viterbi_combined_fs "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_fs::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fs::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fs::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fs::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fs::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fs::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fs::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_fs::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_fs::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_fs::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_fs "Creates a viterbi_combined_fs block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_ib::trellis_viterbi_combined_ib "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_ib::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ib::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ib::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ib::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ib::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ib::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ib::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ib::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_ib::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_ib::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_ib "Creates a viterbi_combined_ib block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_ii::trellis_viterbi_combined_ii "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_ii::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ii::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ii::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ii::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ii::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ii::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ii::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ii::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_ii::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_ii::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_ii "Creates a viterbi_combined_ii block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_is::trellis_viterbi_combined_is "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_is::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_is::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_is::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_is::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_is::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_is::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_is::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_is::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_is::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_is::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_is "Creates a viterbi_combined_is block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_sb::trellis_viterbi_combined_sb "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_sb::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_sb::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_sb::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_sb::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_sb::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_sb::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_sb::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_sb::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_sb::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_sb::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_sb "Creates a viterbi_combined_sb block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_si::trellis_viterbi_combined_si "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_si::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_si::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_si::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_si::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_si::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_si::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_si::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_si::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_si::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_si::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_si "Creates a viterbi_combined_si block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_combined_ss::trellis_viterbi_combined_ss "
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+%feature("docstring") trellis_viterbi_combined_ss::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ss::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ss::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ss::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ss::D "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ss::TABLE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ss::TYPE "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_combined_ss::set_TABLE "
+
+Params: (table)"
+
+%feature("docstring") trellis_viterbi_combined_ss::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_combined_ss::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_combined_ss "Creates a viterbi_combined_ss block.
+
+
+
+Params: (FSM, K, S0, SK, D, TABLE, TYPE)"
+
+
+
+%feature("docstring") trellis_viterbi_i::trellis_viterbi_i "
+
+Params: (FSM, K, S0, SK)"
+
+%feature("docstring") trellis_viterbi_i::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_i::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_i::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_i::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_i::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_i::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_i "Creates a viterbi_i block.
+
+
+
+Params: (FSM, K, S0, SK)"
+
+
+
+%feature("docstring") trellis_viterbi_s::trellis_viterbi_s "
+
+Params: (FSM, K, S0, SK)"
+
+%feature("docstring") trellis_viterbi_s::FSM "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_s::K "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_s::S0 "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_s::SK "
+
+Params: (NONE)"
+
+%feature("docstring") trellis_viterbi_s::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") trellis_viterbi_s::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") trellis_make_viterbi_s "Creates a viterbi_s block.
+
+
+
+Params: (FSM, K, S0, SK)"
+
+
+
+%feature("docstring") usrp2_sink_16sc::usrp2_sink_16sc "
+
+Params: (ifc, mac)"
+
+%feature("docstring") usrp2_sink_16sc::~usrp2_sink_16sc "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_16sc::work "Derived class must override this.
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") usrp2_make_sink_16sc "Creates a sink_16sc block.
+
+
+
+Params: (ifc, mac)"
+
+
+
+%feature("docstring") usrp2_sink_32fc::usrp2_sink_32fc "
+
+Params: (ifc, mac)"
+
+%feature("docstring") usrp2_sink_32fc::~usrp2_sink_32fc "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_32fc::work "Derived class must override this.
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") usrp2_make_sink_32fc "Creates a sink_32fc block.
+
+
+
+Params: (ifc, mac)"
+
+
+
+%feature("docstring") usrp2_source_16sc::usrp2_source_16sc "
+
+Params: (ifc, mac)"
+
+%feature("docstring") usrp2_source_16sc::~usrp2_source_16sc "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_16sc::work "Derived class must override this.
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") usrp2_make_source_16sc "Creates a source_16sc block.
+
+
+
+Params: (ifc, mac)"
+
+
+
+%feature("docstring") usrp2_source_32fc::usrp2_source_32fc "
+
+Params: (ifc, mac)"
+
+%feature("docstring") usrp2_source_32fc::~usrp2_source_32fc "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_32fc::work "Derived class must override this.
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") usrp2_make_source_32fc "Creates a source_32fc block.
+
+
+
+Params: (ifc, mac)"
+
+%feature("docstring") usrp_sink_c "Interface to Universal Software Radio Peripheral Tx path
+
+input: gr_complex."
+
+%feature("docstring") usrp_sink_c::usrp_sink_c "
+
+Params: (which_board, interp_rate, nchan, mux, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_sink_c::copy_to_usrp_buffer "convert between input item format and usrp native format
+
+Params: (input_items, input_index, input_items_available, input_items_consumed, usrp_buffer, usrp_buffer_length, bytes_written)"
+
+%feature("docstring") usrp_sink_c::~usrp_sink_c "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_make_sink_c "Creates a sink_c block.
+
+Interface to Universal Software Radio Peripheral Tx path
+
+input: gr_complex.
+
+Params: (which_board, interp_rate, nchan, mux, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_sink_s "Interface to Universal Software Radio Peripheral Tx path
+
+input: short."
+
+%feature("docstring") usrp_sink_s::usrp_sink_s "
+
+Params: (which_board, interp_rate, nchan, mux, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_sink_s::copy_to_usrp_buffer "convert between input item format and usrp native format
+
+Params: (input_items, input_index, input_items_available, input_items_consumed, usrp_buffer, usrp_buffer_length, bytes_written)"
+
+%feature("docstring") usrp_sink_s::~usrp_sink_s "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_make_sink_s "Creates a sink_s block.
+
+Interface to Universal Software Radio Peripheral Tx path
+
+input: short.
+
+Params: (which_board, interp_rate, nchan, mux, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_source_c "Interface to Universal Software Radio Peripheral Rx path
+
+output: 1 stream of complex<float>"
+
+%feature("docstring") usrp_source_c::usrp_source_c "
+
+Params: (which_board, decim_rate, nchan, mux, mode, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_source_c::ninput_bytes_reqd_for_noutput_items "return number of usrp input bytes required to produce noutput items.
+
+Params: (noutput_items)"
+
+%feature("docstring") usrp_source_c::copy_from_usrp_buffer "convert between native usrp format and output item format
+
+The copy must consume all bytes available. That is, must equal .
+
+Params: (output_items, output_index, output_items_available, output_items_produced, usrp_buffer, usrp_buffer_length, bytes_read)"
+
+%feature("docstring") usrp_source_c::~usrp_source_c "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_make_source_c "Creates a source_c block.
+
+Interface to Universal Software Radio Peripheral Rx path
+
+output: 1 stream of complex<float>
+
+Params: (which_board, decim_rate, nchan, mux, mode, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_source_s "Interface to Universal Software Radio Peripheral Rx path
+
+output: 1 stream of short."
+
+%feature("docstring") usrp_source_s::usrp_source_s "
+
+Params: (which_board, decim_rate, nchan, mux, mode, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_source_s::ninput_bytes_reqd_for_noutput_items "return number of usrp input bytes required to produce noutput items.
+
+Params: (noutput_items)"
+
+%feature("docstring") usrp_source_s::copy_from_usrp_buffer "convert between native usrp format and output item format
+
+The copy must consume all bytes available. That is, must equal .
+
+Params: (output_items, output_index, output_items_available, output_items_produced, usrp_buffer, usrp_buffer_length, bytes_read)"
+
+%feature("docstring") usrp_source_s::~usrp_source_s "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_make_source_s "Creates a source_s block.
+
+Interface to Universal Software Radio Peripheral Rx path
+
+output: 1 stream of short.
+
+Params: (which_board, decim_rate, nchan, mux, mode, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") audio_alsa_make_sink "make an alsa audio sink.
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_alsa_make_source "Make an ALSA audio source.
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_jack_make_sink "make an JACK audio sink.
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") jack_sink_process "
+
+Params: (nframes, arg)"
+
+%feature("docstring") audio_jack_make_source "make a JACK audio source.
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") jack_source_process "
+
+Params: (nframes, arg)"
+
+%feature("docstring") audio_oss_make_sink "
+
+Params: (sampling_rate, dev, ok_to_block)"
+
+%feature("docstring") audio_oss_make_source "
+
+Params: (sampling_rate, dev, ok_to_block)"
+
+%feature("docstring") audio_osx_make_sink "
+
+Params: (sample_rate, device_name, do_block, channel_config, max_sample_count)"
+
+%feature("docstring") audio_osx_make_source "
+
+Params: (sample_rate, device_name, do_block, channel_config, max_sample_count)"
+
+%feature("docstring") audio_portaudio_make_sink "PORTAUDIO audio sink.
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_portaudio_make_source "PORTAUDIO audio source.
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_windows_make_sink "
+
+Params: (sampling_freq, dev)"
+
+%feature("docstring") audio_windows_make_source "
+
+Params: (sampling_freq, dev)"
+
+%feature("docstring") dec2base "change base
+
+Params: (num, base, s)"
+
+%feature("docstring") dec2bases "
+
+Params: (num, bases, s)"
+
+%feature("docstring") base2dec "
+
+Params: (s, base)"
+
+%feature("docstring") bases2dec "
+
+Params: (s, bases)"
+
+%feature("docstring") ccomplex_dotprod_generic "
+
+Params: (input, taps, n_2_ccomplex_blocks, result)"
+
+%feature("docstring") ccomplex_dotprod_3dnow "
+
+Params: (input, taps, n_2_ccomplex_blocks, result)"
+
+%feature("docstring") ccomplex_dotprod_3dnowext "
+
+Params: (input, taps, n_2_ccomplex_blocks, result)"
+
+%feature("docstring") ccomplex_dotprod_sse "
+
+Params: (input, taps, n_2_ccomplex_blocks, result)"
+
+%feature("docstring") modnn "
+
+Params: (rs, x)"
+
+%feature("docstring") complex_dotprod_generic "
+
+Params: (input, taps, n_2_complex_blocks, result)"
+
+%feature("docstring") complex_dotprod_3dnow "
+
+Params: (input, taps, n_2_complex_blocks, result)"
+
+%feature("docstring") complex_dotprod_3dnowext "
+
+Params: (input, taps, n_2_complex_blocks, result)"
+
+%feature("docstring") complex_dotprod_sse "
+
+Params: (input, taps, n_2_complex_blocks, result)"
+
+%feature("docstring") create_atsci_equalizer_nop "
+
+Params: (NONE)"
+
+%feature("docstring") create_atsci_equalizer_lms "
+
+Params: (NONE)"
+
+%feature("docstring") create_atsci_equalizer_lms2 "
+
+Params: (NONE)"
+
+%feature("docstring") create_atsci_fs_checker "Factory that creates appropriate atsci_fs_checker
+
+Params: (NONE)"
+
+%feature("docstring") create_atsci_fs_correlator "Factory that creates appropriate atsci_fs_correlator
+
+Params: (NONE)"
+
+%feature("docstring") cvsd_make_decode_bs "Constructor parameters to initialize the CVSD decoder. The default values are modeled after the Bluetooth standard and should not be changed, except by an advanced user.
+
+Params: (min_step, max_step, step_decay, accum_decay, K, J, pos_accum_max, neg_accum_max)"
+
+%feature("docstring") cvsd_make_encode_sb "Constructor parameters to initialize the CVSD encoder. The default values are modeled after the Bluetooth standard and should not be changed except by an advanced user.
+
+Params: (min_step, max_step, step_decay, accum_decay, K, J, pos_accum_max, neg_accum_max)"
+
+%feature("docstring") darwin_error_str "
+
+Params: (result)"
+
+%feature("docstring") darwin_to_errno "
+
+Params: (result)"
+
+%feature("docstring") ep_to_pipeRef "
+
+Params: (device, ep)"
+
+%feature("docstring") operator<< "
+
+Params: (os, x)"
+
+%feature("docstring") instantiate_dbs "
+
+Params: (dbid, usrp, which_side)"
+
+%feature("docstring") int_seq_to_str "
+
+Params: (seq)"
+
+%feature("docstring") str_to_int_seq "
+
+Params: (str)"
+
+%feature("docstring") make_dial_tone "
+
+Params: (NONE)"
+
+%feature("docstring") dotprod_fff_altivec "
+
+Params: (a, b, n)"
+
+%feature("docstring") dotprod_fff_armv7_a "
+
+Params: (a, b, n)"
+
+%feature("docstring") fcomplex_dotprod_3dnow "
+
+Params: (input, taps, n_2_complex_blocks, result)"
+
+%feature("docstring") fcomplex_dotprod_sse "
+
+Params: (input, taps, n_2_complex_blocks, result)"
+
+%feature("docstring") _fft_1d_r2 "
+
+Params: (out, in, W, log2_size)"
+
+%feature("docstring") mod255 "
+
+Params: (x)"
+
+%feature("docstring") float_dotprod_generic "
+
+Params: (input, taps, n_4_float_blocks)"
+
+%feature("docstring") float_dotprod_3dnow "
+
+Params: (input, taps, n_4_float_blocks)"
+
+%feature("docstring") float_dotprod_sse "
+
+Params: (input, taps, n_4_float_blocks)"
+
+%feature("docstring") ep_to_pipeRef "
+
+Params: (device, ep)"
+
+%feature("docstring") g72x_init_state "
+
+Params: ()"
+
+%feature("docstring") g721_encoder "
+
+Params: (sample, in_coding, state_ptr)"
+
+%feature("docstring") g721_decoder "
+
+Params: (code, out_coding, state_ptr)"
+
+%feature("docstring") g723_24_encoder "
+
+Params: (sample, in_coding, state_ptr)"
+
+%feature("docstring") g723_24_decoder "
+
+Params: (code, out_coding, state_ptr)"
+
+%feature("docstring") g723_40_encoder "
+
+Params: (sample, in_coding, state_ptr)"
+
+%feature("docstring") g723_40_decoder "
+
+Params: (code, out_coding, state_ptr)"
+
+%feature("docstring") quantize "
+
+Params: (d, y, table, size)"
+
+%feature("docstring") reconstruct "
+
+Params: (, , )"
+
+%feature("docstring") update "
+
+Params: (code_size, y, wi, fi, dq, sr, dqsez, state_ptr)"
+
+%feature("docstring") tandem_adjust_alaw "
+
+Params: (sr, se, y, i, sign, qtab)"
+
+%feature("docstring") tandem_adjust_ulaw "
+
+Params: (sr, se, y, i, sign, qtab)"
+
+%feature("docstring") linear2alaw "
+
+Params: (pcm_val)"
+
+%feature("docstring") alaw2linear "
+
+Params: (a_val)"
+
+%feature("docstring") linear2ulaw "
+
+Params: (pcm_val)"
+
+%feature("docstring") ulaw2linear "
+
+Params: (u_val)"
+
+%feature("docstring") predictor_zero "
+
+Params: (state_ptr)"
+
+%feature("docstring") predictor_pole "
+
+Params: (state_ptr)"
+
+%feature("docstring") step_size "
+
+Params: (state_ptr)"
+
+%feature("docstring") gc_aligned_alloc "Return pointer to chunk of storage of size size bytes. The allocation will be aligned to an boundary.
+
+Throws if can't allocate memory. The storage should be freed with \"free\" when done. The memory is initialized to zero.
+
+Params: (size, alignment)"
+
+%feature("docstring") gc_udelay "
+
+Params: (usecs)"
+
+%feature("docstring") gc_cdelay "
+
+Params: (cpu_cycles)"
+
+%feature("docstring") gc_jd_queue_init "Initialize the queue to empty.
+
+Params: (q)"
+
+%feature("docstring") gc_jd_queue_enqueue "Add to the tail of .
+
+Params: (q, item)"
+
+%feature("docstring") gc_jd_queue_dequeue "Remove and return item at head of queue, or 0 if queue is empty.
+
+Params: (q)"
+
+%feature("docstring") gc_jd_queue_dequeue "Remove and return item at head of queue.
+
+If return is not GCQ_OK, we're holding a lock-line reservation that covers the queue.
+
+Params: (q, item_ea, jd_tag, item)"
+
+%feature("docstring") gc_jd_stack_init "Initialize the stack to empty.
+
+Params: (stack)"
+
+%feature("docstring") gc_jd_stack_push "Add to the top of .
+
+Params: (stack, item)"
+
+%feature("docstring") gc_jd_stack_pop "pop and return top item on stack, or 0 if stack is empty
+
+Params: (stack)"
+
+%feature("docstring") ea_to_jdp "
+
+Params: (ea)"
+
+%feature("docstring") jdp_to_ea "
+
+Params: (item)"
+
+%feature("docstring") gc_program_handle_from_filename "Return a boost::shared_ptr to an spe_program_handle_t.
+
+Calls spe_image_open to open the file. If successful returns a boost::shared_ptr that will call spe_image_close when it's time to free the object.
+
+Returns the equivalent of the NULL pointer if the file cannot be opened, or if it's not an SPE ELF object file.
+
+Params: (filename)"
+
+%feature("docstring") gc_program_handle_from_address "Return a boost::shared_ptr to an spe_program_handle_t.
+
+If successful returns a boost::shared_ptr that does nothing when it's time to free the object.
+
+Params: (handle)"
+
+%feature("docstring") gc_job_status_string "map gc_job_status_t into a string
+
+Params: (status)"
+
+%feature("docstring") gc_make_job_manager "
+
+Params: (options)"
+
+%feature("docstring") gcpd_find_table "find the gc_proc_def table in the SPE program
+
+Params: (program, table, nentries, ls_addr)"
+
+%feature("docstring") gc_uniform_deviate "Return a uniformly distributed value in the range [0, 1.0) (Linear congruential generator. YMMV. Caveat emptor.).
+
+Params: ()"
+
+%feature("docstring") gc_set_seed "
+
+Params: (seed)"
+
+%feature("docstring") ea_to_ptr "
+
+Params: (ea)"
+
+%feature("docstring") ptr_to_ea "
+
+Params: (p)"
+
+%feature("docstring") gcp_fft_1d_r2_submit "Submit a job that computes the forward or inverse FFT.
+
+Returns a shared_ptr to a job descriptor which should be passed to wait_job*. Throws an exception in the event of a problem. This uses the FFTW conventions for scaling. That is, neither the forward nor inverse are scaled by 1/fft_length.
+
+Params: (mgr, log2_fft_length, forward, shift, out, in, twiddle, window)"
+
+%feature("docstring") gcp_fft_1d_r2_twiddle "Compute twiddle factors.
+
+Params: (log2_fft_length, W)"
+
+%feature("docstring") operator< "
+
+Params: (lhs, rhs)"
+
+%feature("docstring") gr_basic_block_ncurrently_allocated "
+
+Params: (NONE)"
+
+%feature("docstring") operator<< "
+
+Params: (os, basic_block)"
+
+%feature("docstring") operator<< "
+
+Params: (os, m)"
+
+%feature("docstring") gr_block_detail_ncurrently_allocated "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_add_reader "Create a new gr_buffer_reader and attach it to buffer .
+
+Params: (buf, nzero_preload, link)"
+
+%feature("docstring") gr_buffer_ncurrently_allocated "returns # of gr_buffers currently allocated
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader_ncurrently_allocated "returns # of gr_buffer_readers currently allocated
+
+Params: (NONE)"
+
+%feature("docstring") is_complex "
+
+Params: (x)"
+
+%feature("docstring") gr_prefix "return ./configure --prefix argument. Typically /usr/local
+
+Params: (NONE)"
+
+%feature("docstring") gr_sysconfdir "return ./configure --sysconfdir argument. Typically $prefix/etc or /etc
+
+Params: (NONE)"
+
+%feature("docstring") gr_prefsdir "return preferences file directory. Typically $sysconfdir/etc/conf.d
+
+Params: (NONE)"
+
+%feature("docstring") gr_build_date "return date/time of build, as set when 'bootstrap' is run
+
+Params: (NONE)"
+
+%feature("docstring") gr_version "return version string defined in configure.ac
+
+Params: (NONE)"
+
+%feature("docstring") gr_count_bits8 "
+
+Params: (x)"
+
+%feature("docstring") gr_count_bits16 "
+
+Params: (x)"
+
+%feature("docstring") gr_count_bits32 "
+
+Params: (x)"
+
+%feature("docstring") gr_count_bits64 "
+
+Params: (x)"
+
+%feature("docstring") gr_update_crc32 "update running CRC-32
+
+Update a running CRC with the bytes buf[0..len-1] The CRC should be initialized to all 1's, and the transmitted value is the 1's complement of the final running CRC. The resulting CRC should be transmitted in big endian order.
+
+Params: (crc, buf, len)"
+
+%feature("docstring") gr_crc32 "
+
+Params: (buf, len)"
+
+%feature("docstring") gr_dispatcher_singleton "
+
+Params: (NONE)"
+
+%feature("docstring") gr_expj "
+
+Params: (phase)"
+
+%feature("docstring") gr_feval_dd_example "trivial examples / test cases showing C++ calling Python code
+
+Params: (f, x)"
+
+%feature("docstring") gr_feval_cc_example "
+
+Params: (f, x)"
+
+%feature("docstring") gr_feval_ll_example "
+
+Params: (f, x)"
+
+%feature("docstring") gr_feval_example "
+
+Params: (f)"
+
+%feature("docstring") gr_fir_sysconfig_singleton "
+
+Params: (NONE)"
+
+%feature("docstring") operator<< "
+
+Params: (os, endp)"
+
+%feature("docstring") gr_make_io_signature "Create an i/o signature.
+
+Params: (min_streams, max_streams, sizeof_stream_item)"
+
+%feature("docstring") gr_make_io_signature2 "Create an i/o signature.
+
+Params: (min_streams, max_streams, sizeof_stream_item1, sizeof_stream_item2)"
+
+%feature("docstring") gr_make_io_signature3 "Create an i/o signature.
+
+Params: (min_streams, max_streams, sizeof_stream_item1, sizeof_stream_item2, sizeof_stream_item3)"
+
+%feature("docstring") gr_make_io_signaturev "Create an i/o signature.
+
+If there are more streams than there are entries in sizeof_stream_items, the value of the last entry in sizeof_stream_items is used for the missing values. sizeof_stream_items must contain at least 1 entry.
+
+Params: (min_streams, max_streams, sizeof_stream_items)"
+
+%feature("docstring") gr_log2_const "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 1 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 2 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 4 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 8 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 16 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 32 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 64 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 128 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 256 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 512 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_log2_const< 1024 > "
+
+Params: (NONE)"
+
+%feature("docstring") gr_is_power_of_2 "
+
+Params: (x)"
+
+%feature("docstring") gr_gcd "
+
+Params: (m, n)"
+
+%feature("docstring") gr_isnan "
+
+Params: (value)"
+
+%feature("docstring") gr_signbit "
+
+Params: (x)"
+
+%feature("docstring") gr_fast_atan2f "Fast arc tangent using table lookup and linear interpolation.
+
+This function calculates the angle of the vector (x,y) based on a table lookup and linear interpolation. The table uses a 256 point table covering -45 to +45 degrees and uses symetry to determine the final angle value in the range of -180 to 180 degrees. Note that this function uses the small angle approximation for values close to zero. This routine calculates the arc tangent with an average error of +/- 0.045 degrees.
+
+Params: (y, x)"
+
+%feature("docstring") gr_branchless_clip "
+
+Params: (x, clip)"
+
+%feature("docstring") gr_clip "
+
+Params: (x, clip)"
+
+%feature("docstring") gr_binary_slicer "
+
+Params: (x)"
+
+%feature("docstring") gr_quad_45deg_slicer "
+
+Params: (r, i)"
+
+%feature("docstring") gr_quad_0deg_slicer "
+
+Params: (r, i)"
+
+%feature("docstring") gr_branchless_binary_slicer "
+
+Params: (x)"
+
+%feature("docstring") gr_branchless_quad_0deg_slicer "
+
+Params: (r, i)"
+
+%feature("docstring") gr_branchless_quad_45deg_slicer "
+
+Params: (r, i)"
+
+%feature("docstring") gr_p2_round_down "
+
+Params: (x, pow2)"
+
+%feature("docstring") gr_p2_round_up "
+
+Params: (x, pow2)"
+
+%feature("docstring") gr_p2_modulo "
+
+Params: (x, pow2)"
+
+%feature("docstring") gr_p2_modulo_neg "
+
+Params: (x, pow2)"
+
+%feature("docstring") gr_make_message_from_string "
+
+Params: (s, type, arg1, arg2)"
+
+%feature("docstring") gr_message_ncurrently_allocated "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rounduppow2 "
+
+Params: (n)"
+
+%feature("docstring") gr_zero_vector "
+
+Params: (v)"
+
+%feature("docstring") gr_make_msg_queue "
+
+Params: (limit)"
+
+%feature("docstring") gr_pagesize "return the page size in bytes
+
+Params: (NONE)"
+
+%feature("docstring") gr_enable_realtime_scheduling "If possible, enable high-priority \"real time\" scheduling.
+
+Params: (NONE)"
+
+%feature("docstring") gr_remez "Parks-McClellan FIR filter design.
+
+Calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.
+
+
+Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)
+
+Params: (order, bands, ampl, error_weight, filter_type, grid_density)"
+
+%feature("docstring") gr_reverse "
+
+Params: (taps)"
+
+%feature("docstring") gr_sincos "
+
+Params: (x, sin, cos)"
+
+%feature("docstring") gr_sincosf "
+
+Params: (x, sin, cos)"
+
+%feature("docstring") gr_tmp_path "return directory portion of pathname used for temporary files.
+
+Params: (NONE)"
+
+%feature("docstring") ensure_unittest_path "
+
+Params: (grpath, path)"
+
+%feature("docstring") get_unittest_path "
+
+Params: (filename, fullpath, pathsize)"
+
+%feature("docstring") gri_add_const_ss "Low-level, high-speed add_const_ss primitive.
+
+copy src to dst adding konst
+
+Params: (dst, src, nshorts, konst)"
+
+%feature("docstring") gri_alsa_dump_hw_params "
+
+Params: (pcm, hwparams, fp)"
+
+%feature("docstring") gri_alsa_pick_acceptable_format "
+
+Params: (pcm, hwparams, acceptable_formats, nacceptable_formats, selected_format, error_msg_tag, verbose)"
+
+%feature("docstring") gri_char_to_float "
+
+Params: (in, out, nsamples)"
+
+%feature("docstring") gri_float_to_char "convert array of floats to chars with rounding and saturation.
+
+Params: (in, out, nsamples)"
+
+%feature("docstring") gri_float_to_short "convert array of floats to shorts with rounding and saturation.
+
+Params: (in, out, nsamples)"
+
+%feature("docstring") gri_float_to_uchar "convert array of floats to unsigned chars with rounding and saturation.
+
+Params: (in, out, nsamples)"
+
+%feature("docstring") gri_interleaved_short_to_complex "
+
+Params: (in, out, nsamples)"
+
+%feature("docstring") gri_pa_find_device_by_name "
+
+Params: (name)"
+
+%feature("docstring") gri_print_devices "
+
+Params: (NONE)"
+
+%feature("docstring") gri_short_to_float "
+
+Params: (in, out, nsamples)"
+
+%feature("docstring") gri_uchar_to_float "
+
+Params: (in, out, nsamples)"
+
+%feature("docstring") gri_wav_read_sample "Read one sample from an open WAV file at the current position.
+
+Takes care of endianness.
+
+Params: (fp, bytes_per_sample)"
+
+%feature("docstring") gri_wavheader_write "Write a valid RIFF file header.
+
+Note: Some header values are kept blank because they're usually not known a-priori (file and chunk lengths). Use gri_wavheader_complete() to fill these in.
+
+Params: (fp, sample_rate, nchans, bytes_per_sample)"
+
+%feature("docstring") gri_wav_write_sample "Write one sample to an open WAV file at the current position.
+
+Takes care of endianness.
+
+Params: (fp, sample, bytes_per_sample)"
+
+%feature("docstring") gri_wavheader_complete "Complete a WAV header.
+
+Note: The stream position is changed during this function. If anything needs to be written to the WAV file after calling this function (which shouldn't happen), you need to fseek() to the end of the file (or whereever).
+
+ File pointer to an open WAV file with a blank header Length of all samples written to the file in bytes.
+
+Params: (fp, byte_count)"
+
+%feature("docstring") gsm_fr_make_decode_ps "
+
+Params: (NONE)"
+
+%feature("docstring") gsm_fr_make_encode_sp "
+
+Params: (NONE)"
+
+%feature("docstring") make_i2c_bbio_pp "
+
+Params: (pp)"
+
+%feature("docstring") make_i2c_bitbang "
+
+Params: (io)"
+
+%feature("docstring") htonll "
+
+Params: (x)"
+
+%feature("docstring") ntohll "
+
+Params: (x)"
+
+%feature("docstring") ntohx "
+
+Params: (x)"
+
+%feature("docstring") htonx "
+
+Params: (x)"
+
+%feature("docstring") modnn "
+
+Params: (rs, x)"
+
+%feature("docstring") fft_1d_r2 "
+
+Params: (out, in, W, log2_size)"
+
+%feature("docstring") malloc16Align "
+
+Params: (size)"
+
+%feature("docstring") calloc16Align "
+
+Params: (nmemb, size)"
+
+%feature("docstring") free16Align "
+
+Params: (p)"
+
+%feature("docstring") md5_init_ctx "
+
+Params: (ctx)"
+
+%feature("docstring") md5_process_block "
+
+Params: (buffer, len, ctx)"
+
+%feature("docstring") md5_process_bytes "
+
+Params: (buffer, len, ctx)"
+
+%feature("docstring") md5_finish_ctx "
+
+Params: (ctx, resbuf)"
+
+%feature("docstring") md5_read_ctx "
+
+Params: (ctx, resbuf)"
+
+%feature("docstring") md5_stream "
+
+Params: (stream, resblock)"
+
+%feature("docstring") md5_buffer "
+
+Params: (buffer, len, resblock)"
+
+%feature("docstring") smp_mb "
+
+Params: ()"
+
+%feature("docstring") smp_rmb "
+
+Params: ()"
+
+%feature("docstring") smp_wmb "
+
+Params: ()"
+
+%feature("docstring") msdd_rs_make_source_simple "
+
+Params: (src, port_src)"
+
+%feature("docstring") pageri_bch3221 "
+
+Params: (data)"
+
+%feature("docstring") find_flex_mode "
+
+Params: (sync_code)"
+
+%feature("docstring") is_alphanumeric_page "
+
+Params: (type)"
+
+%feature("docstring") is_numeric_page "
+
+Params: (type)"
+
+%feature("docstring") is_tone_page "
+
+Params: (type)"
+
+%feature("docstring") pageri_reverse_bits8 "
+
+Params: (val)"
+
+%feature("docstring") pageri_reverse_bits32 "
+
+Params: (val)"
+
+%feature("docstring") posix_memalign "
+
+Params: (memptr, alignment, size)"
+
+%feature("docstring") make_ppio "Factory method.
+
+Split out from class to make life easier for SWIG
+
+Params: (which_pp)"
+
+%feature("docstring") make_ppio_ppdev "
+
+Params: (which)"
+
+%feature("docstring") SWAP "
+
+Params: (a, b)"
+
+%feature("docstring") quicksort_index "
+
+Params: (p, index, left, right)"
+
+%feature("docstring") encode_rs_char "
+
+Params: (rs, data, parity)"
+
+%feature("docstring") decode_rs_char "
+
+Params: (rs, data, eras_pos, no_eras)"
+
+%feature("docstring") init_rs_char "
+
+Params: (symsize, gfpoly, fcr, prim, nroots)"
+
+%feature("docstring") free_rs_char "
+
+Params: (rs)"
+
+%feature("docstring") encode_rs_int "
+
+Params: (rs, data, parity)"
+
+%feature("docstring") decode_rs_int "
+
+Params: (rs, data, eras_pos, no_eras)"
+
+%feature("docstring") init_rs_int "
+
+Params: (symsize, gfpoly, fcr, prim, nroots)"
+
+%feature("docstring") free_rs_int "
+
+Params: (rs)"
+
+%feature("docstring") encode_rs_8 "
+
+Params: (data, parity)"
+
+%feature("docstring") decode_rs_8 "
+
+Params: (data, eras_pos, no_eras)"
+
+%feature("docstring") short_dotprod_generic "
+
+Params: (input, taps, n_4_short_blocks)"
+
+%feature("docstring") short_dotprod_mmx "
+
+Params: (input, taps, n_4_short_blocks)"
+
+%feature("docstring") short_dotprod_sse2 "
+
+Params: (input, taps, n_4_short_blocks)"
+
+%feature("docstring") qsimp "
+
+Params: (func, a, b)"
+
+%feature("docstring") strtod_si "convert string at s to double honoring any trailing SI suffixes
+
+Params: (s, result)"
+
+%feature("docstring") calc_metric "
+
+Params: (O, D, TABLE, in, metric, type)"
+
+%feature("docstring") operator<< "
+
+Params: (os, x)"
+
+%feature("docstring") bswap_16 "routines for convertering between host and usrp byte order
+
+Prior to including this file, the user must include \"config.h\" which will or won't define WORDS_BIGENDIAN based on the result of the AC_C_BIGENDIAN autoconf test.
+
+Params: (x)"
+
+%feature("docstring") bswap_32 "
+
+Params: (x)"
+
+%feature("docstring") host_to_usrp_u32 "
+
+Params: (x)"
+
+%feature("docstring") usrp_to_host_u32 "
+
+Params: (x)"
+
+%feature("docstring") host_to_usrp_short "
+
+Params: (x)"
+
+%feature("docstring") usrp_to_host_short "
+
+Params: (x)"
+
+%feature("docstring") usrp_rx_config_stream_count "given a usrp_rx_config word, return the number of I & Q streams that are interleaved on the USB.
+
+Params: (usrp_rx_config)"
+
+%feature("docstring") usrp_tx_config_stream_count "given a usrp_tx_config word, return the number of I & Q streams that are interleaved on the USB.
+
+Params: (usrp_tx_config)"
+
+%feature("docstring") usrp_one_time_init "initialize libusb; Behavior differs depending on libusb version
+
+libusb-0.12
+
+Probe busses and devices. The argument is ignored and defaults to NULL. Safe to call more than once.
+
+libusb-1.0
+
+If an location to a libusb_context is passed in, create and write in the new context. If no argument is provided, initialize libusb with the default (NULL) context.
+
+Generally _not_ safe to call more than once with non-NULL argument since a new context will be created each time.
+
+Params: (ctx)"
+
+%feature("docstring") usrp_deinit "deinitialize libusb
+
+libusb-0.1: No effect
+
+libusb-1.0: Deinitialize context ctx
+
+Params: (ctx)"
+
+%feature("docstring") usrp_rescan "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_find_device "locate Nth (zero based) USRP device in system. Return pointer or 0 if not found.
+
+The following kinds of devices are considered USRPs:
+
+unconfigured USRP (no firwmare loaded) configured USRP (firmware loaded) unconfigured Cypress FX2 (only if fx2_ok_p is true)
+
+Params: (nth, fx2_ok_p, ctx)"
+
+%feature("docstring") usrp_usrp_p "
+
+Params: (q)"
+
+%feature("docstring") usrp_usrp0_p "
+
+Params: (q)"
+
+%feature("docstring") usrp_usrp1_p "
+
+Params: (q)"
+
+%feature("docstring") usrp_usrp2_p "
+
+Params: (q)"
+
+%feature("docstring") usrp_hw_rev "
+
+Params: (q)"
+
+%feature("docstring") usrp_fx2_p "
+
+Params: (q)"
+
+%feature("docstring") usrp_unconfigured_usrp_p "
+
+Params: (q)"
+
+%feature("docstring") usrp_configured_usrp_p "
+
+Params: (q)"
+
+%feature("docstring") usrp_open_cmd_interface "given a libusb_device return an instance of the appropriate libusb_device_handle
+
+These routines claim the specified interface and select the correct alternate interface. (USB nomenclature is totally screwed!)
+
+If interface can't be opened, or is already claimed by some other process, 0 is returned.
+
+Params: (dev)"
+
+%feature("docstring") usrp_open_rx_interface "
+
+Params: (dev)"
+
+%feature("docstring") usrp_open_tx_interface "
+
+Params: (dev)"
+
+%feature("docstring") usrp_close_interface "close interface.
+
+Params: (udh)"
+
+%feature("docstring") usrp_load_firmware "load intel hex format file into USRP/Cypress FX2 (8051).
+
+The filename extension is typically *.ihx
+
+Note that loading firmware may cause the device to renumerate. I.e., change its configuration, invalidating the current device handle.
+
+Params: (udh, filename, force)"
+
+%feature("docstring") usrp_load_firmware_nth "load intel hex format file into USRP FX2 (8051).
+
+The filename extension is typically *.ihx
+
+Note that loading firmware may cause the device to renumerate. I.e., change its configuration, invalidating the current device handle. If the result is ULS_OK, usrp_load_firmware_nth delays 1 second then rescans the busses and devices.
+
+Params: (nth, filename, force, ctx)"
+
+%feature("docstring") usrp_load_fpga "load fpga configuration bitstream
+
+Params: (udh, filename, force)"
+
+%feature("docstring") usrp_load_standard_bits "load the regular firmware and fpga bitstream in the Nth USRP.
+
+This is the normal starting point...
+
+Params: (nth, force, fpga_filename, firmware_filename, ctx)"
+
+%feature("docstring") usrp_set_hash "copy the given into the USRP hash slot . The usrp implements two hash slots, 0 and 1.
+
+Params: (udh, which, hash)"
+
+%feature("docstring") usrp_get_hash "retrieve the from the USRP hash slot . The usrp implements two hash slots, 0 and 1.
+
+Params: (udh, which, hash)"
+
+%feature("docstring") usrp_write_fpga_reg "
+
+Params: (udh, reg, value)"
+
+%feature("docstring") usrp_read_fpga_reg "
+
+Params: (udh, reg, value)"
+
+%feature("docstring") usrp_set_fpga_reset "
+
+Params: (udh, on)"
+
+%feature("docstring") usrp_set_fpga_tx_enable "
+
+Params: (udh, on)"
+
+%feature("docstring") usrp_set_fpga_rx_enable "
+
+Params: (udh, on)"
+
+%feature("docstring") usrp_set_fpga_tx_reset "
+
+Params: (udh, on)"
+
+%feature("docstring") usrp_set_fpga_rx_reset "
+
+Params: (udh, on)"
+
+%feature("docstring") usrp_set_led "
+
+Params: (udh, which, on)"
+
+%feature("docstring") usrp_check_rx_overrun "
+
+Params: (udh, overrun_p)"
+
+%feature("docstring") usrp_check_tx_underrun "
+
+Params: (udh, underrun_p)"
+
+%feature("docstring") usrp_i2c_write "
+
+Params: (udh, i2c_addr, buf, len)"
+
+%feature("docstring") usrp_i2c_read "
+
+Params: (udh, i2c_addr, buf, len)"
+
+%feature("docstring") usrp_spi_write "
+
+Params: (udh, optional_header, enables, format, buf, len)"
+
+%feature("docstring") usrp_spi_read "
+
+Params: (udh, optional_header, enables, format, buf, len)"
+
+%feature("docstring") usrp_9862_write "
+
+Params: (udh, which_codec, regno, value)"
+
+%feature("docstring") usrp_9862_read "
+
+Params: (udh, which_codec, regno, value)"
+
+%feature("docstring") usrp_9862_write_many "Write multiple 9862 regs at once.
+
+contains alternating register_number, register_value pairs. must be even and is the length of buf in bytes.
+
+Params: (udh, which_codec, buf, len)"
+
+%feature("docstring") usrp_9862_write_many_all "write specified regs to all 9862's in the system
+
+Params: (udh, buf, len)"
+
+%feature("docstring") usrp_eeprom_write "
+
+Params: (udh, i2c_addr, eeprom_offset, buf, len)"
+
+%feature("docstring") usrp_eeprom_read "
+
+Params: (udh, i2c_addr, eeprom_offset, buf, len)"
+
+%feature("docstring") usrp_write_aux_dac "write to the specified aux dac.
+
+which Tx or Rx slot to write. N.B., SLOT_TX_A and SLOT_RX_A share the same AUX DAC's SLOT_TX_B and SLOT_RX_B share the same AUX DAC's
+
+ [0,3] RX slots must use only 0 and 1. TX slots must use only 2 and 3.
+
+AUX DAC 3 is really the 9862 sigma delta output.
+
+ to write to aux dac. All dacs take straight binary values. Although dacs 0, 1 and 2 are 8-bit and dac 3 is 12-bit, the interface is in terms of 12-bit values [0,4095]
+
+Params: (uhd, slot, which_dac, value)"
+
+%feature("docstring") usrp_read_aux_adc "Read the specified aux adc.
+
+which Tx or Rx slot to read aux dac [0,1] which of the two adcs to read : return value, 12-bit straight binary.
+
+Params: (udh, slot, which_adc, value)"
+
+%feature("docstring") usrp_dbid_to_string "usrp daughterboard id to name mapping
+
+Params: (dbid)"
+
+%feature("docstring") usrp_read_dboard_eeprom "Read and return parsed daughterboard eeprom.
+
+Params: (udh, slot_id, eeprom)"
+
+%feature("docstring") usrp_write_dboard_offsets "write ADC/DAC offset calibration constants to d'board eeprom
+
+Params: (udh, slot_id, offset0, offset1)"
+
+%feature("docstring") usrp_serial_number "return a usrp's serial number.
+
+Note that this only works on a configured usrp.
+
+Params: (udh)"
+
+%feature("docstring") usrp_open_interface "
+
+Params: (dev, interface, altinterface)"
+
+%feature("docstring") write_cmd "
+
+Params: (udh, request, value, index, bytes, len)"
+
+%feature("docstring") _get_usb_device "
+
+Params: (udh)"
+
+%feature("docstring") _get_usb_device_descriptor "
+
+Params: (q)"
+
+%feature("docstring") _get_usb_string_descriptor "
+
+Params: (udh, index, data, length)"
+
+%feature("docstring") _usb_control_transfer "
+
+Params: (udh, request_type, request, value, index, data, length, timeout)"
+
+%feature("docstring") make_usrp_rx_cfile "
+
+Params: (which, spec, decim, freq, gain, width8, nohb, output_shorts, nsamples, filename)"
+
+%feature("docstring") str_to_subdev "
+
+Params: (spec_str)"
+
+%feature("docstring") make_usrp_siggen "
+
+Params: (which, spec, rf_freq, interp, wfreq, waveform, amp, gain, offset, nsamples)"
+
+%feature("docstring") video_sdl_make_sink_s "
+
+Params: (framerate, width, height, format, dst_width, dst_height)"
+
+%feature("docstring") video_sdl_make_sink_uc "
+
+Params: (framerate, width, height, format, dst_width, dst_height)"
+
+%feature("docstring") gen_met "
+
+Params: (mettab, amp, esn0, bias, scale)"
+
+%feature("docstring") encode "
+
+Params: (symbols, data, nbytes, encstate)"
+
+%feature("docstring") viterbi_chunks_init "
+
+Params: (state)"
+
+%feature("docstring") viterbi_butterfly2 "
+
+Params: (symbols, mettab, state0, state1)"
+
+%feature("docstring") viterbi_get_output "
+
+Params: (state, outbuf)"
+
+
+
+%feature("docstring") _1200_common::_1200_common "
+
+Params: (NONE)"
+
+%feature("docstring") _1200_common::~_1200_common "
+
+Params: (NONE)"
+
+%feature("docstring") _1200_common::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") _1200_common::freq_max "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _1800_common::_1800_common "
+
+Params: (NONE)"
+
+%feature("docstring") _1800_common::~_1800_common "
+
+Params: (NONE)"
+
+%feature("docstring") _1800_common::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") _1800_common::freq_max "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _2200_common::_2200_common "
+
+Params: (NONE)"
+
+%feature("docstring") _2200_common::~_2200_common "
+
+Params: (NONE)"
+
+%feature("docstring") _2200_common::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") _2200_common::freq_max "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _2400_common::_2400_common "
+
+Params: (NONE)"
+
+%feature("docstring") _2400_common::~_2400_common "
+
+Params: (NONE)"
+
+%feature("docstring") _2400_common::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") _2400_common::freq_max "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _400_common::_400_common "
+
+Params: (NONE)"
+
+%feature("docstring") _400_common::~_400_common "
+
+Params: (NONE)"
+
+%feature("docstring") _400_common::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") _400_common::freq_max "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _400_rx::_400_rx "
+
+Params: (NONE)"
+
+%feature("docstring") _400_rx::~_400_rx "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _400_tx::_400_tx "
+
+Params: (NONE)"
+
+%feature("docstring") _400_tx::~_400_tx "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _900_common::_900_common "
+
+Params: (NONE)"
+
+%feature("docstring") _900_common::~_900_common "
+
+Params: (NONE)"
+
+%feature("docstring") _900_common::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") _900_common::freq_max "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _AD4360_common::_AD4360_common "
+
+Params: (NONE)"
+
+%feature("docstring") _AD4360_common::~_AD4360_common "
+
+Params: (NONE)"
+
+%feature("docstring") _AD4360_common::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") _AD4360_common::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") _AD4360_common::_compute_regs "
+
+Params: (refclk_freq, freq, retR, retcontrol, retN, retfreq)"
+
+%feature("docstring") _AD4360_common::_compute_control_reg "
+
+Params: (NONE)"
+
+%feature("docstring") _AD4360_common::_refclk_divisor "
+
+Params: (NONE)"
+
+%feature("docstring") _AD4360_common::_prescaler "
+
+Params: (NONE)"
+
+%feature("docstring") _AD4360_common::R_DIV "
+
+Params: (div)"
+
+
+
+%feature("docstring") _ADF410X_common::_ADF410X_common "
+
+Params: (NONE)"
+
+%feature("docstring") _ADF410X_common::~_ADF410X_common "
+
+Params: (NONE)"
+
+%feature("docstring") _ADF410X_common::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+%feature("docstring") _ADF410X_common::_write_all "
+
+Params: (R, N, control)"
+
+%feature("docstring") _ADF410X_common::_write_R "
+
+Params: (R)"
+
+%feature("docstring") _ADF410X_common::_write_N "
+
+Params: (N)"
+
+%feature("docstring") _ADF410X_common::_write_func "
+
+Params: (func)"
+
+%feature("docstring") _ADF410X_common::_write_init "
+
+Params: (init)"
+
+%feature("docstring") _ADF410X_common::_prescaler "
+
+Params: (NONE)"
+
+%feature("docstring") _ADF410X_common::_write_it "
+
+Params: (v)"
+
+%feature("docstring") _ADF410X_common::_refclk_freq "
+
+Params: (NONE)"
+
+%feature("docstring") _ADF410X_common::_rx_write_io "
+
+Params: (value, mask)"
+
+%feature("docstring") _ADF410X_common::_lock_detect "
+
+Params: (NONE)"
+
+%feature("docstring") _ADF410X_common::usrp "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") _lo_common::_lo_common "
+
+Params: (NONE)"
+
+%feature("docstring") _lo_common::~_lo_common "
+
+Params: (NONE)"
+
+%feature("docstring") _lo_common::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") _lo_common::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") _lo_common::set_divider "
+
+Params: (main_or_aux, divisor)"
+
+%feature("docstring") _lo_common::set_freq "
+
+Params: (freq)"
+
+
+
+%feature("docstring") adf4350::adf4350 "
+
+Params: (NONE)"
+
+%feature("docstring") adf4350::~adf4350 "
+
+Params: (NONE)"
+
+%feature("docstring") adf4350::_update "
+
+Params: (NONE)"
+
+%feature("docstring") adf4350::compute_register "
+
+Params: (addr)"
+
+%feature("docstring") adf4350::_set_freq "
+
+Params: (freq, refclock_freq)"
+
+%feature("docstring") adf4350::_get_freq "
+
+Params: (refclock_freq)"
+
+%feature("docstring") adf4350::_get_max_freq "
+
+Params: (NONE)"
+
+%feature("docstring") adf4350::_get_min_freq "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") adf4350_regs::adf4350_regs "
+
+Params: (NONE)"
+
+%feature("docstring") adf4350_regs::~adf4350_regs "
+
+Params: (NONE)"
+
+%feature("docstring") adf4350_regs::_reg_shift "
+
+Params: (data, shift)"
+
+%feature("docstring") adf4350_regs::compute_register "
+
+Params: (addr)"
+
+
+
+%feature("docstring") std::allocator "STL class."
+
+%feature("docstring") atsc_data_segment "contains 832 3 bit symbols. The low 3 bits in the byte hold the symbol."
+
+%feature("docstring") atsc_data_segment::operator== "
+
+Params: (other)"
+
+%feature("docstring") atsc_data_segment::operator!= "
+
+Params: (other)"
+
+
+
+%feature("docstring") atsc_mpeg_packet::operator== "
+
+Params: (other)"
+
+%feature("docstring") atsc_mpeg_packet::operator!= "
+
+Params: (other)"
+
+
+
+%feature("docstring") atsc_mpeg_packet_no_sync::operator== "
+
+Params: (other)"
+
+%feature("docstring") atsc_mpeg_packet_no_sync::operator!= "
+
+Params: (other)"
+
+
+
+%feature("docstring") atsc_mpeg_packet_rs_encoded::operator== "
+
+Params: (other)"
+
+%feature("docstring") atsc_mpeg_packet_rs_encoded::operator!= "
+
+Params: (other)"
+
+
+
+%feature("docstring") atsc_root_raised_cosine::taps "
+
+Params: (sampling_freq)"
+
+
+
+%feature("docstring") atsc_root_raised_cosine_bandpass::atsc_root_raised_cosine_bandpass "
+
+Params: (center_freq)"
+
+%feature("docstring") atsc_root_raised_cosine_bandpass::taps "
+
+Params: (sampling_freq)"
+
+%feature("docstring") atsc_soft_data_segment "Contains 832 bipolar floating point symbols. Nominal values are +/- {1, 3, 5, 7}. This data type represents the input to the viterbi decoder."
+
+%feature("docstring") atsc_soft_data_segment::operator== "
+
+Params: (other)"
+
+%feature("docstring") atsc_soft_data_segment::operator!= "
+
+Params: (other)"
+
+
+
+%feature("docstring") atsc_vsbtx_lp::taps "
+
+Params: (sampling_freq)"
+
+%feature("docstring") atsci_basic_trellis_encoder "ATSC trellis encoder building block.
+
+Note this is NOT the 12x interleaved interface.
+
+This implements a single instance of the ATSC trellis encoder. This is a rate 2/3 encoder (really a constraint length 3, rate 1/2 encoder with the top bit passed through unencoded. This does not implement the \"precoding\" of the top bit, because the NTSC rejection filter is not supported."
+
+%feature("docstring") atsci_basic_trellis_encoder::atsci_basic_trellis_encoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_basic_trellis_encoder::encode "Encode two bit INPUT into 3 bit return value. Domain is [0,3], Range is [0,7]. The mapping to bipolar levels is not done.
+
+Params: (input)"
+
+%feature("docstring") atsci_basic_trellis_encoder::reset "reset encoder state
+
+Params: (NONE)"
+
+%feature("docstring") atsci_data_deinterleaver "atsc convolutional data deinterleaver"
+
+%feature("docstring") atsci_data_deinterleaver::atsci_data_deinterleaver "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_data_deinterleaver::deinterleave "
+
+Params: (out, in)"
+
+%feature("docstring") atsci_data_deinterleaver::remap_pli "
+
+Params: (out, in)"
+
+%feature("docstring") atsci_data_interleaver "atsc convolutional data interleaver"
+
+%feature("docstring") atsci_data_interleaver::atsci_data_interleaver "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_data_interleaver::interleave "
+
+Params: (out, in)"
+
+%feature("docstring") atsci_equalizer "abstract base class for ATSC equalizer"
+
+%feature("docstring") atsci_equalizer::atsci_equalizer "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer::~atsci_equalizer "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer::reset "reset state (e.g., on channel change)
+
+Note, subclasses must invoke the superclass's method too!
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer::filter "produce of output from given inputs and tags
+
+This is the main entry point. It examines the input_tags and local state and invokes the appropriate virtual function to handle each sub-segment of the input data.
+
+ must have (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] are referenced to compute the output values.
+
+ must have nsamples valid entries. input_tags[0] .. input_tags[nsamples - 1] are referenced to compute the output values.
+
+Params: (input_samples, input_tags, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer::ntaps "how much history the input data stream requires.
+
+This must return a value >= 1. Think of this as the number of samples you need to look at to compute a single output sample.
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer::npretaps "how many taps are \"in the future\".
+
+This allows us to handle what the ATSC folks call \"pre-ghosts\". What it really does is allow the caller to jack with the offset between the tags and the data so that everything magically works out.
+
+npretaps () must return a value between 0 and ntaps() - 1.
+
+If npretaps () returns 0, this means that the equalizer will only handle multipath \"in the past.\" I suspect that a good value would be something like 15% - 20% of ntaps ().
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer::filter_normal "Input range is known NOT TO CONTAIN data segment syncs or field syncs. This should be the fast path. In the non decicion directed case, this just runs the input through the filter without adapting it.
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer::filter_data_seg_sync "Input range is known to consist of only a data segment sync or a portion of a data segment sync. will be in [1,4]. will be in [0,3]. is the offset of the input from the beginning of the data segment sync pattern.
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples, offset)"
+
+%feature("docstring") atsci_equalizer::filter_field_sync "Input range is known to consist of only a field sync segment or a portion of a field sync segment. will be in [1,832]. will be in [0,831]. is the offset of the input from the beginning of the data segment sync pattern. We consider the 4 symbols of the immediately preceding data segment sync to be the first symbols of the field sync segment. is in [0,1] and specifies which field (duh).
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples, offset, which_field)"
+
+
+
+%feature("docstring") atsci_equalizer_lms::atsci_equalizer_lms "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms::~atsci_equalizer_lms "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms::reset "reset state (e.g., on channel change)
+
+Note, subclasses must invoke the superclass's method too!
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms::ntaps "how much history the input data stream requires.
+
+This must return a value >= 1. Think of this as the number of samples you need to look at to compute a single output sample.
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms::npretaps "how many taps are \"in the future\".
+
+This allows us to handle what the ATSC folks call \"pre-ghosts\". What it really does is allow the caller to jack with the offset between the tags and the data so that everything magically works out.
+
+npretaps () must return a value between 0 and ntaps() - 1.
+
+If npretaps () returns 0, this means that the equalizer will only handle multipath \"in the past.\" I suspect that a good value would be something like 15% - 20% of ntaps ().
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms::filter_normal "Input range is known NOT TO CONTAIN data segment syncs or field syncs. This should be the fast path. In the non decicion directed case, this just runs the input through the filter without adapting it.
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer_lms::filter_data_seg_sync "Input range is known to consist of only a data segment sync or a portion of a data segment sync. will be in [1,4]. will be in [0,3]. is the offset of the input from the beginning of the data segment sync pattern.
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples, offset)"
+
+%feature("docstring") atsci_equalizer_lms::filter_field_sync "Input range is known to consist of only a field sync segment or a portion of a field sync segment. will be in [1,832]. will be in [0,831]. is the offset of the input from the beginning of the data segment sync pattern. We consider the 4 symbols of the immediately preceding data segment sync to be the first symbols of the field sync segment. is in [0,1] and specifies which field (duh).
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples, offset, which_field)"
+
+%feature("docstring") atsci_equalizer_lms::filterN "
+
+Params: (input_samples, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer_lms::adaptN "
+
+Params: (input_samples, training_pattern, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer_lms::filter1 "
+
+Params: (input)"
+
+%feature("docstring") atsci_equalizer_lms::adapt1 "
+
+Params: (input, ideal_output)"
+
+
+
+%feature("docstring") atsci_equalizer_lms2::atsci_equalizer_lms2 "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms2::~atsci_equalizer_lms2 "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms2::reset "reset state (e.g., on channel change)
+
+Note, subclasses must invoke the superclass's method too!
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms2::ntaps "how much history the input data stream requires.
+
+This must return a value >= 1. Think of this as the number of samples you need to look at to compute a single output sample.
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms2::npretaps "how many taps are \"in the future\".
+
+This allows us to handle what the ATSC folks call \"pre-ghosts\". What it really does is allow the caller to jack with the offset between the tags and the data so that everything magically works out.
+
+npretaps () must return a value between 0 and ntaps() - 1.
+
+If npretaps () returns 0, this means that the equalizer will only handle multipath \"in the past.\" I suspect that a good value would be something like 15% - 20% of ntaps ().
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_lms2::filter_normal "Input range is known NOT TO CONTAIN data segment syncs or field syncs. This should be the fast path. In the non decicion directed case, this just runs the input through the filter without adapting it.
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer_lms2::filter_data_seg_sync "Input range is known to consist of only a data segment sync or a portion of a data segment sync. will be in [1,4]. will be in [0,3]. is the offset of the input from the beginning of the data segment sync pattern.
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples, offset)"
+
+%feature("docstring") atsci_equalizer_lms2::filter_field_sync "Input range is known to consist of only a field sync segment or a portion of a field sync segment. will be in [1,832]. will be in [0,831]. is the offset of the input from the beginning of the data segment sync pattern. We consider the 4 symbols of the immediately preceding data segment sync to be the first symbols of the field sync segment. is in [0,1] and specifies which field (duh).
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples, offset, which_field)"
+
+%feature("docstring") atsci_equalizer_lms2::filterN "
+
+Params: (input_samples, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer_lms2::adaptN "
+
+Params: (input_samples, training_pattern, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer_lms2::filter1 "
+
+Params: (input)"
+
+%feature("docstring") atsci_equalizer_lms2::adapt1 "
+
+Params: (input, ideal_output)"
+
+
+
+%feature("docstring") atsci_equalizer_nop::scale "
+
+Params: (input)"
+
+%feature("docstring") atsci_equalizer_nop::scale_and_train "
+
+Params: (input)"
+
+%feature("docstring") atsci_equalizer_nop::atsci_equalizer_nop "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_nop::~atsci_equalizer_nop "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_nop::reset "reset state (e.g., on channel change)
+
+Note, subclasses must invoke the superclass's method too!
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_nop::ntaps "how much history the input data stream requires.
+
+This must return a value >= 1. Think of this as the number of samples you need to look at to compute a single output sample.
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_nop::npretaps "how many taps are \"in the future\".
+
+This allows us to handle what the ATSC folks call \"pre-ghosts\". What it really does is allow the caller to jack with the offset between the tags and the data so that everything magically works out.
+
+npretaps () must return a value between 0 and ntaps() - 1.
+
+If npretaps () returns 0, this means that the equalizer will only handle multipath \"in the past.\" I suspect that a good value would be something like 15% - 20% of ntaps ().
+
+Params: (NONE)"
+
+%feature("docstring") atsci_equalizer_nop::filter_normal "Input range is known NOT TO CONTAIN data segment syncs or field syncs. This should be the fast path. In the non decicion directed case, this just runs the input through the filter without adapting it.
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples)"
+
+%feature("docstring") atsci_equalizer_nop::filter_data_seg_sync "Input range is known to consist of only a data segment sync or a portion of a data segment sync. will be in [1,4]. will be in [0,3]. is the offset of the input from the beginning of the data segment sync pattern.
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples, offset)"
+
+%feature("docstring") atsci_equalizer_nop::filter_field_sync "Input range is known to consist of only a field sync segment or a portion of a field sync segment. will be in [1,832]. will be in [0,831]. is the offset of the input from the beginning of the data segment sync pattern. We consider the 4 symbols of the immediately preceding data segment sync to be the first symbols of the field sync segment. is in [0,1] and specifies which field (duh).
+
+ has (nsamples + ntaps() - 1) valid entries. input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be referenced to compute the output values.
+
+Params: (input_samples, output_samples, nsamples, offset, which_field)"
+
+
+
+%feature("docstring") atsci_exp2_lp::taps "
+
+Params: (sampling_freq)"
+
+%feature("docstring") atsci_fake_single_viterbi "single channel viterbi decoder"
+
+%feature("docstring") atsci_fake_single_viterbi::atsci_fake_single_viterbi "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fake_single_viterbi::decode "ideally takes on the values +/- 1,3,5,7 return is decoded dibit in the range [0, 3]
+
+Params: (input)"
+
+%feature("docstring") atsci_fake_single_viterbi::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fake_single_viterbi::delay "internal delay of decoder
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_checker "abstract base class for ATSC field sync checker
+
+Processes input samples one at a time looking for an occurence of either the field sync 1 or field sync 2 pattern.
+
+Note that unlike atsci_fs_correlator, this class uses the symbol_num in input_tag to avoid having to test each symbol position.
+
+For each sample processed, an output sample and an output tag are produced. The output samples are identical to the input samples but are delayed by a number of samples given by . The output tag associated with the the given output sample indicates whether this sample is the beginning of one of the field syncs or is an ordinary sample. The tags are defined in atsci_sync_tag.h.
+
+For ease of use, the field sync patterns are defined to begin with the first symbol of the 4 symbol data segment sync pattern that immediately proceeds the actual PN 511 code. This makes it easier for downstream code to determine the location of data segment syncs merely by counting. They'll occur every 832 samples assuming everything is working."
+
+%feature("docstring") atsci_fs_checker::atsci_fs_checker "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_checker::~atsci_fs_checker "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_checker::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_checker::filter "
+
+Params: (input_sample, input_tag, output_sample, output_tag)"
+
+%feature("docstring") atsci_fs_checker::delay "return delay in samples from input to output
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_checker_naive "Naive concrete implementation of field sync checker."
+
+%feature("docstring") atsci_fs_checker_naive::wrap "
+
+Params: (index)"
+
+%feature("docstring") atsci_fs_checker_naive::incr "
+
+Params: (index)"
+
+%feature("docstring") atsci_fs_checker_naive::decr "
+
+Params: (index)"
+
+%feature("docstring") atsci_fs_checker_naive::atsci_fs_checker_naive "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_checker_naive::~atsci_fs_checker_naive "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_checker_naive::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_checker_naive::filter "
+
+Params: (input_sample, input_tag, output_sample, output_tag)"
+
+%feature("docstring") atsci_fs_checker_naive::delay "return delay in samples from input to output
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_correlator "abstract base class for ATSC field sync correlator
+
+Processes input samples one at a time looking for an occurence of either the field sync 1 or field sync 2 pattern.
+
+For each sample processed, an output sample and an output tag are produced. The output samples are identical to the input samples but are delayed by a number of samples given by . The output tag associated with the the given output sample indicates whether this sample is the beginning of one of the field syncs or is an ordinary sample. The tags are defined in atsci_sync_tag.h.
+
+For ease of use, the field sync patterns are defined to begin with the first symbol of the 4 symbol data segment sync pattern that immediately proceeds the actual PN 511 code. This makes it easier for downstream code to determine the location of data segment syncs merely by counting. They'll occur every 832 samples assuming everything is working."
+
+%feature("docstring") atsci_fs_correlator::atsci_fs_correlator "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_correlator::~atsci_fs_correlator "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_correlator::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_correlator::filter "
+
+Params: (input_sample, output_sample, output_tag)"
+
+%feature("docstring") atsci_fs_correlator::delay "return delay in samples from input to output
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_correlator_naive "Naive concrete implementation of field sync correlator."
+
+%feature("docstring") atsci_fs_correlator_naive::wrap "
+
+Params: (index)"
+
+%feature("docstring") atsci_fs_correlator_naive::incr "
+
+Params: (index)"
+
+%feature("docstring") atsci_fs_correlator_naive::decr "
+
+Params: (index)"
+
+%feature("docstring") atsci_fs_correlator_naive::atsci_fs_correlator_naive "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_correlator_naive::~atsci_fs_correlator_naive "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_correlator_naive::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_fs_correlator_naive::filter "
+
+Params: (input_sample, output_sample, output_tag)"
+
+%feature("docstring") atsci_fs_correlator_naive::delay "return delay in samples from input to output
+
+Params: (NONE)"
+
+%feature("docstring") atsci_interpolator "interpolator control for segment and symbol sync recovery"
+
+%feature("docstring") atsci_interpolator::atsci_interpolator "must be >= 1.8
+
+Params: (nominal_ratio_of_rx_clock_to_symbol_freq)"
+
+%feature("docstring") atsci_interpolator::~atsci_interpolator "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_interpolator::reset "call on channel change
+
+Params: (NONE)"
+
+%feature("docstring") atsci_interpolator::update "produce next sample referenced to Tx clock
+
+If there aren't enough input_samples left to produce an output, return false, else true.
+
+Params: (input_samples, nsamples, index, timing_adjustment, output_sample)"
+
+%feature("docstring") atsci_interpolator::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_interpolator::mu "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_interpolator::w "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_interpolator::incr "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_randomizer "ATSC data \"whitener\".
+
+The data randomizer described in ATSC standard A/53B. See figure D4 on page 54."
+
+%feature("docstring") atsci_randomizer::atsci_randomizer "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_randomizer::reset "reset randomizer LFSR
+
+must be called during the Data Segment Sync interval prior to the first data segment. I.e., the LFSR is reset prior to the first field of each VSB data frame.
+
+Params: (NONE)"
+
+%feature("docstring") atsci_randomizer::randomize "randomize (whiten) mpeg packet and remove leading MPEG-2 sync byte
+
+Params: (out, in)"
+
+%feature("docstring") atsci_randomizer::derandomize "derandomize (de-whiten) mpeg packet and add leading MPEG-2 sync byte
+
+Params: (out, in)"
+
+%feature("docstring") atsci_randomizer::state "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_randomizer::initialize_output_map "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_randomizer::slow_output_map "
+
+Params: (st)"
+
+%feature("docstring") atsci_randomizer::fast_output_map "
+
+Params: (st)"
+
+%feature("docstring") atsci_randomizer::output "return current output value
+
+Params: (NONE)"
+
+%feature("docstring") atsci_randomizer::clk "clock LFSR; advance to next state.
+
+Params: (NONE)"
+
+%feature("docstring") atsci_randomizer::output_and_clk "return current output value and advance to next state
+
+Params: (NONE)"
+
+%feature("docstring") atsci_reed_solomon "ATSC Reed-Solomon encoder / decoder.
+
+The t=10 (207,187) code described in ATSC standard A/53B. See figure D5 on page 55."
+
+%feature("docstring") atsci_reed_solomon::atsci_reed_solomon "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_reed_solomon::~atsci_reed_solomon "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_reed_solomon::encode "Add RS error correction encoding.
+
+Params: (out, in)"
+
+%feature("docstring") atsci_reed_solomon::decode "Decode RS encoded packet.
+
+Params: (out, in)"
+
+%feature("docstring") atsci_single_viterbi "single channel viterbi decoder"
+
+%feature("docstring") atsci_single_viterbi::atsci_single_viterbi "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_single_viterbi::decode "ideally takes on the values +/- 1,3,5,7 return is decoded dibit in the range [0, 3]
+
+Params: (input)"
+
+%feature("docstring") atsci_single_viterbi::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_single_viterbi::delay "internal delay of decoder
+
+Params: (NONE)"
+
+%feature("docstring") atsci_slicer_agc "Automatic Gain Control class for atsc slicer.
+
+Given perfect data, output values will be +/- {7, 5, 3, 1}"
+
+%feature("docstring") atsci_slicer_agc::atsci_slicer_agc "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_slicer_agc::gain "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_slicer_agc::scale "
+
+Params: (input)"
+
+%feature("docstring") atsci_sliding_correlator "look for the PN 511 field sync pattern"
+
+%feature("docstring") atsci_sliding_correlator::atsci_sliding_correlator "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sliding_correlator::~atsci_sliding_correlator "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sliding_correlator::input_bit "input hard decision bit, return correlation (0,511)
+
+Params: (bit)"
+
+%feature("docstring") atsci_sliding_correlator::input_int "input sample, return correlation (0,511)
+
+Params: (sample)"
+
+%feature("docstring") atsci_sliding_correlator::input_float "input sample, return correlation (0,511)
+
+Params: (sample)"
+
+%feature("docstring") atsci_sliding_correlator::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sssr "ATSC Segment and Symbol Sync Recovery.
+
+This class implements data segment sync tracking and symbol timing using the method described in \"ATSC/VSB Tutorial - Receiver Technology\" by Wayne E. Bretl of Zenith, pgs 41-45."
+
+%feature("docstring") atsci_sssr::incr_counter "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sssr::incr_symbol_index "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sssr::atsci_sssr "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sssr::~atsci_sssr "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sssr::reset "call on channel change
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sssr::update "process a single sample at the ATSC symbol rate (~10.76 MSPS)
+
+This block computes an indication of our timing error and keeps track of where the segment sync's occur. is returned to indicate how the interpolator timing needs to be adjusted to track the transmitter's symbol timing. If is true, then is the index of this sample in the current segment. The symbols are numbered from 0 to 831, where symbols 0, 1, 2 and 3 correspond to the data segment sync pattern, nominally +5, -5, -5, +5.
+
+Params: (sample_in, seg_locked, symbol_index, timing_adjust)"
+
+%feature("docstring") atsci_trellis_encoder "fancy, schmancy 12-way interleaved trellis encoder for ATSC"
+
+%feature("docstring") atsci_trellis_encoder::atsci_trellis_encoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_trellis_encoder::~atsci_trellis_encoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_trellis_encoder::reset "reset all encoder states
+
+Params: (NONE)"
+
+%feature("docstring") atsci_trellis_encoder::encode "Take 12 RS encoded, convolutionally interleaved segments and produce 12 trellis coded data segments. We work in groups of 12 because that's the smallest number of segments that composes a single full cycle of the encoder mux.
+
+Params: (out, in)"
+
+%feature("docstring") atsci_trellis_encoder::encode_helper "
+
+Params: (out, in)"
+
+%feature("docstring") atsci_viterbi_decoder "fancy, schmancy 12-way interleaved viterbi decoder for ATSC"
+
+%feature("docstring") atsci_viterbi_decoder::atsci_viterbi_decoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_viterbi_decoder::~atsci_viterbi_decoder "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_viterbi_decoder::reset "reset all decoder states
+
+Params: (NONE)"
+
+%feature("docstring") atsci_viterbi_decoder::decode "Take 12 data segments of soft decisions (floats) and produce 12 RS encoded data segments. We work in groups of 12 because that's the smallest number of segments that composes a single full cycle of the decoder mux.
+
+Params: (out, in)"
+
+%feature("docstring") atsci_viterbi_decoder::decode_helper "
+
+Params: (out, in)"
+
+%feature("docstring") audio_alsa_sink "audio sink using ALSA
+
+The sink has N input streams of floats, where N depends on the hardware characteristics of the selected device.
+
+Input samples must be in the range [-1,1]."
+
+%feature("docstring") audio_alsa_sink::output_error_msg "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_alsa_sink::bail "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_alsa_sink::audio_alsa_sink "
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_alsa_sink::write_buffer "
+
+Params: (buffer, nframes, sizeof_frame)"
+
+%feature("docstring") audio_alsa_sink::work_s16 "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_sink::work_s16_1x2 "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_sink::work_s32 "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_sink::work_s32_1x2 "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_sink::~audio_alsa_sink "
+
+Params: (NONE)"
+
+%feature("docstring") audio_alsa_sink::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") audio_alsa_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_source "audio source using ALSA
+
+The source has between 1 and N input streams of floats, where N is depends on the hardware characteristics of the selected device.
+
+Output samples will be in the range [-1,1]."
+
+%feature("docstring") audio_alsa_source::output_error_msg "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_alsa_source::bail "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_alsa_source::audio_alsa_source "
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_alsa_source::read_buffer "
+
+Params: (buffer, nframes, sizeof_frame)"
+
+%feature("docstring") audio_alsa_source::work_s16 "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_source::work_s16_2x1 "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_source::work_s32 "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_source::work_s32_2x1 "
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_alsa_source::~audio_alsa_source "
+
+Params: (NONE)"
+
+%feature("docstring") audio_alsa_source::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") audio_alsa_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_jack_sink "audio sink using JACK
+
+The sink has one input stream of floats.
+
+Input samples must be in the range [-1,1]."
+
+%feature("docstring") audio_jack_sink::output_error_msg "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_jack_sink::bail "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_jack_sink::audio_jack_sink "
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_jack_sink::~audio_jack_sink "
+
+Params: (NONE)"
+
+%feature("docstring") audio_jack_sink::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") audio_jack_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_jack_source "audio source using JACK
+
+The source has one input stream of floats.
+
+Output samples will be in the range [-1,1]."
+
+%feature("docstring") audio_jack_source::output_error_msg "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_jack_source::bail "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_jack_source::audio_jack_source "
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_jack_source::~audio_jack_source "
+
+Params: (NONE)"
+
+%feature("docstring") audio_jack_source::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") audio_jack_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_oss_sink "audio sink using OSS
+
+input signature is one or two streams of floats. Input samples must be in the range [-1,1]."
+
+%feature("docstring") audio_oss_sink::audio_oss_sink "
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_oss_sink::~audio_oss_sink "
+
+Params: (NONE)"
+
+%feature("docstring") audio_oss_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_oss_source "audio source using OSS
+
+Output signature is one or two streams of floats. Output samples will be in the range [-1,1]."
+
+%feature("docstring") audio_oss_source::audio_oss_source "
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_oss_source::~audio_oss_source "
+
+Params: (NONE)"
+
+%feature("docstring") audio_oss_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_osx_sink "audio sink using OSX
+
+input signature is one or two streams of floats. Input samples must be in the range [-1,1]."
+
+%feature("docstring") audio_osx_sink::audio_osx_sink "
+
+Params: (sample_rate, device_name, do_block, channel_config, max_sample_count)"
+
+%feature("docstring") audio_osx_sink::~audio_osx_sink "
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_sink::IsRunning "
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_sink::start "Called to enable drivers, etc for i/o devices.
+
+This allows a block to enable an associated driver to begin transfering data just before we start to execute the scheduler. The end result is that this reduces latency in the pipeline when dealing with audio devices, usrps, etc.
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_sink::stop "Called to disable drivers, etc for i/o devices.
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_osx_sink::AUOutputCallback "
+
+Params: (inRefCon, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData)"
+
+%feature("docstring") audio_osx_source "audio source using OSX
+
+Input signature is one or two streams of floats. Samples must be in the range [-1,1]."
+
+%feature("docstring") audio_osx_source::audio_osx_source "
+
+Params: (sample_rate, device_name, do_block, channel_config, max_sample_count)"
+
+%feature("docstring") audio_osx_source::~audio_osx_source "
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_source::start "Called to enable drivers, etc for i/o devices.
+
+This allows a block to enable an associated driver to begin transfering data just before we start to execute the scheduler. The end result is that this reduces latency in the pipeline when dealing with audio devices, usrps, etc.
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_source::stop "Called to disable drivers, etc for i/o devices.
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_source::IsRunning "
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_source::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") audio_osx_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_osx_source::SetDefaultInputDeviceAsCurrent "
+
+Params: (NONE)"
+
+%feature("docstring") audio_osx_source::AllocAudioBufferList "
+
+Params: (t_ABL, n_channels, inputBufferSizeBytes)"
+
+%feature("docstring") audio_osx_source::FreeAudioBufferList "
+
+Params: (t_ABL)"
+
+%feature("docstring") audio_osx_source::ConverterCallback "
+
+Params: (inAudioConverter, ioNumberDataPackets, ioData, outASPD, inUserData)"
+
+%feature("docstring") audio_osx_source::AUInputCallback "
+
+Params: (inRefCon, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData)"
+
+%feature("docstring") audio_portaudio_sink "\ Audio sink using PORTAUDIO
+
+Input samples must be in the range [-1,1]."
+
+%feature("docstring") audio_portaudio_sink::output_error_msg "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_portaudio_sink::bail "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_portaudio_sink::create_ringbuffer "
+
+Params: (NONE)"
+
+%feature("docstring") audio_portaudio_sink::audio_portaudio_sink "
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_portaudio_sink::~audio_portaudio_sink "
+
+Params: (NONE)"
+
+%feature("docstring") audio_portaudio_sink::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") audio_portaudio_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_portaudio_source "\ Audio source using PORTAUDIO
+
+Input samples must be in the range [-1,1]."
+
+%feature("docstring") audio_portaudio_source::output_error_msg "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_portaudio_source::bail "
+
+Params: (msg, err)"
+
+%feature("docstring") audio_portaudio_source::create_ringbuffer "
+
+Params: (NONE)"
+
+%feature("docstring") audio_portaudio_source::audio_portaudio_source "
+
+Params: (sampling_rate, device_name, ok_to_block)"
+
+%feature("docstring") audio_portaudio_source::~audio_portaudio_source "
+
+Params: (NONE)"
+
+%feature("docstring") audio_portaudio_source::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") audio_portaudio_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_windows_sink "audio sink using winmm mmsystem (win32 only)
+
+input signature is one or two streams of floats. Input samples must be in the range [-1,1]."
+
+%feature("docstring") audio_windows_sink::string_to_int "
+
+Params: (s)"
+
+%feature("docstring") audio_windows_sink::audio_windows_sink "
+
+Params: (sampling_freq, device_name)"
+
+%feature("docstring") audio_windows_sink::open_waveout_device "
+
+Params: ()"
+
+%feature("docstring") audio_windows_sink::write_waveout "
+
+Params: (lp_data, dw_data_size)"
+
+%feature("docstring") audio_windows_sink::~audio_windows_sink "
+
+Params: (NONE)"
+
+%feature("docstring") audio_windows_sink::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") audio_windows_source "audio source using winmm mmsystem (win32 only)
+
+Output signature is one or two streams of floats. Output samples will be in the range [-1,1]."
+
+%feature("docstring") audio_windows_source::audio_windows_source "
+
+Params: (sampling_freq, device_name)"
+
+%feature("docstring") audio_windows_source::~audio_windows_source "
+
+Params: (NONE)"
+
+%feature("docstring") audio_windows_source::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") std::auto_ptr "STL class."
+
+%feature("docstring") std::bad_alloc "STL class."
+
+%feature("docstring") std::bad_cast "STL class."
+
+%feature("docstring") std::bad_exception "STL class."
+
+%feature("docstring") std::bad_typeid "STL class."
+
+%feature("docstring") std::basic_fstream "STL class."
+
+%feature("docstring") std::basic_ifstream "STL class."
+
+%feature("docstring") std::basic_ios "STL class."
+
+%feature("docstring") std::basic_iostream "STL class."
+
+%feature("docstring") std::basic_istream "STL class."
+
+%feature("docstring") std::basic_istringstream "STL class."
+
+%feature("docstring") std::basic_ofstream "STL class."
+
+%feature("docstring") std::basic_ostream "STL class."
+
+%feature("docstring") std::basic_ostringstream "STL class."
+
+%feature("docstring") std::basic_string "STL class."
+
+%feature("docstring") std::basic_stringstream "STL class."
+
+%feature("docstring") std::bitset "STL class."
+
+
+
+%feature("docstring") msdd::BufferCopyBehavior::operator() "
+
+Params: (a, b, output_index, nitems)"
+
+%feature("docstring") msdd::BufferCopyBehavior::~BufferCopyBehavior "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") msdd::BufferCopyBehaviorComplex::operator() "
+
+Params: (a, b, output_index, nitems)"
+
+
+
+%feature("docstring") msdd::BufferCopyBehaviorGeneric::operator() "
+
+Params: (a, b, output_index, nitems)"
+
+
+
+%feature("docstring") circular_buffer::delete_mutex_cond "
+
+Params: (NONE)"
+
+%feature("docstring") circular_buffer::circular_buffer "
+
+Params: (bufLen_I, doWriteBlock, doFullRead)"
+
+%feature("docstring") circular_buffer::~circular_buffer "
+
+Params: (NONE)"
+
+%feature("docstring") circular_buffer::n_avail_write_items "
+
+Params: (NONE)"
+
+%feature("docstring") circular_buffer::n_avail_read_items "
+
+Params: (NONE)"
+
+%feature("docstring") circular_buffer::buffer_length_items "
+
+Params: (NONE)"
+
+%feature("docstring") circular_buffer::do_write_block "
+
+Params: (NONE)"
+
+%feature("docstring") circular_buffer::do_full_read "
+
+Params: (NONE)"
+
+%feature("docstring") circular_buffer::reset "
+
+Params: (NONE)"
+
+%feature("docstring") circular_buffer::enqueue "
+
+Params: (buf, bufLen_I)"
+
+%feature("docstring") circular_buffer::dequeue "
+
+Params: (buf, bufLen_I)"
+
+%feature("docstring") circular_buffer::abort "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") circular_linked_list::circular_linked_list "
+
+Params: (n_nodes)"
+
+%feature("docstring") circular_linked_list::~circular_linked_list "
+
+Params: (NONE)"
+
+%feature("docstring") circular_linked_list::find_next_available_node "
+
+Params: (NONE)"
+
+%feature("docstring") circular_linked_list::make_node_available "
+
+Params: (l_node)"
+
+%feature("docstring") circular_linked_list::iterate_start "
+
+Params: (NONE)"
+
+%feature("docstring") circular_linked_list::iterate_next "
+
+Params: (NONE)"
+
+%feature("docstring") circular_linked_list::object "
+
+Params: (NONE)"
+
+%feature("docstring") circular_linked_list::num_nodes "
+
+Params: (NONE)"
+
+%feature("docstring") circular_linked_list::num_used "
+
+Params: (NONE)"
+
+%feature("docstring") circular_linked_list::num_available "
+
+Params: (NONE)"
+
+%feature("docstring") circular_linked_list::num_used_inc "
+
+Params: ()"
+
+%feature("docstring") circular_linked_list::num_used_dec "
+
+Params: ()"
+
+%feature("docstring") circular_linked_list::in_use "
+
+Params: (NONE)"
+
+%feature("docstring") std::complex "STL class."
+
+%feature("docstring") std::basic_string::const_iterator "STL iterator class."
+
+%feature("docstring") std::string::const_iterator "STL iterator class."
+
+%feature("docstring") std::wstring::const_iterator "STL iterator class."
+
+%feature("docstring") std::deque::const_iterator "STL iterator class."
+
+%feature("docstring") std::list::const_iterator "STL iterator class."
+
+%feature("docstring") std::map::const_iterator "STL iterator class."
+
+%feature("docstring") std::multimap::const_iterator "STL iterator class."
+
+%feature("docstring") std::multiset::const_iterator "STL iterator class."
+
+%feature("docstring") std::vector::const_iterator "STL iterator class."
+
+%feature("docstring") std::set::const_iterator "STL iterator class."
+
+%feature("docstring") std::basic_string::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::wstring::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::string::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::deque::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::list::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::map::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::multimap::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::set::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::multiset::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") std::vector::const_reverse_iterator "STL iterator class."
+
+%feature("docstring") convolutional_interleaver "template class for generic convolutional interleaver"
+
+%feature("docstring") convolutional_interleaver::convolutional_interleaver "
+
+Params: (interleave_p, nbanks, fifo_size_incr)"
+
+%feature("docstring") convolutional_interleaver::~convolutional_interleaver "
+
+Params: (NONE)"
+
+%feature("docstring") convolutional_interleaver::reset "reset interleaver (flushes contents and resets commutator)
+
+Params: (NONE)"
+
+%feature("docstring") convolutional_interleaver::sync "sync interleaver (resets commutator, but doesn't flush fifos)
+
+Params: (NONE)"
+
+%feature("docstring") convolutional_interleaver::end_to_end_delay "return end to end delay in symbols (delay through concatenated interleaver / deinterleaver)
+
+Params: (NONE)"
+
+%feature("docstring") convolutional_interleaver::transform "transform a single symbol
+
+Params: (input)"
+
+
+
+%feature("docstring") usrp2::copy_handler::copy_handler "
+
+Params: (dest, len)"
+
+%feature("docstring") usrp2::copy_handler::~copy_handler "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::copy_handler::operator() "
+
+Params: (base, len)"
+
+%feature("docstring") usrp2::copy_handler::bytes "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::copy_handler::times "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::copy_handler::full "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::data_handler "Abstract function object called to handle received data blocks."
+
+%feature("docstring") usrp2::data_handler::operator() "
+
+Params: (base, len)"
+
+%feature("docstring") usrp2::data_handler::~data_handler "
+
+Params: (NONE)"
+
+%feature("docstring") db_base "Abstract base class for all USRP daughterboards."
+
+%feature("docstring") db_base::_enable_refclk "
+
+Params: (enable)"
+
+%feature("docstring") db_base::_refclk_freq "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::_refclk_divisor "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::usrp "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") db_base::db_base "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_base::~db_base "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::dbid "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::name "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::side_and_name "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::which "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::bypass_adc_buffers "
+
+Params: (bypass)"
+
+%feature("docstring") db_base::set_atr_mask "
+
+Params: (v)"
+
+%feature("docstring") db_base::set_atr_txval "
+
+Params: (v)"
+
+%feature("docstring") db_base::set_atr_rxval "
+
+Params: (v)"
+
+%feature("docstring") db_base::set_atr_tx_delay "
+
+Params: (v)"
+
+%feature("docstring") db_base::set_atr_rx_delay "
+
+Params: (v)"
+
+%feature("docstring") db_base::set_lo_offset "
+
+Params: (offset)"
+
+%feature("docstring") db_base::lo_offset "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::set_freq "
+
+Params: (target_freq)"
+
+%feature("docstring") db_base::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_base::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::i_and_q_swapped "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::spectrum_inverted "
+
+Params: (NONE)"
+
+%feature("docstring") db_base::set_enable "
+
+Params: (on)"
+
+%feature("docstring") db_base::set_auto_tr "
+
+Params: (on)"
+
+%feature("docstring") db_base::select_rx_antenna "
+
+Params: (which_antenna)"
+
+%feature("docstring") db_base::set_bw "
+
+Params: (bw)"
+
+
+
+%feature("docstring") db_basic_rx::db_basic_rx "
+
+Params: (usrp, which, subdev)"
+
+%feature("docstring") db_basic_rx::~db_basic_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_rx::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_rx::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_rx::set_freq "
+
+Params: (target_freq)"
+
+%feature("docstring") db_basic_rx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_basic_rx::is_quadrature "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_basic_tx::db_basic_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_basic_tx::~db_basic_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_tx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_tx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_tx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_tx::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_tx::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_basic_tx::set_freq "
+
+Params: (target_freq)"
+
+%feature("docstring") db_basic_tx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_basic_tx::is_quadrature "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_bitshark_rx::_set_pga "
+
+Params: (pga_gain)"
+
+%feature("docstring") db_bitshark_rx::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") db_bitshark_rx::db_bitshark_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_bitshark_rx::~db_bitshark_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_bitshark_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_bitshark_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_bitshark_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_bitshark_rx::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_bitshark_rx::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_bitshark_rx::set_freq "
+
+Params: (freq)"
+
+%feature("docstring") db_bitshark_rx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_bitshark_rx::set_bw "
+
+Params: (bw)"
+
+%feature("docstring") db_bitshark_rx::set_clock_scheme "
+
+Params: (clock_scheme, ref_clock_freq)"
+
+%feature("docstring") db_bitshark_rx::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") db_bitshark_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_dbs_rx::_write_reg "
+
+Params: (regno, v)"
+
+%feature("docstring") db_dbs_rx::_write_regs "
+
+Params: (starting_regno, vals)"
+
+%feature("docstring") db_dbs_rx::_read_status "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::_send_reg "
+
+Params: (regno)"
+
+%feature("docstring") db_dbs_rx::_set_m "
+
+Params: (m)"
+
+%feature("docstring") db_dbs_rx::_set_fdac "
+
+Params: (fdac)"
+
+%feature("docstring") db_dbs_rx::_set_dl "
+
+Params: (dl)"
+
+%feature("docstring") db_dbs_rx::_set_gc2 "
+
+Params: (gc2)"
+
+%feature("docstring") db_dbs_rx::_set_gc1 "
+
+Params: (gc1)"
+
+%feature("docstring") db_dbs_rx::_set_pga "
+
+Params: (pga_gain)"
+
+%feature("docstring") db_dbs_rx::_set_osc "
+
+Params: (osc)"
+
+%feature("docstring") db_dbs_rx::_set_cp "
+
+Params: (cp)"
+
+%feature("docstring") db_dbs_rx::_set_n "
+
+Params: (n)"
+
+%feature("docstring") db_dbs_rx::_set_div2 "
+
+Params: (div2)"
+
+%feature("docstring") db_dbs_rx::_set_r "
+
+Params: (r)"
+
+%feature("docstring") db_dbs_rx::_set_ade "
+
+Params: (ade)"
+
+%feature("docstring") db_dbs_rx::_refclk_divisor "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::db_dbs_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_dbs_rx::~db_dbs_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::set_freq "
+
+Params: (freq)"
+
+%feature("docstring") db_dbs_rx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_dbs_rx::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") db_dbs_rx::set_bw "
+
+Params: (bw)"
+
+
+
+%feature("docstring") db_dtt754::db_dtt754 "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_dtt754::~db_dtt754 "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt754::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt754::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt754::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt754::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_dtt754::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt754::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt754::set_freq "
+
+Params: (target_freq)"
+
+%feature("docstring") db_dtt754::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt754::spectrum_inverted "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt754::set_bw "
+
+Params: (bw)"
+
+%feature("docstring") db_dtt754::_set_rfagc "
+
+Params: (gain)"
+
+%feature("docstring") db_dtt754::_set_ifagc "
+
+Params: (gain)"
+
+%feature("docstring") db_dtt754::_set_pga "
+
+Params: (pga_gain)"
+
+
+
+%feature("docstring") db_dtt768::db_dtt768 "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_dtt768::~db_dtt768 "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt768::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt768::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt768::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt768::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_dtt768::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt768::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt768::set_freq "
+
+Params: (target_freq)"
+
+%feature("docstring") db_dtt768::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt768::spectrum_inverted "
+
+Params: (NONE)"
+
+%feature("docstring") db_dtt768::set_bw "
+
+Params: (bw)"
+
+%feature("docstring") db_dtt768::_set_rfagc "
+
+Params: (gain)"
+
+%feature("docstring") db_dtt768::_set_ifagc "
+
+Params: (gain)"
+
+%feature("docstring") db_dtt768::_set_pga "
+
+Params: (pga_gain)"
+
+
+
+%feature("docstring") db_flexrf_1200_rx::db_flexrf_1200_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1200_rx::~db_flexrf_1200_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1200_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1200_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1200_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1200_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1200_rx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_1200_rx_mimo_a::db_flexrf_1200_rx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1200_rx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_1200_rx_mimo_b::db_flexrf_1200_rx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1200_rx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_1200_tx::db_flexrf_1200_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1200_tx::~db_flexrf_1200_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1200_tx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_1200_tx_mimo_a::db_flexrf_1200_tx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1200_tx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_1200_tx_mimo_b::db_flexrf_1200_tx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1200_tx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_1800_rx::db_flexrf_1800_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1800_rx::~db_flexrf_1800_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1800_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1800_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1800_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1800_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1800_rx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_1800_rx_mimo_a::db_flexrf_1800_rx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1800_rx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_1800_rx_mimo_b::db_flexrf_1800_rx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1800_rx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_1800_tx::db_flexrf_1800_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1800_tx::~db_flexrf_1800_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_1800_tx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_1800_tx_mimo_a::db_flexrf_1800_tx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1800_tx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_1800_tx_mimo_b::db_flexrf_1800_tx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_1800_tx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_2200_rx::db_flexrf_2200_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_2200_rx::~db_flexrf_2200_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2200_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2200_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2200_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2200_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2200_rx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_2200_tx::db_flexrf_2200_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_2200_tx::~db_flexrf_2200_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2200_tx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_2400_rx::db_flexrf_2400_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_2400_rx::~db_flexrf_2400_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2400_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2400_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2400_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2400_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2400_rx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_2400_rx_mimo_a::db_flexrf_2400_rx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_2400_rx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_2400_rx_mimo_b::db_flexrf_2400_rx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_2400_rx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_2400_tx::db_flexrf_2400_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_2400_tx::~db_flexrf_2400_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_2400_tx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_2400_tx_mimo_a::db_flexrf_2400_tx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_2400_tx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_2400_tx_mimo_b::db_flexrf_2400_tx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_2400_tx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_400_rx::db_flexrf_400_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_400_rx::~db_flexrf_400_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_400_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_400_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_400_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_400_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_400_rx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_400_rx_mimo_a::db_flexrf_400_rx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_400_rx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_400_rx_mimo_b::db_flexrf_400_rx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_400_rx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_400_tx::db_flexrf_400_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_400_tx::~db_flexrf_400_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_400_tx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_400_tx_mimo_a::db_flexrf_400_tx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_400_tx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_400_tx_mimo_b::db_flexrf_400_tx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_400_tx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_900_rx::db_flexrf_900_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_900_rx::~db_flexrf_900_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_900_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_900_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_900_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_900_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_900_rx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_900_rx_mimo_a::db_flexrf_900_rx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_900_rx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_900_rx_mimo_b::db_flexrf_900_rx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_900_rx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_900_tx::db_flexrf_900_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_900_tx::~db_flexrf_900_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_flexrf_900_tx::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+
+
+%feature("docstring") db_flexrf_900_tx_mimo_a::db_flexrf_900_tx_mimo_a "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_900_tx_mimo_a::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_flexrf_900_tx_mimo_b::db_flexrf_900_tx_mimo_b "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_flexrf_900_tx_mimo_b::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_lf_rx::db_lf_rx "
+
+Params: (usrp, which, subdev)"
+
+%feature("docstring") db_lf_rx::~db_lf_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_lf_rx::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_lf_rx::freq_max "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_lf_tx::db_lf_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_lf_tx::~db_lf_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_lf_tx::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_lf_tx::freq_max "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_tv_rx::_set_rfagc "
+
+Params: (gain)"
+
+%feature("docstring") db_tv_rx::_set_ifagc "
+
+Params: (gain)"
+
+%feature("docstring") db_tv_rx::_set_pga "
+
+Params: (pga_gain)"
+
+%feature("docstring") db_tv_rx::db_tv_rx "
+
+Params: (usrp, which, first_IF, second_IF)"
+
+%feature("docstring") db_tv_rx::~db_tv_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_tv_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_tv_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_tv_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_tv_rx::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_tv_rx::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_tv_rx::set_freq "
+
+Params: (target_freq)"
+
+%feature("docstring") db_tv_rx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_tv_rx::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") db_tv_rx::spectrum_inverted "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_tv_rx_mimo::db_tv_rx_mimo "
+
+Params: (usrp, which, first_IF, second_IF)"
+
+%feature("docstring") db_tv_rx_mimo::_refclk_divisor "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_wbx_lo_rx::db_wbx_lo_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_wbx_lo_rx::~db_wbx_lo_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_rx::_refclk_freq "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_rx::_rx_write_io "
+
+Params: (value, mask)"
+
+%feature("docstring") db_wbx_lo_rx::_lock_detect "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_rx::usrp "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_wbx_lo_tx::db_wbx_lo_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_wbx_lo_tx::~db_wbx_lo_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_tx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_tx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_tx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_tx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_wbx_lo_tx::_refclk_freq "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_tx::_rx_write_io "
+
+Params: (value, mask)"
+
+%feature("docstring") db_wbx_lo_tx::_lock_detect "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbx_lo_tx::usrp "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_wbxng_rx::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_rx::_set_attn "
+
+Params: (attn)"
+
+%feature("docstring") db_wbxng_rx::db_wbxng_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_wbxng_rx::~db_wbxng_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_rx::set_auto_tr "
+
+Params: (on)"
+
+%feature("docstring") db_wbxng_rx::select_rx_antenna "
+
+Params: (which_antenna)"
+
+%feature("docstring") db_wbxng_rx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_wbxng_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_wbxng_tx::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_tx::db_wbxng_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_wbxng_tx::~db_wbxng_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_tx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_tx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_tx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_wbxng_tx::set_auto_tr "
+
+Params: (on)"
+
+%feature("docstring") db_wbxng_tx::set_enable "
+
+Params: (on)"
+
+%feature("docstring") db_wbxng_tx::set_gain "
+
+Params: (gain)"
+
+
+
+%feature("docstring") db_xcvr2450_base::db_xcvr2450_base "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_xcvr2450_base::~db_xcvr2450_base "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_base::set_freq "
+
+Params: (target_freq)"
+
+%feature("docstring") db_xcvr2450_base::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_base::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_base::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_base::shutdown_common "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") db_xcvr2450_rx::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_rx::db_xcvr2450_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_xcvr2450_rx::~db_xcvr2450_rx "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_rx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_rx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_rx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_rx::set_gain "
+
+Params: (gain)"
+
+
+
+%feature("docstring") db_xcvr2450_tx::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_tx::db_xcvr2450_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") db_xcvr2450_tx::~db_xcvr2450_tx "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_tx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_tx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_tx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") db_xcvr2450_tx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") db_xcvr2450_tx::i_and_q_swapped "
+
+Params: (NONE)"
+
+%feature("docstring") std::deque "STL class."
+
+
+
+%feature("docstring") dial_tone::dial_tone "
+
+Params: (NONE)"
+
+%feature("docstring") sssr::digital_correlator "digital correlator for 1001 and 0110 patterns"
+
+%feature("docstring") sssr::digital_correlator::digital_correlator "
+
+Params: (NONE)"
+
+%feature("docstring") sssr::digital_correlator::reset "called on channel change
+
+Params: (NONE)"
+
+%feature("docstring") sssr::digital_correlator::update "clock bit in and return true if we've seen 1001
+
+Params: (bit)"
+
+%feature("docstring") std::domain_error "STL class."
+
+%feature("docstring") usrp2::eth_buffer "high-performance interface to send and receive raw ethernet frames with out-of-order retirement of received frames.
+
+On many systems it should be possible to implement this on top of libpcap"
+
+%feature("docstring") usrp2::eth_buffer::frame_available "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::eth_buffer::inc_head "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::eth_buffer::eth_buffer "
+
+Params: (rx_bufsize)"
+
+%feature("docstring") usrp2::eth_buffer::~eth_buffer "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::eth_buffer::open "open the specified interface
+
+Params: (ifname, protocol)"
+
+%feature("docstring") usrp2::eth_buffer::close "close the interface
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::eth_buffer::attach_pktfilter "attach packet filter to socket to restrict which packets read sees.
+
+Params: (pf)"
+
+%feature("docstring") usrp2::eth_buffer::mac "return 6 byte string containing our MAC address
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::eth_buffer::rx_frames "Call for each frame in the receive buffer.
+
+If is 0, rx_frames will not wait for frames if none are available, and f will not be invoked. If is -1 (the default), rx_frames will block indefinitely until frames are available. If is positive, it indicates the number of milliseconds to wait for a frame to become available. Once the timeout has expired, rx_frames will return, f never having been invoked.
+
+ will be called on each ethernet frame that is available. returns a bit mask with one of the following set or cleared:
+
+data_handler::KEEP - hold onto the frame and present it again during the next call to rx_frames, otherwise discard it
+
+data_handler::DONE - return from rx_frames now even though more frames might be available; otherwise continue if more frames are ready.
+
+The idea of holding onto a frame for the next iteration allows the caller to scan the received packet stream for particular classes of frames (such as command replies) leaving the rest intact. On the next call all kept frames, followed by any new frames received, will be presented in order to . See usrp2.cc for an example of the pattern.
+
+Params: (f, timeout)"
+
+%feature("docstring") usrp2::eth_buffer::release_frame "
+
+Params: (p)"
+
+%feature("docstring") usrp2::eth_buffer::tx_frame "
+
+Params: (base, len, flags)"
+
+%feature("docstring") usrp2::eth_buffer::tx_framev "
+
+Params: (iov, iovcnt, flags)"
+
+%feature("docstring") usrp2::eth_buffer::max_frames "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ethernet "Read and write ethernet frames.
+
+This provides a low level interface to hardware that communicates via raw (non-IP) ethernet frames."
+
+%feature("docstring") usrp2::ethernet::ethernet "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ethernet::~ethernet "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ethernet::open "
+
+Params: (ifname, protocol)"
+
+%feature("docstring") usrp2::ethernet::close "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ethernet::attach_pktfilter "attach packet filter to socket to restrict which packets read sees.
+
+Params: (pf)"
+
+%feature("docstring") usrp2::ethernet::mac "return 6 byte string containing our MAC address
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ethernet::fd "Return file descriptor associated with socket.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ethernet::read_packet "Read packet from interface.
+
+Returned packet includes 14-byte ethhdr
+
+Params: (buf, buflen)"
+
+%feature("docstring") usrp2::ethernet::read_packet_dont_block "Read packet from interface, but don't block waiting.
+
+Returned packet includes 14-byte ethhdr
+
+Params: (buf, buflen)"
+
+%feature("docstring") usrp2::ethernet::write_packet "
+
+Params: (buf, buflen)"
+
+%feature("docstring") usrp2::ethernet::write_packetv "
+
+Params: (iov, iovlen)"
+
+%feature("docstring") std::exception "STL class."
+
+%feature("docstring") std::ios_base::failure "STL class."
+
+
+
+%feature("docstring") flexrf_base::flexrf_base "
+
+Params: (usrp, which, _power_on)"
+
+%feature("docstring") flexrf_base::~flexrf_base "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base::set_freq "
+
+Params: (freq)"
+
+%feature("docstring") flexrf_base::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base::_write_all "
+
+Params: (R, control, N)"
+
+%feature("docstring") flexrf_base::_write_control "
+
+Params: (control)"
+
+%feature("docstring") flexrf_base::_write_R "
+
+Params: (R)"
+
+%feature("docstring") flexrf_base::_write_N "
+
+Params: (N)"
+
+%feature("docstring") flexrf_base::_write_it "
+
+Params: (v)"
+
+%feature("docstring") flexrf_base::_lock_detect "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base::_compute_regs "
+
+Params: (freq, retR, retcontrol, retN, retfreq)"
+
+%feature("docstring") flexrf_base::_compute_control_reg "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base::_refclk_divisor "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base::_set_pga "
+
+Params: (pga_gain)"
+
+%feature("docstring") flexrf_base::power_on "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base::power_off "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") flexrf_base_rx::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base_rx::flexrf_base_rx "
+
+Params: (usrp, which, _power_on)"
+
+%feature("docstring") flexrf_base_rx::~flexrf_base_rx "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base_rx::set_auto_tr "
+
+Params: (on)"
+
+%feature("docstring") flexrf_base_rx::select_rx_antenna "
+
+Params: (which_antenna)"
+
+%feature("docstring") flexrf_base_rx::set_gain "
+
+Params: (gain)"
+
+
+
+%feature("docstring") flexrf_base_tx::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base_tx::flexrf_base_tx "
+
+Params: (usrp, which, _power_on)"
+
+%feature("docstring") flexrf_base_tx::~flexrf_base_tx "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base_tx::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base_tx::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base_tx::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") flexrf_base_tx::set_auto_tr "
+
+Params: (on)"
+
+%feature("docstring") flexrf_base_tx::set_enable "
+
+Params: (on)"
+
+%feature("docstring") flexrf_base_tx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") fsm "FSM class."
+
+%feature("docstring") fsm::generate_PS_PI "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::generate_TM "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::find_es "
+
+Params: (es)"
+
+%feature("docstring") fsm::fsm "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::I "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::S "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::O "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::NS "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::OS "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::PS "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::PI "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::TMi "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::TMl "
+
+Params: (NONE)"
+
+%feature("docstring") fsm::write_trellis_svg "
+
+Params: (filename, number_stages)"
+
+%feature("docstring") fsm::write_fsm_txt "
+
+Params: (filename)"
+
+%feature("docstring") std::fstream "STL class."
+
+%feature("docstring") fusb_devhandle "abstract usb device handle"
+
+%feature("docstring") fusb_devhandle::fusb_devhandle "
+
+Params: (rhs)"
+
+%feature("docstring") fusb_devhandle::operator= "
+
+Params: (rhs)"
+
+%feature("docstring") fusb_devhandle::~fusb_devhandle "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle::make_ephandle "return an ephandle of the correct subtype
+
+Params: (endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_devhandle::get_usb_dev_handle "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_darwin "darwin implementation of fusb_devhandle
+
+This is currently identical to the generic implementation and is intended as a starting point for whatever magic is required to make usb fly."
+
+%feature("docstring") fusb_devhandle_darwin::fusb_devhandle_darwin "
+
+Params: (udh)"
+
+%feature("docstring") fusb_devhandle_darwin::~fusb_devhandle_darwin "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_darwin::make_ephandle "return an ephandle of the correct subtype
+
+Params: (endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_devhandle_generic "generic implementation of fusb_devhandle using only libusb"
+
+%feature("docstring") fusb_devhandle_generic::fusb_devhandle_generic "
+
+Params: (udh)"
+
+%feature("docstring") fusb_devhandle_generic::~fusb_devhandle_generic "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_generic::make_ephandle "return an ephandle of the correct subtype
+
+Params: (endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_devhandle_libusb1 "libusb1 implementation of fusb_devhandle"
+
+%feature("docstring") fusb_devhandle_libusb1::pending_add "
+
+Params: (lut)"
+
+%feature("docstring") fusb_devhandle_libusb1::pending_get "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_libusb1::fusb_devhandle_libusb1 "
+
+Params: (udh, ctx)"
+
+%feature("docstring") fusb_devhandle_libusb1::~fusb_devhandle_libusb1 "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_libusb1::make_ephandle "return an ephandle of the correct subtype
+
+Params: (endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_devhandle_libusb1::_submit_lut "
+
+Params: ()"
+
+%feature("docstring") fusb_devhandle_libusb1::_cancel_lut "
+
+Params: ()"
+
+%feature("docstring") fusb_devhandle_libusb1::_cancel_pending_rqsts "
+
+Params: (eph)"
+
+%feature("docstring") fusb_devhandle_libusb1::_reap "
+
+Params: (ok_to_block_p)"
+
+%feature("docstring") fusb_devhandle_libusb1::_wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_libusb1::pending_remove "
+
+Params: (lut)"
+
+%feature("docstring") fusb_devhandle_libusb1::_teardown "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_linux "linux specific implementation of fusb_devhandle using usbdevice_fs"
+
+%feature("docstring") fusb_devhandle_linux::pending_add "
+
+Params: (urb)"
+
+%feature("docstring") fusb_devhandle_linux::pending_remove "
+
+Params: (urb)"
+
+%feature("docstring") fusb_devhandle_linux::pending_get "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_linux::fusb_devhandle_linux "
+
+Params: (udh)"
+
+%feature("docstring") fusb_devhandle_linux::~fusb_devhandle_linux "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_linux::make_ephandle "return an ephandle of the correct subtype
+
+Params: (endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_devhandle_linux::_submit_urb "
+
+Params: (urb)"
+
+%feature("docstring") fusb_devhandle_linux::_cancel_urb "
+
+Params: (urb)"
+
+%feature("docstring") fusb_devhandle_linux::_cancel_pending_rqsts "
+
+Params: (eph)"
+
+%feature("docstring") fusb_devhandle_linux::_reap "
+
+Params: (ok_to_block_p)"
+
+%feature("docstring") fusb_devhandle_linux::_wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_ra_wb "generic implementation of fusb_devhandle using only libusb"
+
+%feature("docstring") fusb_devhandle_ra_wb::fusb_devhandle_ra_wb "
+
+Params: (udh)"
+
+%feature("docstring") fusb_devhandle_ra_wb::~fusb_devhandle_ra_wb "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_ra_wb::make_ephandle "return an ephandle of the correct subtype
+
+Params: (endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_devhandle_win32 "win32 implementation of fusb_devhandle using libusb-win32"
+
+%feature("docstring") fusb_devhandle_win32::fusb_devhandle_win32 "
+
+Params: (udh)"
+
+%feature("docstring") fusb_devhandle_win32::~fusb_devhandle_win32 "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_devhandle_win32::make_ephandle "return an ephandle of the correct subtype
+
+Params: (endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_ephandle "abstract usb end point handle"
+
+%feature("docstring") fusb_ephandle::fusb_ephandle "
+
+Params: (rhs)"
+
+%feature("docstring") fusb_ephandle::operator= "
+
+Params: (rhs)"
+
+%feature("docstring") fusb_ephandle::~fusb_ephandle "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle::start "begin streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle::stop "stop streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle::write "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle::read "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle::wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle::block_size "returns current block size.
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_darwin "darwin implementation of fusb_ephandle
+
+This is currently identical to the generic implementation and is intended as a starting point for whatever magic is required to make usb fly."
+
+%feature("docstring") fusb_ephandle_darwin::write_completed "
+
+Params: (ret_io_size, result, io_size)"
+
+%feature("docstring") fusb_ephandle_darwin::read_completed "
+
+Params: (ret_io_size, result, io_size)"
+
+%feature("docstring") fusb_ephandle_darwin::run_thread "
+
+Params: (arg)"
+
+%feature("docstring") fusb_ephandle_darwin::read_thread "
+
+Params: (arg)"
+
+%feature("docstring") fusb_ephandle_darwin::read_issue "
+
+Params: (l_both)"
+
+%feature("docstring") fusb_ephandle_darwin::fusb_ephandle_darwin "
+
+Params: (dh, endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_ephandle_darwin::~fusb_ephandle_darwin "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_darwin::start "begin streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_darwin::stop "stop streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_darwin::write "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_darwin::read "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_darwin::abort "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_darwin::wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_generic "generic implementation of fusb_ephandle using only libusb"
+
+%feature("docstring") fusb_ephandle_generic::fusb_ephandle_generic "
+
+Params: (dh, endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_ephandle_generic::~fusb_ephandle_generic "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_generic::start "begin streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_generic::stop "stop streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_generic::write "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_generic::read "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_generic::wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1 "libusb1 implementation of fusb_ephandle"
+
+%feature("docstring") fusb_ephandle_libusb1::get_write_work_in_progress "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::reap_complete_writes "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::reload_read_buffer "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::submit_lut "
+
+Params: (lut)"
+
+%feature("docstring") fusb_ephandle_libusb1::fusb_ephandle_libusb1 "
+
+Params: (dh, endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_ephandle_libusb1::~fusb_ephandle_libusb1 "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::start "begin streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::stop "stop streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::write "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_libusb1::read "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_libusb1::wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::free_list_add "
+
+Params: (lut)"
+
+%feature("docstring") fusb_ephandle_libusb1::completed_list_add "
+
+Params: (lut)"
+
+%feature("docstring") fusb_ephandle_libusb1::free_list_get "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::completed_list_get "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_libusb1::get_fusb_devhandle_libusb1 "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux "linux specific implementation of fusb_ephandle using usbdevice_fs"
+
+%feature("docstring") fusb_ephandle_linux::get_write_work_in_progress "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux::reap_complete_writes "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux::reload_read_buffer "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux::submit_urb "
+
+Params: (urb)"
+
+%feature("docstring") fusb_ephandle_linux::fusb_ephandle_linux "
+
+Params: (dh, endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_ephandle_linux::~fusb_ephandle_linux "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux::start "begin streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux::stop "stop streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux::write "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_linux::read "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_linux::wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux::free_list_add "
+
+Params: (urb)"
+
+%feature("docstring") fusb_ephandle_linux::completed_list_add "
+
+Params: (urb)"
+
+%feature("docstring") fusb_ephandle_linux::free_list_get "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_linux::completed_list_get "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_ra_wb "generic implementation of fusb_ephandle using only libusb"
+
+%feature("docstring") fusb_ephandle_ra_wb::fusb_ephandle_ra_wb "
+
+Params: (dh, endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_ephandle_ra_wb::~fusb_ephandle_ra_wb "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_ra_wb::start "begin streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_ra_wb::stop "stop streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_ra_wb::write "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_ra_wb::read "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_ra_wb::wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_win32 "win32 implementation of fusb_ephandle using libusb-win32"
+
+%feature("docstring") fusb_ephandle_win32::fusb_ephandle_win32 "
+
+Params: (dh, endpoint, input_p, block_size, nblocks)"
+
+%feature("docstring") fusb_ephandle_win32::~fusb_ephandle_win32 "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_win32::start "begin streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_win32::stop "stop streaming i/o
+
+Params: (NONE)"
+
+%feature("docstring") fusb_ephandle_win32::write "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_win32::read "
+
+Params: (buffer, nbytes)"
+
+%feature("docstring") fusb_ephandle_win32::wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") fusb_sysconfig "factory for creating concrete instances of the appropriate subtype."
+
+%feature("docstring") fusb_sysconfig::make_devhandle "returns fusb_devhandle or throws if trouble
+
+Params: (udh, ctx)"
+
+%feature("docstring") fusb_sysconfig::max_block_size "Returns max block size in bytes (hard limit).
+
+Params: (NONE)"
+
+%feature("docstring") fusb_sysconfig::default_block_size "Returns default block size in bytes.
+
+Params: (NONE)"
+
+%feature("docstring") fusb_sysconfig::default_buffer_size "Returns the default buffer size in bytes.
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gc_bad_align::gc_bad_align "
+
+Params: (msg)"
+
+
+
+%feature("docstring") gc_bad_alloc::gc_bad_alloc "
+
+Params: (msg)"
+
+
+
+%feature("docstring") gc_bad_submit::gc_bad_submit "
+
+Params: (name, status)"
+
+
+
+%feature("docstring") gc_client_thread_info::gc_client_thread_info "
+
+Params: (NONE)"
+
+%feature("docstring") gc_client_thread_info::~gc_client_thread_info "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gc_exception::gc_exception "
+
+Params: (msg)"
+
+%feature("docstring") gc_job_manager "Abstract class that manages SPE jobs.
+
+There is typically a single instance derived from this class. It is safe to call its methods from any thread."
+
+%feature("docstring") gc_job_manager::gc_job_manager "
+
+Params: (options)"
+
+%feature("docstring") gc_job_manager::~gc_job_manager "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager::shutdown "Stop accepting new jobs. Wait for existing jobs to complete. Return all managed SPE's to the system.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager::nspes "Return number of SPE's currently allocated to job manager.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager::alloc_job_desc "Return a pointer to a properly aligned job descriptor, or throws gc_bad_alloc if there are none available.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager::free_job_desc "
+
+Params: (jd)"
+
+%feature("docstring") gc_job_manager::submit_job "Submit a job for asynchronous processing on an SPE.
+
+The caller must not read or write the job description or any of the memory associated with any indirect arguments until after calling wait_job.
+
+Params: (jd)"
+
+%feature("docstring") gc_job_manager::wait_job "Wait for job to complete.
+
+A thread may only wait for jobs which it submitted.
+
+Params: (jd)"
+
+%feature("docstring") gc_job_manager::wait_jobs "wait for 1 or more jobs to complete.
+
+A thread may only wait for jobs which it submitted.
+
+Params: (njobs, jd, done, mode)"
+
+%feature("docstring") gc_job_manager::ea_args_maxsize "Return the maximum number of bytes of EA arguments that may be copied to or from the SPE in a single job. The limit applies independently to the \"get\" and \"put\" args.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager::lookup_proc "Return gc_proc_id_t associated with spu procedure if one exists, otherwise throws gc_unknown_proc.
+
+Params: (proc_name)"
+
+%feature("docstring") gc_job_manager::proc_names "Return a vector of all known spu procedure names.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager::set_singleton "Set the singleton gc_job_manager instance.
+
+The singleton is weakly held, thus the caller must maintain a reference to the mgr for the duration. (If we held the manager strongly, the destructor would never be called, and the resources (SPEs) would not be returned.) Bottom line: the caller is responsible for life-time management.
+
+Params: (mgr)"
+
+%feature("docstring") gc_job_manager::singleton "Retrieve the singleton gc_job_manager instance.
+
+Returns the singleton gc_job_manager instance or raises boost::bad_weak_ptr if the singleton is empty.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl "Concrete class that manages SPE jobs.
+
+This class contains all the implementation details."
+
+%feature("docstring") gc_job_manager_impl::alloc_cti "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::free_cti "
+
+Params: (cti)"
+
+%feature("docstring") gc_job_manager_impl::create_event_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::set_eh_state "
+
+Params: (s)"
+
+%feature("docstring") gc_job_manager_impl::set_ea_args_maxsize "
+
+Params: (maxsize)"
+
+%feature("docstring") gc_job_manager_impl::notify_clients_jobs_are_done "
+
+Params: (spe_num, completion_info_idx)"
+
+%feature("docstring") gc_job_manager_impl::send_all_spes "
+
+Params: (msg)"
+
+%feature("docstring") gc_job_manager_impl::send_spe "
+
+Params: (spe, msg)"
+
+%feature("docstring") gc_job_manager_impl::print_event "
+
+Params: (evt)"
+
+%feature("docstring") gc_job_manager_impl::handle_event "
+
+Params: (evt)"
+
+%feature("docstring") gc_job_manager_impl::incr_njobs_active "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::decr_njobs_active "
+
+Params: (n)"
+
+%feature("docstring") gc_job_manager_impl::tell_spes_to_check_queue "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::poll_for_job_completion "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::bv_zero "
+
+Params: (bv)"
+
+%feature("docstring") gc_job_manager_impl::bv_clr "
+
+Params: (bv, bitno)"
+
+%feature("docstring") gc_job_manager_impl::bv_set "
+
+Params: (bv, bitno)"
+
+%feature("docstring") gc_job_manager_impl::bv_isset "
+
+Params: (bv, bitno)"
+
+%feature("docstring") gc_job_manager_impl::bv_isclr "
+
+Params: (bv, bitno)"
+
+%feature("docstring") gc_job_manager_impl::setup_logfiles "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::sync_logfiles "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::unmap_logfiles "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::gc_job_manager_impl "
+
+Params: (options)"
+
+%feature("docstring") gc_job_manager_impl::event_handler_loop "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::job_completer_loop "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::~gc_job_manager_impl "
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::shutdown "Stop accepting new jobs. Wait for existing jobs to complete. Return all managed SPE's to the system.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::nspes "Return number of SPE's currently allocated to job manager.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::alloc_job_desc "Return a pointer to a properly aligned job descriptor, or zero if none are available.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::free_job_desc "
+
+Params: (jd)"
+
+%feature("docstring") gc_job_manager_impl::submit_job "Submit a job for asynchronous processing on an SPE.
+
+The caller must not read or write the job description or any of the memory associated with any indirect arguments until after calling wait_job.
+
+Params: (jd)"
+
+%feature("docstring") gc_job_manager_impl::wait_job "Wait for job to complete.
+
+A thread may only wait for jobs which it submitted.
+
+Params: (jd)"
+
+%feature("docstring") gc_job_manager_impl::wait_jobs "wait for 1 or more jobs to complete.
+
+A thread may only wait for jobs which it submitted.
+
+Params: (njobs, jd, done, mode)"
+
+%feature("docstring") gc_job_manager_impl::ea_args_maxsize "Return the maximum number of bytes of EA arguments that may be copied to or from the SPE in a single job. The limit applies independently to the \"get\" and \"put\" args.
+
+Params: (NONE)"
+
+%feature("docstring") gc_job_manager_impl::lookup_proc "Return gc_proc_id_t associated with spu procedure if one exists, otherwise throws gc_unknown_proc.
+
+Params: (proc_name)"
+
+%feature("docstring") gc_job_manager_impl::proc_names "Return a vector of all known spu procedure names.
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gc_unknown_proc::gc_unknown_proc "
+
+Params: (msg)"
+
+%feature("docstring") gr_adaptive_fir_ccf "Adaptive FIR filter with gr_complex input, gr_complex output and float taps."
+
+%feature("docstring") gr_adaptive_fir_ccf::error "
+
+Params: (out)"
+
+%feature("docstring") gr_adaptive_fir_ccf::update_tap "
+
+Params: (tap, in)"
+
+%feature("docstring") gr_adaptive_fir_ccf::gr_adaptive_fir_ccf "
+
+Params: (name, decimation, taps)"
+
+%feature("docstring") gr_adaptive_fir_ccf::set_taps "
+
+Params: (taps)"
+
+%feature("docstring") gr_adaptive_fir_ccf::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+
+
+%feature("docstring") gr_base_error_handler::gr_base_error_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_base_error_handler::nwarnings "
+
+Params: (NONE)"
+
+%feature("docstring") gr_base_error_handler::nerrors "
+
+Params: (NONE)"
+
+%feature("docstring") gr_base_error_handler::reset_counts "
+
+Params: (NONE)"
+
+%feature("docstring") gr_base_error_handler::count_error "
+
+Params: (s)"
+
+%feature("docstring") gr_basic_block "The abstract base class for all signal processing blocks.
+
+Basic blocks are the bare abstraction of an entity that has a name, a set of inputs and outputs, and a message queue. These are never instantiated directly; rather, this is the abstract parent class of both gr_hier_block, which is a recursive container, and gr_block, which implements actual signal processing functions."
+
+%feature("docstring") gr_basic_block::gr_basic_block "Protected constructor prevents instantiation by non-derived classes.
+
+Params: (name, input_signature, output_signature)"
+
+%feature("docstring") gr_basic_block::set_input_signature "may only be called during constructor
+
+Params: (iosig)"
+
+%feature("docstring") gr_basic_block::set_output_signature "may only be called during constructor
+
+Params: (iosig)"
+
+%feature("docstring") gr_basic_block::set_color "Allow the flowgraph to set for sorting and partitioning.
+
+Params: (color)"
+
+%feature("docstring") gr_basic_block::color "
+
+Params: (NONE)"
+
+%feature("docstring") gr_basic_block::~gr_basic_block "
+
+Params: (NONE)"
+
+%feature("docstring") gr_basic_block::unique_id "
+
+Params: (NONE)"
+
+%feature("docstring") gr_basic_block::name "
+
+Params: (NONE)"
+
+%feature("docstring") gr_basic_block::input_signature "
+
+Params: (NONE)"
+
+%feature("docstring") gr_basic_block::output_signature "
+
+Params: (NONE)"
+
+%feature("docstring") gr_basic_block::basic_block "
+
+Params: (NONE)"
+
+%feature("docstring") gr_basic_block::check_topology "Confirm that ninputs and noutputs is an acceptable combination.
+
+This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.
+
+Params: (ninputs, noutputs)"
+
+%feature("docstring") gr_basic_block::handle_msg "Block message handler.
+
+This function is called by the runtime system whenever there are messages in its queue. Blocks should override this to receive messages; the default behavior is to drop them on the floor.
+
+Params: (msg)"
+
+%feature("docstring") gr_block "The abstract base class for all 'terminal' processing blocks.
+
+A signal processing flow is constructed by creating a tree of hierarchical blocks, which at any level may also contain terminal nodes that actually implement signal processing functions. This is the base class for all such leaf nodes.
+
+Blocks have a set of input streams and output streams. The input_signature and output_signature define the number of input streams and output streams respectively, and the type of the data items in each stream.
+
+Although blocks may consume data on each input stream at a different rate, all outputs streams must produce data at the same rate. That rate may be different from any of the input rates.
+
+User derived blocks override two methods, forecast and general_work, to implement their signal processing behavior. forecast is called by the system scheduler to determine how many items are required on each input stream in order to produce a given number of output items.
+
+general_work is called to perform the signal processing in the block. It reads the input items and writes the output items."
+
+%feature("docstring") gr_block::~gr_block "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block::history "Assume block computes y_i = f(x_i, x_i-1, x_i-2, x_i-3...) History is the number of x_i's that are examined to produce one y_i. This comes in handy for FIR filters, where we use history to ensure that our input contains the appropriate \"history\" for the filter. History should be equal to the number of filter taps.
+
+Params: (NONE)"
+
+%feature("docstring") gr_block::set_history "
+
+Params: (history)"
+
+%feature("docstring") gr_block::fixed_rate "Return true if this block has a fixed input to output rate.
+
+If true, then fixed_rate_in_to_out and fixed_rate_out_to_in may be called.
+
+Params: (NONE)"
+
+%feature("docstring") gr_block::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_block::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_block::start "Called to enable drivers, etc for i/o devices.
+
+This allows a block to enable an associated driver to begin transfering data just before we start to execute the scheduler. The end result is that this reduces latency in the pipeline when dealing with audio devices, usrps, etc.
+
+Params: (NONE)"
+
+%feature("docstring") gr_block::stop "Called to disable drivers, etc for i/o devices.
+
+Params: (NONE)"
+
+%feature("docstring") gr_block::set_output_multiple "Constrain the noutput_items argument passed to forecast and general_work.
+
+set_output_multiple causes the scheduler to ensure that the noutput_items argument passed to forecast and general_work will be an integer multiple of
+
+Params: (multiple)"
+
+%feature("docstring") gr_block::output_multiple "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block::consume "Tell the scheduler of input stream were consumed.
+
+Params: (which_input, how_many_items)"
+
+%feature("docstring") gr_block::consume_each "Tell the scheduler were consumed on each input stream.
+
+Params: (how_many_items)"
+
+%feature("docstring") gr_block::produce "Tell the scheduler were produced on output stream .
+
+If the block's general_work method calls produce, must return WORK_CALLED_PRODUCE.
+
+Params: (which_output, how_many_items)"
+
+%feature("docstring") gr_block::set_relative_rate "Set the approximate output rate / input rate.
+
+Provide a hint to the buffer allocator and scheduler. The default relative_rate is 1.0
+
+decimators have relative_rates < 1.0 interpolators have relative_rates > 1.0
+
+Params: (relative_rate)"
+
+%feature("docstring") gr_block::relative_rate "return the approximate output rate / input rate
+
+Params: (NONE)"
+
+%feature("docstring") gr_block::fixed_rate_ninput_to_noutput "Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (ninput)"
+
+%feature("docstring") gr_block::fixed_rate_noutput_to_ninput "Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (noutput)"
+
+%feature("docstring") gr_block::detail "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block::set_detail "
+
+Params: (detail)"
+
+%feature("docstring") gr_block::gr_block "
+
+Params: (name, input_signature, output_signature)"
+
+%feature("docstring") gr_block::set_fixed_rate "
+
+Params: (fixed_rate)"
+
+%feature("docstring") gr_block_executor "Manage the execution of a single block."
+
+%feature("docstring") gr_block_executor::gr_block_executor "
+
+Params: (block)"
+
+%feature("docstring") gr_block_executor::~gr_block_executor "
+
+Params: (NONE)"
+
+%feature("docstring") gr_block_executor::run_one_iteration "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader "How we keep track of the readers of a gr_buffer."
+
+%feature("docstring") gr_buffer_reader::~gr_buffer_reader "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader::items_available "Return number of items available for reading.
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader::buffer "Return buffer this reader reads from.
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader::max_possible_items_available "Return maximum number of items that could ever be available for reading. This is used as a sanity check in the scheduler to avoid looping forever.
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader::read_pointer "return pointer to read buffer.
+
+The return value points to items_available() number of items
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader::update_read_pointer "
+
+Params: (nitems)"
+
+%feature("docstring") gr_buffer_reader::set_done "
+
+Params: (done)"
+
+%feature("docstring") gr_buffer_reader::done "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader::mutex "
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader::link "Return the block that reads via this reader.
+
+Params: (NONE)"
+
+%feature("docstring") gr_buffer_reader::gr_buffer_reader "constructor is private. Use gr_buffer::add_reader to create instances
+
+Params: (buffer, read_index, link)"
+
+
+
+%feature("docstring") gr_circular_file::gr_circular_file "
+
+Params: (filename, writable, size)"
+
+%feature("docstring") gr_circular_file::~gr_circular_file "
+
+Params: (NONE)"
+
+%feature("docstring") gr_circular_file::write "
+
+Params: (data, nbytes)"
+
+%feature("docstring") gr_circular_file::read "
+
+Params: (data, nbytes)"
+
+%feature("docstring") gr_circular_file::reset_read_pointer "
+
+Params: (NONE)"
+
+%feature("docstring") gr_edge "Class representing a connection between to graph endpoints."
+
+%feature("docstring") gr_edge::gr_edge "
+
+Params: (NONE)"
+
+%feature("docstring") gr_edge::~gr_edge "
+
+Params: (NONE)"
+
+%feature("docstring") gr_edge::src "
+
+Params: (NONE)"
+
+%feature("docstring") gr_edge::dst "
+
+Params: (NONE)"
+
+%feature("docstring") gr_endpoint "Class representing a specific input or output graph endpoint."
+
+%feature("docstring") gr_endpoint::gr_endpoint "
+
+Params: (NONE)"
+
+%feature("docstring") gr_endpoint::block "
+
+Params: (NONE)"
+
+%feature("docstring") gr_endpoint::port "
+
+Params: (NONE)"
+
+%feature("docstring") gr_endpoint::operator== "
+
+Params: (other)"
+
+%feature("docstring") gr_error_handler "abstract error handler"
+
+%feature("docstring") gr_error_handler::gr_error_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_error_handler::~gr_error_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_error_handler::message "
+
+Params: (format, )"
+
+%feature("docstring") gr_error_handler::warning "
+
+Params: (format, )"
+
+%feature("docstring") gr_error_handler::error "
+
+Params: (format, )"
+
+%feature("docstring") gr_error_handler::fatal "
+
+Params: (format, )"
+
+%feature("docstring") gr_error_handler::nwarnings "
+
+Params: (NONE)"
+
+%feature("docstring") gr_error_handler::nerrors "
+
+Params: (NONE)"
+
+%feature("docstring") gr_error_handler::reset_counts "
+
+Params: (NONE)"
+
+%feature("docstring") gr_error_handler::verror "
+
+Params: (s, format, )"
+
+%feature("docstring") gr_error_handler::verror_text "
+
+Params: (s, text)"
+
+%feature("docstring") gr_error_handler::default_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_error_handler::silent_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_error_handler::has_default_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_error_handler::set_default_handler "
+
+Params: (errh)"
+
+%feature("docstring") gr_error_handler::count_error "
+
+Params: (s)"
+
+%feature("docstring") gr_error_handler::handle_text "
+
+Params: (s, str)"
+
+%feature("docstring") gr_error_handler::make_text "
+
+Params: (s, format, )"
+
+%feature("docstring") gr_feval "base class for evaluating a function: void -> void
+
+This class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's \"director\" feature to implement the magic. It's slow. Don't use it in a performance critical path.
+
+Override eval to define the behavior. Use calleval to invoke eval (this kludge is required to allow a python specific \"shim\" to be inserted."
+
+%feature("docstring") gr_feval::eval "override this to define the function
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval::gr_feval "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval::~gr_feval "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval::calleval "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval_cc "base class for evaluating a function: complex -> complex
+
+This class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's \"director\" feature to implement the magic. It's slow. Don't use it in a performance critical path.
+
+Override eval to define the behavior. Use calleval to invoke eval (this kludge is required to allow a python specific \"shim\" to be inserted."
+
+%feature("docstring") gr_feval_cc::eval "override this to define the function
+
+Params: (x)"
+
+%feature("docstring") gr_feval_cc::gr_feval_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval_cc::~gr_feval_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval_cc::calleval "
+
+Params: (x)"
+
+%feature("docstring") gr_feval_dd "base class for evaluating a function: double -> double
+
+This class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's \"director\" feature to implement the magic. It's slow. Don't use it in a performance critical path.
+
+Override eval to define the behavior. Use calleval to invoke eval (this kludge is required to allow a python specific \"shim\" to be inserted."
+
+%feature("docstring") gr_feval_dd::eval "override this to define the function
+
+Params: (x)"
+
+%feature("docstring") gr_feval_dd::gr_feval_dd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval_dd::~gr_feval_dd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval_dd::calleval "
+
+Params: (x)"
+
+%feature("docstring") gr_feval_ll "base class for evaluating a function: long -> long
+
+This class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's \"director\" feature to implement the magic. It's slow. Don't use it in a performance critical path.
+
+Override eval to define the behavior. Use calleval to invoke eval (this kludge is required to allow a python specific \"shim\" to be inserted."
+
+%feature("docstring") gr_feval_ll::eval "override this to define the function
+
+Params: (x)"
+
+%feature("docstring") gr_feval_ll::gr_feval_ll "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval_ll::~gr_feval_ll "
+
+Params: (NONE)"
+
+%feature("docstring") gr_feval_ll::calleval "
+
+Params: (x)"
+
+
+
+%feature("docstring") gr_file_error_handler::gr_file_error_handler "
+
+Params: (file)"
+
+%feature("docstring") gr_file_error_handler::~gr_file_error_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_error_handler::handle_text "
+
+Params: (s, str)"
+
+%feature("docstring") gr_file_sink_base "Common base class for file sinks."
+
+%feature("docstring") gr_file_sink_base::gr_file_sink_base "
+
+Params: (filename, is_binary)"
+
+%feature("docstring") gr_file_sink_base::~gr_file_sink_base "
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_sink_base::open "Open filename and begin output to it.
+
+Params: (filename)"
+
+%feature("docstring") gr_file_sink_base::close "Close current output file.
+
+Closes current output file and ignores any output until open is called to connect to another file.
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_sink_base::do_update "if we've had an update, do it now.
+
+Params: (NONE)"
+
+%feature("docstring") gr_file_sink_base::set_unbuffered "turn on unbuffered writes for slower outputs
+
+Params: (unbuffered)"
+
+%feature("docstring") gr_fir_ccc "Abstract class for FIR with gr_complex input, gr_complex output and gr_complex taps
+
+This is the abstract class for a Finite Impulse Response filter.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_ccc::gr_fir_ccc "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccc::~gr_fir_ccc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccc::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_ccc::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_ccc::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_ccc::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_ccc::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccc::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccc_3dnow "3DNow! version of gr_fir_ccc"
+
+%feature("docstring") gr_fir_ccc_3dnow::gr_fir_ccc_3dnow "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gr_fir_ccc_3dnowext::gr_fir_ccc_3dnowext "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccc_generic "Concrete class for generic implementation of FIR with gr_complex input, gr_complex output and gr_complex taps.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_ccc_generic::gr_fir_ccc_generic "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccc_generic::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_ccc_generic::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_ccc_generic::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_ccc_simd "common base class for SIMD versions of gr_fir_ccc
+
+This base class handles alignment issues common to SSE and 3DNOW subclasses."
+
+%feature("docstring") gr_fir_ccc_simd::gr_fir_ccc_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccc_simd::~gr_fir_ccc_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccc_simd::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_ccc_simd::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_ccc_sse "SSE version of gr_fir_ccc."
+
+%feature("docstring") gr_fir_ccc_sse::gr_fir_ccc_sse "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf "Abstract class for FIR with gr_complex input, gr_complex output and float taps
+
+This is the abstract class for a Finite Impulse Response filter.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_ccf::gr_fir_ccf "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf::~gr_fir_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_ccf::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_ccf::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_ccf::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_ccf::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf_3dnow "3DNow! version of gr_fir_ccf"
+
+%feature("docstring") gr_fir_ccf_3dnow::gr_fir_ccf_3dnow "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf_generic "Concrete class for generic implementation of FIR with gr_complex input, gr_complex output and float taps.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_ccf_generic::gr_fir_ccf_generic "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf_generic::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_ccf_generic::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_ccf_generic::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_ccf_simd "common base class for SIMD versions of gr_fir_ccf
+
+This base class handles alignment issues common to SSE and 3DNOW subclasses."
+
+%feature("docstring") gr_fir_ccf_simd::gr_fir_ccf_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf_simd::~gr_fir_ccf_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_ccf_simd::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_ccf_simd::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_ccf_sse "SSE version of gr_fir_ccf."
+
+%feature("docstring") gr_fir_ccf_sse::gr_fir_ccf_sse "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc "Abstract class for FIR with float input, gr_complex output and gr_complex taps
+
+This is the abstract class for a Finite Impulse Response filter.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_fcc::gr_fir_fcc "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc::~gr_fir_fcc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fcc::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_fcc::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_fcc::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_fcc::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc_3dnow "3DNow! version of gr_fir_fcc"
+
+%feature("docstring") gr_fir_fcc_3dnow::gr_fir_fcc_3dnow "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc_generic "Concrete class for generic implementation of FIR with float input, gr_complex output and gr_complex taps.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_fcc_generic::gr_fir_fcc_generic "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc_generic::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fcc_generic::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_fcc_generic::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_fcc_simd "common base class for SIMD versions of gr_fir_fcc
+
+This base class handles alignment issues common to SSE and 3DNOW subclasses."
+
+%feature("docstring") gr_fir_fcc_simd::gr_fir_fcc_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc_simd::~gr_fir_fcc_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fcc_simd::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_fcc_simd::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fcc_sse "SSE version of gr_fir_fcc."
+
+%feature("docstring") gr_fir_fcc_sse::gr_fir_fcc_sse "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff "Abstract class for FIR with float input, float output and float taps
+
+This is the abstract class for a Finite Impulse Response filter.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_fff::gr_fir_fff "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff::~gr_fir_fff "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fff::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_fff::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_fff::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_fff::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_3dnow "3DNow! version of gr_fir_fff"
+
+%feature("docstring") gr_fir_fff_3dnow::gr_fir_fff_3dnow "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_altivec "altivec version of gr_fir_fff"
+
+%feature("docstring") gr_fir_fff_altivec::gr_fir_fff_altivec "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_altivec::~gr_fir_fff_altivec "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_altivec::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_fff_altivec::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fff_armv7_a "armv7_a using NEON coprocessor version of gr_fir_fff"
+
+%feature("docstring") gr_fir_fff_armv7_a::gr_fir_fff_armv7_a "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_armv7_a::~gr_fir_fff_armv7_a "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_armv7_a::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_fff_armv7_a::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fff_generic "Concrete class for generic implementation of FIR with float input, float output and float taps.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_fff_generic::gr_fir_fff_generic "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_generic::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fff_generic::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_fff_generic::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_fff_simd "common base class for SIMD versions of gr_fir_fff
+
+This base class handles alignment issues common to SSE and 3DNOW subclasses."
+
+%feature("docstring") gr_fir_fff_simd::gr_fir_fff_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_simd::~gr_fir_fff_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fff_simd::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_fff_simd::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fff_sse "SSE version of gr_fir_fff."
+
+%feature("docstring") gr_fir_fff_sse::gr_fir_fff_sse "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf "Abstract class for FIR with float input, short output and float taps
+
+This is the abstract class for a Finite Impulse Response filter.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_fsf::gr_fir_fsf "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf::~gr_fir_fsf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fsf::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_fsf::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_fsf::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_fsf::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf_3dnow "3DNow! version of gr_fir_fsf"
+
+%feature("docstring") gr_fir_fsf_3dnow::gr_fir_fsf_3dnow "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf_generic "Concrete class for generic implementation of FIR with float input, short output and float taps.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_fsf_generic::gr_fir_fsf_generic "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf_generic::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fsf_generic::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_fsf_generic::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_fsf_simd "common base class for SIMD versions of gr_fir_fsf
+
+This base class handles alignment issues common to SSE and 3DNOW subclasses."
+
+%feature("docstring") gr_fir_fsf_simd::gr_fir_fsf_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf_simd::~gr_fir_fsf_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_fsf_simd::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_fsf_simd::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_fsf_sse "SSE version of gr_fir_fsf."
+
+%feature("docstring") gr_fir_fsf_sse::gr_fir_fsf_sse "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc "Abstract class for FIR with short input, gr_complex output and gr_complex taps
+
+This is the abstract class for a Finite Impulse Response filter.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_scc::gr_fir_scc "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc::~gr_fir_scc "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_scc::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_scc::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_scc::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_scc::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc_3dnow "3DNow! version of gr_fir_scc"
+
+%feature("docstring") gr_fir_scc_3dnow::gr_fir_scc_3dnow "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc_3dnowext "3DNow! Ext version of gr_fir_scc"
+
+%feature("docstring") gr_fir_scc_3dnowext::gr_fir_scc_3dnowext "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc_generic "Concrete class for generic implementation of FIR with short input, gr_complex output and gr_complex taps.
+
+The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 's' (short), 'f' (float), 'c' (gr_complex), 'i' (int)"
+
+%feature("docstring") gr_fir_scc_generic::gr_fir_scc_generic "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc_generic::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_scc_generic::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_fir_scc_generic::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gr_fir_scc_simd "common base class for SIMD versions of gr_fir_scc
+
+This base class handles alignment issues common to SSE and 3DNOW subclasses."
+
+%feature("docstring") gr_fir_scc_simd::gr_fir_scc_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc_simd::~gr_fir_scc_simd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_scc_simd::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_scc_simd::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gr_fir_scc_sse "SSE version of gr_fir_scc."
+
+%feature("docstring") gr_fir_scc_sse::gr_fir_scc_sse "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_sysconfig "abstract base class for configuring the automatic selection of the fastest gr_fir for your platform.
+
+This is used internally by gr_fir_util."
+
+%feature("docstring") gr_fir_sysconfig::~gr_fir_sysconfig "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fir_sysconfig::create_gr_fir_ccf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig::create_gr_fir_fcc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig::create_gr_fir_ccc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig::create_gr_fir_fff "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig::create_gr_fir_scc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig::create_gr_fir_fsf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig::get_gr_fir_ccf_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig::get_gr_fir_fcc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig::get_gr_fir_ccc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig::get_gr_fir_fff_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig::get_gr_fir_scc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig::get_gr_fir_fsf_info "
+
+Params: (info)"
+
+
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::create_gr_fir_ccf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::create_gr_fir_fcc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::create_gr_fir_fff "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::create_gr_fir_fsf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::create_gr_fir_scc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::create_gr_fir_ccc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::get_gr_fir_ccf_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::get_gr_fir_fcc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::get_gr_fir_fff_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::get_gr_fir_fsf_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::get_gr_fir_scc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_armv7_a::get_gr_fir_ccc_info "
+
+Params: (info)"
+
+
+
+%feature("docstring") gr_fir_sysconfig_generic::create_gr_fir_ccf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_generic::create_gr_fir_fcc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_generic::create_gr_fir_ccc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_generic::create_gr_fir_fff "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_generic::create_gr_fir_scc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_generic::create_gr_fir_fsf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_generic::get_gr_fir_ccf_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_generic::get_gr_fir_fcc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_generic::get_gr_fir_ccc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_generic::get_gr_fir_fff_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_generic::get_gr_fir_scc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_generic::get_gr_fir_fsf_info "
+
+Params: (info)"
+
+
+
+%feature("docstring") gr_fir_sysconfig_powerpc::create_gr_fir_ccf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::create_gr_fir_fcc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::create_gr_fir_fff "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::create_gr_fir_fsf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::create_gr_fir_scc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::create_gr_fir_ccc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::get_gr_fir_ccf_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::get_gr_fir_fcc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::get_gr_fir_fff_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::get_gr_fir_fsf_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::get_gr_fir_scc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_powerpc::get_gr_fir_ccc_info "
+
+Params: (info)"
+
+
+
+%feature("docstring") gr_fir_sysconfig_x86::create_gr_fir_ccf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_x86::create_gr_fir_fcc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_x86::create_gr_fir_fff "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_x86::create_gr_fir_fsf "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_x86::create_gr_fir_scc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_x86::create_gr_fir_ccc "
+
+Params: (taps)"
+
+%feature("docstring") gr_fir_sysconfig_x86::get_gr_fir_ccf_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_x86::get_gr_fir_fcc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_x86::get_gr_fir_fff_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_x86::get_gr_fir_fsf_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_x86::get_gr_fir_scc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_fir_sysconfig_x86::get_gr_fir_ccc_info "
+
+Params: (info)"
+
+%feature("docstring") gr_firdes "Finite Impulse Response (FIR) filter design functions."
+
+%feature("docstring") gr_firdes::low_pass "use \"window method\" to design a low-pass FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, cutoff_freq, transition_width, window, beta)"
+
+%feature("docstring") gr_firdes::low_pass_2 "use \"window method\" to design a low-pass FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) width of transition band (Hz). required stopband attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuatin --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, cutoff_freq, transition_width, attenuation_dB, window, beta)"
+
+%feature("docstring") gr_firdes::high_pass "use \"window method\" to design a high-pass FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, cutoff_freq, transition_width, window, beta)"
+
+%feature("docstring") gr_firdes::high_pass_2 "use \"window method\" to design a high-pass FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) width of transition band (Hz). out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuation --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, cutoff_freq, transition_width, attenuation_dB, window, beta)"
+
+%feature("docstring") gr_firdes::band_pass "use \"window method\" to design a band-pass FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) center of transition band (Hz) width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, low_cutoff_freq, high_cutoff_freq, transition_width, window, beta)"
+
+%feature("docstring") gr_firdes::band_pass_2 "use \"window method\" to design a band-pass FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) center of transition band (Hz) width of transition band (Hz). out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuation --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, low_cutoff_freq, high_cutoff_freq, transition_width, attenuation_dB, window, beta)"
+
+%feature("docstring") gr_firdes::complex_band_pass "use \"window method\" to design a complex band-pass FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) center of transition band (Hz) width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, low_cutoff_freq, high_cutoff_freq, transition_width, window, beta)"
+
+%feature("docstring") gr_firdes::complex_band_pass_2 "use \"window method\" to design a complex band-pass FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) center of transition band (Hz) width of transition band (Hz). out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuation --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, low_cutoff_freq, high_cutoff_freq, transition_width, attenuation_dB, window, beta)"
+
+%feature("docstring") gr_firdes::band_reject "use \"window method\" to design a band-reject FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) center of transition band (Hz) width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, low_cutoff_freq, high_cutoff_freq, transition_width, window, beta)"
+
+%feature("docstring") gr_firdes::band_reject_2 "use \"window method\" to design a band-reject FIR filter
+
+overall gain of filter (typically 1.0) sampling freq (Hz) center of transition band (Hz) center of transition band (Hz) width of transition band (Hz). out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow --> more taps More attenuation --> more taps What kind of window to use. Determines maximum attenuation and passband ripple. parameter for Kaiser window
+
+Params: (gain, sampling_freq, low_cutoff_freq, high_cutoff_freq, transition_width, attenuation_dB, window, beta)"
+
+%feature("docstring") gr_firdes::hilbert "design a Hilbert Transform Filter
+
+Number of taps, must be odd What kind of window to use Only used for Kaiser
+
+Params: (ntaps, windowtype, beta)"
+
+%feature("docstring") gr_firdes::root_raised_cosine "design a Root Cosine FIR Filter (do we need a window?)
+
+overall gain of filter (typically 1.0) sampling freq (Hz) rate: symbol rate, must be a factor of sample rate excess bandwidth factor number of taps
+
+Params: (gain, sampling_freq, symbol_rate, alpha, ntaps)"
+
+%feature("docstring") gr_firdes::gaussian "design a Gaussian filter
+
+overall gain of filter (typically 1.0) per bit: symbol rate, must be a factor of sample rate number of taps
+
+Params: (gain, spb, bt, ntaps)"
+
+%feature("docstring") gr_firdes::window "
+
+Params: (type, ntaps, beta)"
+
+%feature("docstring") gr_firdes::bessi0 "
+
+Params: (x)"
+
+%feature("docstring") gr_firdes::sanity_check_1f "
+
+Params: (sampling_freq, f1, transition_width)"
+
+%feature("docstring") gr_firdes::sanity_check_2f "
+
+Params: (sampling_freq, f1, f2, transition_width)"
+
+%feature("docstring") gr_firdes::sanity_check_2f_c "
+
+Params: (sampling_freq, f1, f2, transition_width)"
+
+%feature("docstring") gr_firdes::compute_ntaps "
+
+Params: (sampling_freq, transition_width, window_type, beta)"
+
+%feature("docstring") gr_firdes::compute_ntaps_windes "
+
+Params: (sampling_freq, transition_width, attenuation_dB)"
+
+%feature("docstring") gr_fxpt "fixed point sine and cosine and friends.
+
+fixed pt radians --------- -------- -2**31 -pi 0 0 2**31-1 pi - epsilon"
+
+%feature("docstring") gr_fxpt::float_to_fixed "
+
+Params: (x)"
+
+%feature("docstring") gr_fxpt::fixed_to_float "
+
+Params: (x)"
+
+%feature("docstring") gr_fxpt::sin "Given a fixed point angle x, return float sine (x).
+
+Params: (x)"
+
+%feature("docstring") gr_fxpt::cos "
+
+Params: (x)"
+
+%feature("docstring") gr_fxpt_nco "Numerically Controlled Oscillator (NCO)."
+
+%feature("docstring") gr_fxpt_nco::gr_fxpt_nco "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fxpt_nco::~gr_fxpt_nco "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fxpt_nco::set_phase "
+
+Params: (angle)"
+
+%feature("docstring") gr_fxpt_nco::adjust_phase "
+
+Params: (delta_phase)"
+
+%feature("docstring") gr_fxpt_nco::set_freq "
+
+Params: (angle_rate)"
+
+%feature("docstring") gr_fxpt_nco::adjust_freq "
+
+Params: (delta_angle_rate)"
+
+%feature("docstring") gr_fxpt_nco::step "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fxpt_nco::get_phase "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fxpt_nco::get_freq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fxpt_nco::sincos "
+
+Params: (sinx, cosx)"
+
+%feature("docstring") gr_fxpt_nco::sin "
+
+Params: (output, noutput_items, ampl)"
+
+%feature("docstring") gr_fxpt_nco::cos "
+
+Params: (output, noutput_items, ampl)"
+
+%feature("docstring") gr_fxpt_vco "Voltage Controlled Oscillator (VCO)."
+
+%feature("docstring") gr_fxpt_vco::gr_fxpt_vco "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fxpt_vco::~gr_fxpt_vco "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fxpt_vco::set_phase "
+
+Params: (angle)"
+
+%feature("docstring") gr_fxpt_vco::adjust_phase "
+
+Params: (delta_phase)"
+
+%feature("docstring") gr_fxpt_vco::get_phase "
+
+Params: (NONE)"
+
+%feature("docstring") gr_fxpt_vco::sincos "
+
+Params: (sinx, cosx)"
+
+%feature("docstring") gr_fxpt_vco::cos "
+
+Params: (output, input, noutput_items, k, ampl)"
+
+%feature("docstring") gr_fxpt_vco::sin "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gr_hier_block2_detail::gr_hier_block2_detail "
+
+Params: (owner)"
+
+%feature("docstring") gr_hier_block2_detail::~gr_hier_block2_detail "
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2_detail::connect "
+
+Params: (block)"
+
+%feature("docstring") gr_hier_block2_detail::disconnect "
+
+Params: (block)"
+
+%feature("docstring") gr_hier_block2_detail::disconnect_all "
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2_detail::lock "
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2_detail::unlock "
+
+Params: (NONE)"
+
+%feature("docstring") gr_hier_block2_detail::flatten_aux "
+
+Params: (sfg)"
+
+%feature("docstring") gr_hier_block2_detail::connect_input "
+
+Params: (my_port, port, block)"
+
+%feature("docstring") gr_hier_block2_detail::connect_output "
+
+Params: (my_port, port, block)"
+
+%feature("docstring") gr_hier_block2_detail::disconnect_input "
+
+Params: (my_port, port, block)"
+
+%feature("docstring") gr_hier_block2_detail::disconnect_output "
+
+Params: (my_port, port, block)"
+
+%feature("docstring") gr_hier_block2_detail::resolve_port "
+
+Params: (port, is_input)"
+
+%feature("docstring") gr_hier_block2_detail::resolve_endpoint "
+
+Params: (endp, is_input)"
+
+%feature("docstring") gr_io_signature "i/o signature for input and output ports.
+
+misc"
+
+%feature("docstring") gr_io_signature::gr_io_signature "
+
+Params: (min_streams, max_streams, sizeof_stream_items)"
+
+%feature("docstring") gr_io_signature::~gr_io_signature "
+
+Params: (NONE)"
+
+%feature("docstring") gr_io_signature::min_streams "
+
+Params: (NONE)"
+
+%feature("docstring") gr_io_signature::max_streams "
+
+Params: (NONE)"
+
+%feature("docstring") gr_io_signature::sizeof_stream_item "
+
+Params: (index)"
+
+%feature("docstring") gr_io_signature::sizeof_stream_items "
+
+Params: (NONE)"
+
+%feature("docstring") gr_local_sighandler "Get and set signal handler.
+
+Constructor installs new handler, destructor reinstalls original value."
+
+%feature("docstring") gr_local_sighandler::gr_local_sighandler "
+
+Params: (signum, new_handler)"
+
+%feature("docstring") gr_local_sighandler::~gr_local_sighandler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_local_sighandler::throw_signal "
+
+Params: (signum)"
+
+%feature("docstring") gr_msg_accepter "Accepts messages and inserts them into a message queue, then notifies subclass gr_basic_block there is a message pending."
+
+%feature("docstring") gr_msg_accepter::gr_msg_accepter "
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_accepter::~gr_msg_accepter "
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_accepter::post "send to
+
+Sending a message is an asynchronous operation. The call will not wait for the message either to arrive at the destination or to be received.
+
+Params: (msg)"
+
+%feature("docstring") gr_msg_handler "abstract class of message handlers"
+
+%feature("docstring") gr_msg_handler::~gr_msg_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_handler::handle "handle
+
+Params: (msg)"
+
+%feature("docstring") gr_msg_queue "thread-safe message queue"
+
+%feature("docstring") gr_msg_queue::gr_msg_queue "
+
+Params: (limit)"
+
+%feature("docstring") gr_msg_queue::~gr_msg_queue "
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_queue::handle "Generic msg_handler method: insert the message.
+
+Params: (msg)"
+
+%feature("docstring") gr_msg_queue::insert_tail "Insert message at tail of queue.
+
+Block if queue if full.
+
+Params: (msg)"
+
+%feature("docstring") gr_msg_queue::delete_head "Delete message from head of queue and return it. Block if no message is available.
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_queue::delete_head_nowait "If there's a message in the q, delete it and return it. If no message is available, return 0.
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_queue::flush "Delete all messages from the queue.
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_queue::empty_p "is the queue empty?
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_queue::full_p "is the queue full?
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_queue::count "return number of messages in queue
+
+Params: (NONE)"
+
+%feature("docstring") gr_msg_queue::limit "return limit on number of message in queue. 0 -> unbounded
+
+Params: (NONE)"
+
+%feature("docstring") gr_nco "base class template for Numerically Controlled Oscillator (NCO)"
+
+%feature("docstring") gr_nco::gr_nco "
+
+Params: (NONE)"
+
+%feature("docstring") gr_nco::~gr_nco "
+
+Params: (NONE)"
+
+%feature("docstring") gr_nco::set_phase "
+
+Params: (angle)"
+
+%feature("docstring") gr_nco::adjust_phase "
+
+Params: (delta_phase)"
+
+%feature("docstring") gr_nco::set_freq "
+
+Params: (angle_rate)"
+
+%feature("docstring") gr_nco::adjust_freq "
+
+Params: (delta_angle_rate)"
+
+%feature("docstring") gr_nco::step "
+
+Params: (NONE)"
+
+%feature("docstring") gr_nco::get_phase "
+
+Params: (NONE)"
+
+%feature("docstring") gr_nco::get_freq "
+
+Params: (NONE)"
+
+%feature("docstring") gr_nco::sincos "
+
+Params: (sinx, cosx)"
+
+%feature("docstring") gr_nco::cos "
+
+Params: (NONE)"
+
+%feature("docstring") gr_nco::sin "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts "guts of oscilloscope trigger and buffer module
+
+This module processes sets of samples provided the method. When appropriate given the updateRate, sampleRate and trigger conditions, process_sample will periodically write output records of captured data to output_fd. For each trigger event, nchannels records will be written. Each record consists of get_samples_per_output_record binary floats. The trigger instant occurs at the 1/2 way point in the buffer. Thus, output records consist of 50% pre-trigger data and 50% post-trigger data."
+
+%feature("docstring") gr_oscope_guts::gr_oscope_guts "
+
+Params: (rhs)"
+
+%feature("docstring") gr_oscope_guts::operator= "
+
+Params: (rhs)"
+
+%feature("docstring") gr_oscope_guts::trigger_changed "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::update_rate_or_decimation_changed "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::found_trigger "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::write_output_records "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::enter_hold_off "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::enter_look_for_trigger "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::enter_post_trigger "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::~gr_oscope_guts "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::process_sample "points to nchannels float values. These are the values for each channel at this sample time.
+
+Params: (channel_data)"
+
+%feature("docstring") gr_oscope_guts::set_update_rate "
+
+Params: (update_rate)"
+
+%feature("docstring") gr_oscope_guts::set_decimation_count "
+
+Params: (decimation_count)"
+
+%feature("docstring") gr_oscope_guts::set_trigger_channel "
+
+Params: (channel)"
+
+%feature("docstring") gr_oscope_guts::set_trigger_mode "
+
+Params: (mode)"
+
+%feature("docstring") gr_oscope_guts::set_trigger_slope "
+
+Params: (slope)"
+
+%feature("docstring") gr_oscope_guts::set_trigger_level "
+
+Params: (trigger_level)"
+
+%feature("docstring") gr_oscope_guts::set_trigger_level_auto "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::set_sample_rate "
+
+Params: (sample_rate)"
+
+%feature("docstring") gr_oscope_guts::set_num_channels "
+
+Params: (nchannels)"
+
+%feature("docstring") gr_oscope_guts::num_channels "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::sample_rate "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::update_rate "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::get_decimation_count "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::get_trigger_channel "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::get_trigger_mode "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::get_trigger_slope "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::get_trigger_level "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_guts::get_samples_per_output_record "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x "Abstract class for python oscilloscope module.
+
+Don't instantiate this. Use gr_oscope_sink_f or gr_oscope_sink_c instead."
+
+%feature("docstring") gr_oscope_sink_x::gr_oscope_sink_x "
+
+Params: (name, input_sig, sampling_rate)"
+
+%feature("docstring") gr_oscope_sink_x::~gr_oscope_sink_x "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::set_update_rate "
+
+Params: (update_rate)"
+
+%feature("docstring") gr_oscope_sink_x::set_decimation_count "
+
+Params: (decimation_count)"
+
+%feature("docstring") gr_oscope_sink_x::set_trigger_channel "
+
+Params: (channel)"
+
+%feature("docstring") gr_oscope_sink_x::set_trigger_mode "
+
+Params: (mode)"
+
+%feature("docstring") gr_oscope_sink_x::set_trigger_slope "
+
+Params: (slope)"
+
+%feature("docstring") gr_oscope_sink_x::set_trigger_level "
+
+Params: (trigger_level)"
+
+%feature("docstring") gr_oscope_sink_x::set_trigger_level_auto "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::set_sample_rate "
+
+Params: (sample_rate)"
+
+%feature("docstring") gr_oscope_sink_x::set_num_channels "
+
+Params: (nchannels)"
+
+%feature("docstring") gr_oscope_sink_x::num_channels "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::sample_rate "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::update_rate "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::get_decimation_count "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::get_trigger_channel "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::get_trigger_mode "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::get_trigger_slope "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::get_trigger_level "
+
+Params: (NONE)"
+
+%feature("docstring") gr_oscope_sink_x::get_samples_per_output_record "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gr_preferences::get "
+
+Params: (key)"
+
+%feature("docstring") gr_preferences::set "
+
+Params: (key, value)"
+
+%feature("docstring") gr_prefs "Base class for representing user preferences a la windows INI files.
+
+The real implementation is in Python, and is accessable from C++ via the magic of SWIG directors."
+
+%feature("docstring") gr_prefs::singleton "
+
+Params: (NONE)"
+
+%feature("docstring") gr_prefs::set_singleton "
+
+Params: (p)"
+
+%feature("docstring") gr_prefs::~gr_prefs "
+
+Params: (NONE)"
+
+%feature("docstring") gr_prefs::has_section "Does exist?
+
+Params: (section)"
+
+%feature("docstring") gr_prefs::has_option "Does exist?
+
+Params: (section, option)"
+
+%feature("docstring") gr_prefs::get_string "If option exists return associated value; else default_val.
+
+Params: (section, option, default_val)"
+
+%feature("docstring") gr_prefs::get_bool "If option exists and value can be converted to bool, return it; else default_val.
+
+Params: (section, option, default_val)"
+
+%feature("docstring") gr_prefs::get_long "If option exists and value can be converted to long, return it; else default_val.
+
+Params: (section, option, default_val)"
+
+%feature("docstring") gr_prefs::get_double "If option exists and value can be converted to double, return it; else default_val.
+
+Params: (section, option, default_val)"
+
+%feature("docstring") gr_random "pseudo random number generator"
+
+%feature("docstring") gr_random::gr_random "
+
+Params: (seed)"
+
+%feature("docstring") gr_random::reseed "
+
+Params: (seed)"
+
+%feature("docstring") gr_random::ran1 "uniform random deviate in the range [0.0, 1.0)
+
+Params: (NONE)"
+
+%feature("docstring") gr_random::gasdev "normally distributed deviate with zero mean and variance 1
+
+Params: (NONE)"
+
+%feature("docstring") gr_random::laplacian "
+
+Params: (NONE)"
+
+%feature("docstring") gr_random::impulse "
+
+Params: (factor)"
+
+%feature("docstring") gr_random::rayleigh "
+
+Params: (NONE)"
+
+%feature("docstring") gr_random::rayleigh_complex "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gr_rotator::gr_rotator "
+
+Params: (NONE)"
+
+%feature("docstring") gr_rotator::set_phase "
+
+Params: (phase)"
+
+%feature("docstring") gr_rotator::set_phase_incr "
+
+Params: (incr)"
+
+%feature("docstring") gr_rotator::rotate "
+
+Params: (in)"
+
+%feature("docstring") gr_scheduler "Abstract scheduler that takes a flattened flow graph and runs it.
+
+Preconditions: details, buffers and buffer readers have been assigned."
+
+%feature("docstring") gr_scheduler::gr_scheduler "Construct a scheduler and begin evaluating the graph.
+
+The scheduler will continue running until all blocks until they report that they are done or the stop method is called.
+
+Params: (ffg)"
+
+%feature("docstring") gr_scheduler::~gr_scheduler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_scheduler::stop "Tell the scheduler to stop executing.
+
+Params: (NONE)"
+
+%feature("docstring") gr_scheduler::wait "Block until the graph is done.
+
+Params: (NONE)"
+
+%feature("docstring") gr_scheduler_sts "Concrete scheduler that uses the single_threaded_scheduler."
+
+%feature("docstring") gr_scheduler_sts::gr_scheduler_sts "Construct a scheduler and begin evaluating the graph.
+
+The scheduler will continue running until all blocks until they report that they are done or the stop method is called.
+
+Params: (ffg)"
+
+%feature("docstring") gr_scheduler_sts::make "
+
+Params: (ffg)"
+
+%feature("docstring") gr_scheduler_sts::~gr_scheduler_sts "
+
+Params: (NONE)"
+
+%feature("docstring") gr_scheduler_sts::stop "Tell the scheduler to stop executing.
+
+Params: (NONE)"
+
+%feature("docstring") gr_scheduler_sts::wait "Block until the graph is done.
+
+Params: (NONE)"
+
+%feature("docstring") gr_scheduler_tpb "Concrete scheduler that uses a kernel thread-per-block."
+
+%feature("docstring") gr_scheduler_tpb::gr_scheduler_tpb "Construct a scheduler and begin evaluating the graph.
+
+The scheduler will continue running until all blocks until they report that they are done or the stop method is called.
+
+Params: (ffg)"
+
+%feature("docstring") gr_scheduler_tpb::make "
+
+Params: (ffg)"
+
+%feature("docstring") gr_scheduler_tpb::~gr_scheduler_tpb "
+
+Params: (NONE)"
+
+%feature("docstring") gr_scheduler_tpb::stop "Tell the scheduler to stop executing.
+
+Params: (NONE)"
+
+%feature("docstring") gr_scheduler_tpb::wait "Block until the graph is done.
+
+Params: (NONE)"
+
+%feature("docstring") gr_select_handler "Abstract handler for select based notification."
+
+%feature("docstring") gr_select_handler::gr_select_handler "
+
+Params: (file_descriptor)"
+
+%feature("docstring") gr_select_handler::~gr_select_handler "
+
+Params: (NONE)"
+
+%feature("docstring") gr_select_handler::fd "
+
+Params: (NONE)"
+
+%feature("docstring") gr_select_handler::file_descriptor "
+
+Params: (NONE)"
+
+%feature("docstring") gr_select_handler::handle_read "Called when file_descriptor is readable.
+
+Called when the dispatcher detects that file_descriptor can be read without blocking.
+
+Params: (NONE)"
+
+%feature("docstring") gr_select_handler::handle_write "Called when file_descriptor is writable.
+
+Called when dispatcher detects that file descriptor can be written without blocking.
+
+Params: (NONE)"
+
+%feature("docstring") gr_select_handler::readable "Called each time around the dispatcher loop to determine whether this handler's file descriptor should be added to the list on which read events can occur. The default method returns true, indicating that by default, all handlers are interested in read events.
+
+Params: (NONE)"
+
+%feature("docstring") gr_select_handler::writable "Called each time around the dispatcher loop to determine whether this handler's file descriptor should be added to the list on which write events can occur. The default method returns true, indicating that by default, all handlers are interested in write events.
+
+Params: (NONE)"
+
+%feature("docstring") gr_signal "Representation of signal."
+
+%feature("docstring") gr_signal::gr_signal "
+
+Params: (signum)"
+
+%feature("docstring") gr_signal::signal "
+
+Params: (NONE)"
+
+%feature("docstring") gr_signal::name "
+
+Params: (NONE)"
+
+%feature("docstring") gr_single_pole_iir "class template for single pole IIR filter"
+
+%feature("docstring") gr_single_pole_iir::gr_single_pole_iir "construct new single pole IIR with given alpha
+
+computes y(i) = (1-alpha) * y(i-1) + alpha * x(i)
+
+Params: (alpha)"
+
+%feature("docstring") gr_single_pole_iir::filter "compute a single output value.
+
+Params: (input)"
+
+%feature("docstring") gr_single_pole_iir::filterN "compute an array of N output values. must have n valid entries.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_single_pole_iir::set_taps "install as the current taps.
+
+Params: (alpha)"
+
+%feature("docstring") gr_single_pole_iir::reset "reset state to zero
+
+Params: (NONE)"
+
+%feature("docstring") gr_single_pole_iir::prev_output "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gr_single_pole_iir< gr_complex, i_type, double >::gr_single_pole_iir "construct new single pole IIR with given alpha
+
+computes y(i) = (1-alpha) * y(i-1) + alpha * x(i)
+
+Params: (alpha)"
+
+%feature("docstring") gr_single_pole_iir< gr_complex, i_type, double >::filter "compute a single output value.
+
+Params: (input)"
+
+%feature("docstring") gr_single_pole_iir< gr_complex, i_type, double >::filterN "compute an array of N output values. must have n valid entries.
+
+Params: (output, input, n)"
+
+%feature("docstring") gr_single_pole_iir< gr_complex, i_type, double >::set_taps "install as the current taps.
+
+Params: (alpha)"
+
+%feature("docstring") gr_single_pole_iir< gr_complex, i_type, double >::reset "reset state to zero
+
+Params: (NONE)"
+
+%feature("docstring") gr_single_pole_iir< gr_complex, i_type, double >::prev_output "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gr_squelch_base_cc::update_state "
+
+Params: (sample)"
+
+%feature("docstring") gr_squelch_base_cc::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_cc::gr_squelch_base_cc "
+
+Params: (name, ramp, gate)"
+
+%feature("docstring") gr_squelch_base_cc::ramp "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_cc::set_ramp "
+
+Params: (ramp)"
+
+%feature("docstring") gr_squelch_base_cc::gate "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_cc::set_gate "
+
+Params: (gate)"
+
+%feature("docstring") gr_squelch_base_cc::unmuted "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_cc::squelch_range "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_cc::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+
+
+%feature("docstring") gr_squelch_base_ff::update_state "
+
+Params: (sample)"
+
+%feature("docstring") gr_squelch_base_ff::mute "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_ff::gr_squelch_base_ff "
+
+Params: (name, ramp, gate)"
+
+%feature("docstring") gr_squelch_base_ff::ramp "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_ff::set_ramp "
+
+Params: (ramp)"
+
+%feature("docstring") gr_squelch_base_ff::gate "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_ff::set_gate "
+
+Params: (gate)"
+
+%feature("docstring") gr_squelch_base_ff::unmuted "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_ff::squelch_range "
+
+Params: (NONE)"
+
+%feature("docstring") gr_squelch_base_ff::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_sync_block "synchronous 1:1 input to output with history
+
+Override work to provide the signal processing implementation."
+
+%feature("docstring") gr_sync_block::gr_sync_block "
+
+Params: (name, input_signature, output_signature)"
+
+%feature("docstring") gr_sync_block::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gr_sync_block::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_sync_block::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_sync_block::fixed_rate_ninput_to_noutput "Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (ninput)"
+
+%feature("docstring") gr_sync_block::fixed_rate_noutput_to_ninput "Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (noutput)"
+
+%feature("docstring") gr_sync_decimator "synchronous N:1 input to output with history
+
+Override work to provide the signal processing implementation."
+
+%feature("docstring") gr_sync_decimator::gr_sync_decimator "
+
+Params: (name, input_signature, output_signature, decimation)"
+
+%feature("docstring") gr_sync_decimator::decimation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sync_decimator::set_decimation "
+
+Params: (decimation)"
+
+%feature("docstring") gr_sync_decimator::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_sync_decimator::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_sync_decimator::fixed_rate_ninput_to_noutput "Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (ninput)"
+
+%feature("docstring") gr_sync_decimator::fixed_rate_noutput_to_ninput "Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (noutput)"
+
+%feature("docstring") gr_sync_interpolator "synchronous 1:N input to output with history
+
+Override work to provide the signal processing implementation."
+
+%feature("docstring") gr_sync_interpolator::gr_sync_interpolator "
+
+Params: (name, input_signature, output_signature, interpolation)"
+
+%feature("docstring") gr_sync_interpolator::interpolation "
+
+Params: (NONE)"
+
+%feature("docstring") gr_sync_interpolator::set_interpolation "
+
+Params: (interpolation)"
+
+%feature("docstring") gr_sync_interpolator::forecast "Estimate input requirements given output request.
+
+Given a request to product , estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
+
+Params: (noutput_items, ninput_items_required)"
+
+%feature("docstring") gr_sync_interpolator::general_work "compute output items from input items
+
+general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
+
+Params: (noutput_items, ninput_items, input_items, output_items)"
+
+%feature("docstring") gr_sync_interpolator::fixed_rate_ninput_to_noutput "Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (ninput)"
+
+%feature("docstring") gr_sync_interpolator::fixed_rate_noutput_to_ninput "Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
+
+Params: (noutput)"
+
+%feature("docstring") gr_top_block_impl "Abstract implementation details of gr_top_block
+
+The actual implementation of gr_top_block. Separate class allows decoupling of changes from dependent classes."
+
+%feature("docstring") gr_top_block_impl::gr_top_block_impl "
+
+Params: (owner)"
+
+%feature("docstring") gr_top_block_impl::~gr_top_block_impl "
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block_impl::start "
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block_impl::stop "
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block_impl::wait "
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block_impl::lock "
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block_impl::unlock "
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block_impl::dump "
+
+Params: (NONE)"
+
+%feature("docstring") gr_top_block_impl::restart "
+
+Params: (NONE)"
+
+%feature("docstring") gr_tpb_thread_body "The body of each thread-per-block thread.
+
+One of these is instantiated in its own thread for each block. The constructor turns into the main loop which returns when the block is done or is interrupted."
+
+%feature("docstring") gr_tpb_thread_body::gr_tpb_thread_body "
+
+Params: (block)"
+
+%feature("docstring") gr_tpb_thread_body::~gr_tpb_thread_body "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vco "base class template for Voltage Controlled Oscillator (VCO)"
+
+%feature("docstring") gr_vco::gr_vco "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vco::~gr_vco "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vco::set_phase "
+
+Params: (angle)"
+
+%feature("docstring") gr_vco::adjust_phase "
+
+Params: (delta_phase)"
+
+%feature("docstring") gr_vco::get_phase "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vco::sincos "
+
+Params: (sinx, cosx)"
+
+%feature("docstring") gr_vco::cos "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vco::sin "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf "abstract class to implement doubly mapped virtual memory circular buffers"
+
+%feature("docstring") gr_vmcircbuf::gr_vmcircbuf "
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf::~gr_vmcircbuf "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf::pointer_to_first_copy "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf::pointer_to_second_copy "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_createfilemapping "concrete class to implement circular buffers with mmap and shm_open"
+
+%feature("docstring") gr_vmcircbuf_createfilemapping::gr_vmcircbuf_createfilemapping "
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf_createfilemapping::~gr_vmcircbuf_createfilemapping "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_createfilemapping_factory "concrete factory for circular buffers built using mmap and shm_open"
+
+%feature("docstring") gr_vmcircbuf_createfilemapping_factory::singleton "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_createfilemapping_factory::name "return name of this factory
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_createfilemapping_factory::granularity "return granularity of mapping, typically equal to page size
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_createfilemapping_factory::make "return a gr_vmcircbuf, or 0 if unable.
+
+Call this to create a doubly mapped circular buffer.
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf_factory "abstract factory for creating circular buffers"
+
+%feature("docstring") gr_vmcircbuf_factory::gr_vmcircbuf_factory "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_factory::~gr_vmcircbuf_factory "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_factory::name "return name of this factory
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_factory::granularity "return granularity of mapping, typically equal to page size
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_factory::make "return a gr_vmcircbuf, or 0 if unable.
+
+Call this to create a doubly mapped circular buffer.
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf_mmap_shm_open "concrete class to implement circular buffers with mmap and shm_open"
+
+%feature("docstring") gr_vmcircbuf_mmap_shm_open::gr_vmcircbuf_mmap_shm_open "
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf_mmap_shm_open::~gr_vmcircbuf_mmap_shm_open "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_mmap_shm_open_factory "concrete factory for circular buffers built using mmap and shm_open"
+
+%feature("docstring") gr_vmcircbuf_mmap_shm_open_factory::singleton "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_mmap_shm_open_factory::name "return name of this factory
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_mmap_shm_open_factory::granularity "return granularity of mapping, typically equal to page size
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_mmap_shm_open_factory::make "return a gr_vmcircbuf, or 0 if unable.
+
+Call this to create a doubly mapped circular buffer.
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf_mmap_tmpfile "concrete class to implement circular buffers with mmap and shm_open"
+
+%feature("docstring") gr_vmcircbuf_mmap_tmpfile::gr_vmcircbuf_mmap_tmpfile "
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf_mmap_tmpfile::~gr_vmcircbuf_mmap_tmpfile "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_mmap_tmpfile_factory "concrete factory for circular buffers built using mmap and shm_open"
+
+%feature("docstring") gr_vmcircbuf_mmap_tmpfile_factory::singleton "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_mmap_tmpfile_factory::name "return name of this factory
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_mmap_tmpfile_factory::granularity "return granularity of mapping, typically equal to page size
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_mmap_tmpfile_factory::make "return a gr_vmcircbuf, or 0 if unable.
+
+Call this to create a doubly mapped circular buffer.
+
+Params: (size)"
+
+
+
+%feature("docstring") gr_vmcircbuf_sysconfig::get_default_factory "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_sysconfig::granularity "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_sysconfig::make "
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf_sysconfig::all_factories "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_sysconfig::set_default_factory "
+
+Params: (f)"
+
+%feature("docstring") gr_vmcircbuf_sysconfig::test_factory "Does this factory really work?
+
+verbose = 0: silent verbose = 1: names of factories tested and results verbose = 2: all intermediate results
+
+Params: (f, verbose)"
+
+%feature("docstring") gr_vmcircbuf_sysconfig::test_all_factories "Test all factories, return true if at least one of them works verbose = 0: silent verbose = 1: names of factories tested and results verbose = 2: all intermediate results.
+
+Params: (verbose)"
+
+%feature("docstring") gr_vmcircbuf_sysv_shm "concrete class to implement circular buffers with mmap and shm_open"
+
+%feature("docstring") gr_vmcircbuf_sysv_shm::gr_vmcircbuf_sysv_shm "
+
+Params: (size)"
+
+%feature("docstring") gr_vmcircbuf_sysv_shm::~gr_vmcircbuf_sysv_shm "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_sysv_shm_factory "concrete factory for circular buffers built using mmap and shm_open"
+
+%feature("docstring") gr_vmcircbuf_sysv_shm_factory::singleton "
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_sysv_shm_factory::name "return name of this factory
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_sysv_shm_factory::granularity "return granularity of mapping, typically equal to page size
+
+Params: (NONE)"
+
+%feature("docstring") gr_vmcircbuf_sysv_shm_factory::make "return a gr_vmcircbuf, or 0 if unable.
+
+Call this to create a doubly mapped circular buffer.
+
+Params: (size)"
+
+%feature("docstring") gri_agc2_cc "high performance Automatic Gain Control class
+
+For Power the absolute value of the complex number is used."
+
+%feature("docstring") gri_agc2_cc::gri_agc2_cc "
+
+Params: (attack_rate, decay_rate, reference, gain, max_gain)"
+
+%feature("docstring") gri_agc2_cc::decay_rate "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_cc::attack_rate "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_cc::reference "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_cc::gain "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_cc::max_gain "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_cc::set_decay_rate "
+
+Params: (rate)"
+
+%feature("docstring") gri_agc2_cc::set_attack_rate "
+
+Params: (rate)"
+
+%feature("docstring") gri_agc2_cc::set_reference "
+
+Params: (reference)"
+
+%feature("docstring") gri_agc2_cc::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") gri_agc2_cc::set_max_gain "
+
+Params: (max_gain)"
+
+%feature("docstring") gri_agc2_cc::scale "
+
+Params: (input)"
+
+%feature("docstring") gri_agc2_cc::scaleN "
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_agc2_ff "high performance Automatic Gain Control class with attack and decay rate
+
+Power is approximated by absolute value"
+
+%feature("docstring") gri_agc2_ff::gri_agc2_ff "
+
+Params: (attack_rate, decay_rate, reference, gain, max_gain)"
+
+%feature("docstring") gri_agc2_ff::attack_rate "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_ff::decay_rate "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_ff::reference "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_ff::gain "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_ff::max_gain "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc2_ff::set_attack_rate "
+
+Params: (rate)"
+
+%feature("docstring") gri_agc2_ff::set_decay_rate "
+
+Params: (rate)"
+
+%feature("docstring") gri_agc2_ff::set_reference "
+
+Params: (reference)"
+
+%feature("docstring") gri_agc2_ff::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") gri_agc2_ff::set_max_gain "
+
+Params: (max_gain)"
+
+%feature("docstring") gri_agc2_ff::scale "
+
+Params: (input)"
+
+%feature("docstring") gri_agc2_ff::scaleN "
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_agc_cc "high performance Automatic Gain Control class
+
+For Power the absolute value of the complex number is used."
+
+%feature("docstring") gri_agc_cc::gri_agc_cc "
+
+Params: (rate, reference, gain, max_gain)"
+
+%feature("docstring") gri_agc_cc::rate "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc_cc::reference "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc_cc::gain "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc_cc::max_gain "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc_cc::set_rate "
+
+Params: (rate)"
+
+%feature("docstring") gri_agc_cc::set_reference "
+
+Params: (reference)"
+
+%feature("docstring") gri_agc_cc::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") gri_agc_cc::set_max_gain "
+
+Params: (max_gain)"
+
+%feature("docstring") gri_agc_cc::scale "
+
+Params: (input)"
+
+%feature("docstring") gri_agc_cc::scaleN "
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_agc_ff "high performance Automatic Gain Control class
+
+Power is approximated by absolute value"
+
+%feature("docstring") gri_agc_ff::gri_agc_ff "
+
+Params: (rate, reference, gain, max_gain)"
+
+%feature("docstring") gri_agc_ff::rate "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc_ff::reference "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc_ff::gain "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc_ff::max_gain "
+
+Params: (NONE)"
+
+%feature("docstring") gri_agc_ff::set_rate "
+
+Params: (rate)"
+
+%feature("docstring") gri_agc_ff::set_reference "
+
+Params: (reference)"
+
+%feature("docstring") gri_agc_ff::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") gri_agc_ff::set_max_gain "
+
+Params: (max_gain)"
+
+%feature("docstring") gri_agc_ff::scale "
+
+Params: (input)"
+
+%feature("docstring") gri_agc_ff::scaleN "
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_fft_complex "FFT: complex in, complex out."
+
+%feature("docstring") gri_fft_complex::gri_fft_complex "
+
+Params: (fft_size, forward)"
+
+%feature("docstring") gri_fft_complex::~gri_fft_complex "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_complex::get_inbuf "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_complex::get_outbuf "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_complex::inbuf_length "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_complex::outbuf_length "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_complex::execute "compute FFT. The input comes from inbuf, the output is placed in outbuf.
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_ccc_generic "Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gri_fft_filter_ccc_generic::compute_sizes "
+
+Params: (ntaps)"
+
+%feature("docstring") gri_fft_filter_ccc_generic::tailsize "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_ccc_generic::gri_fft_filter_ccc_generic "Construct an FFT filter for complex vectors with the given taps and decimation rate.
+
+This is the basic implementation for performing FFT filter for fast convolution in other blocks for complex vectors (such as gr_fft_filter_ccc).
+
+Params: (decimation, taps)"
+
+%feature("docstring") gri_fft_filter_ccc_generic::~gri_fft_filter_ccc_generic "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_ccc_generic::set_taps "Set new taps for the filter.
+
+Sets new taps and resets the class properties to handle different sizes
+
+Params: (taps)"
+
+%feature("docstring") gri_fft_filter_ccc_generic::filter "Perform the filter operation.
+
+Params: (nitems, input, output)"
+
+%feature("docstring") gri_fft_filter_ccc_sse "Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gri_fft_filter_ccc_sse::compute_sizes "
+
+Params: (ntaps)"
+
+%feature("docstring") gri_fft_filter_ccc_sse::tailsize "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_ccc_sse::gri_fft_filter_ccc_sse "Construct an FFT filter for complex vectors with the given taps and decimation rate.
+
+This is the basic implementation for performing FFT filter for fast convolution in other blocks for complex vectors (such as gr_fft_filter_ccc).
+
+Params: (decimation, taps)"
+
+%feature("docstring") gri_fft_filter_ccc_sse::~gri_fft_filter_ccc_sse "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_ccc_sse::set_taps "Set new taps for the filter.
+
+Sets new taps and resets the class properties to handle different sizes
+
+Params: (taps)"
+
+%feature("docstring") gri_fft_filter_ccc_sse::filter "Perform the filter operation.
+
+Params: (nitems, input, output)"
+
+
+
+%feature("docstring") gri_fft_filter_fff_generic::compute_sizes "
+
+Params: (ntaps)"
+
+%feature("docstring") gri_fft_filter_fff_generic::tailsize "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_fff_generic::gri_fft_filter_fff_generic "Construct a FFT filter for float vectors with the given taps and decimation rate.
+
+This is the basic implementation for performing FFT filter for fast convolution in other blocks for floating point vectors (such as gr_fft_filter_fff).
+
+Params: (decimation, taps)"
+
+%feature("docstring") gri_fft_filter_fff_generic::~gri_fft_filter_fff_generic "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_fff_generic::set_taps "Set new taps for the filter.
+
+Sets new taps and resets the class properties to handle different sizes
+
+Params: (taps)"
+
+%feature("docstring") gri_fft_filter_fff_generic::filter "Perform the filter operation.
+
+Params: (nitems, input, output)"
+
+
+
+%feature("docstring") gri_fft_filter_fff_sse::compute_sizes "
+
+Params: (ntaps)"
+
+%feature("docstring") gri_fft_filter_fff_sse::tailsize "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_fff_sse::gri_fft_filter_fff_sse "Construct a FFT filter for float vectors with the given taps and decimation rate.
+
+This is the basic implementation for performing FFT filter for fast convolution in other blocks for floating point vectors (such as gr_fft_filter_fff).
+
+Params: (decimation, taps)"
+
+%feature("docstring") gri_fft_filter_fff_sse::~gri_fft_filter_fff_sse "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_filter_fff_sse::set_taps "Set new taps for the filter.
+
+Sets new taps and resets the class properties to handle different sizes
+
+Params: (taps)"
+
+%feature("docstring") gri_fft_filter_fff_sse::filter "Perform the filter operation.
+
+Params: (nitems, input, output)"
+
+%feature("docstring") gri_fft_planner "Export reference to planner mutex for those apps that want to use FFTW w/o using the gri_fftw* classes."
+
+%feature("docstring") gri_fft_planner::mutex "Return reference to planner mutex
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_fwd "FFT: real in, complex out."
+
+%feature("docstring") gri_fft_real_fwd::gri_fft_real_fwd "
+
+Params: (fft_size)"
+
+%feature("docstring") gri_fft_real_fwd::~gri_fft_real_fwd "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_fwd::get_inbuf "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_fwd::get_outbuf "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_fwd::inbuf_length "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_fwd::outbuf_length "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_fwd::execute "compute FFT. The input comes from inbuf, the output is placed in outbuf.
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_rev "FFT: complex in, float out."
+
+%feature("docstring") gri_fft_real_rev::gri_fft_real_rev "
+
+Params: (fft_size)"
+
+%feature("docstring") gri_fft_real_rev::~gri_fft_real_rev "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_rev::get_inbuf "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_rev::get_outbuf "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_rev::inbuf_length "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_rev::outbuf_length "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fft_real_rev::execute "compute FFT. The input comes from inbuf, the output is placed in outbuf.
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc "FIR with internal buffer for gr_complex input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc::gri_fir_filter_with_buffer_ccc "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc::~gri_fir_filter_with_buffer_ccc "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccc::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf "FIR with internal buffer for gr_complex input, gr_complex output and float taps."
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf::gri_fir_filter_with_buffer_ccf "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf::~gri_fir_filter_with_buffer_ccf "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_ccf::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc "FIR with internal buffer for float input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc::gri_fir_filter_with_buffer_fcc "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc::~gri_fir_filter_with_buffer_fcc "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fcc::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fff "FIR with internal buffer for float input, float output and float taps."
+
+%feature("docstring") gri_fir_filter_with_buffer_fff::gri_fir_filter_with_buffer_fff "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fff::~gri_fir_filter_with_buffer_fff "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fff::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fff::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fff::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fff::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fff::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fff::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf "FIR with internal buffer for float input, short output and float taps."
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf::gri_fir_filter_with_buffer_fsf "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf::~gri_fir_filter_with_buffer_fsf "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_fsf::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_scc "FIR with internal buffer for short input, gr_complex output and gr_complex taps."
+
+%feature("docstring") gri_fir_filter_with_buffer_scc::gri_fir_filter_with_buffer_scc "construct new FIR with given taps.
+
+Note that taps must be in forward order, e.g., coefficient 0 is stored in new_taps[0], coefficient 1 is stored in new_taps[1], etc.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_scc::~gri_fir_filter_with_buffer_scc "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_scc::filter "compute a single output value.
+
+must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+Params: (input)"
+
+%feature("docstring") gri_fir_filter_with_buffer_scc::filterN "compute an array of N output values.
+
+must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_fir_filter_with_buffer_scc::filterNdec "compute an array of N output values, decimating the input
+
+must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.
+
+Params: (output, input, n, decimate)"
+
+%feature("docstring") gri_fir_filter_with_buffer_scc::set_taps "install as the current taps.
+
+Params: (taps)"
+
+%feature("docstring") gri_fir_filter_with_buffer_scc::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_fir_filter_with_buffer_scc::get_taps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_glfsr "Galois Linear Feedback Shift Register using specified polynomial mask
+
+Generates a maximal length pseudo-random sequence of length 2^degree-1."
+
+%feature("docstring") gri_glfsr::gri_glfsr "
+
+Params: (mask, seed)"
+
+%feature("docstring") gri_glfsr::next_bit "
+
+Params: (NONE)"
+
+%feature("docstring") gri_glfsr::mask "
+
+Params: (NONE)"
+
+%feature("docstring") gri_glfsr::glfsr_mask "
+
+Params: (degree)"
+
+%feature("docstring") gri_goertzel "Implements Goertzel single-bin DFT calculation."
+
+%feature("docstring") gri_goertzel::gri_goertzel "
+
+Params: (NONE)"
+
+%feature("docstring") gri_goertzel::batch "
+
+Params: (in)"
+
+%feature("docstring") gri_goertzel::input "
+
+Params: (in)"
+
+%feature("docstring") gri_goertzel::output "
+
+Params: (NONE)"
+
+%feature("docstring") gri_goertzel::ready "
+
+Params: (NONE)"
+
+%feature("docstring") gri_iir "base class template for Infinite Impulse Response filter (IIR)"
+
+%feature("docstring") gri_iir::gri_iir "Construct an IIR with the given taps.
+
+This filter uses the Direct Form I implementation, where contains the feed-forward taps, and the feedback ones.
+
+ and must have equal numbers of taps
+
+The input and output satisfy a difference equation of the form
+
+
+
+with the corresponding rational system function
+
+
+
+Note that some texts define the system function with a + in the denominator. If you're using that convention, you'll need to negate the feedback taps.
+
+Params: (fftaps, fbtaps)"
+
+%feature("docstring") gri_iir::~gri_iir "
+
+Params: (NONE)"
+
+%feature("docstring") gri_iir::filter "compute a single output value.
+
+Params: (input)"
+
+%feature("docstring") gri_iir::filter_n "compute an array of N output values. must have N valid entries.
+
+Params: (output, input, n)"
+
+%feature("docstring") gri_iir::ntaps_ff "
+
+Params: (NONE)"
+
+%feature("docstring") gri_iir::ntaps_fb "
+
+Params: (NONE)"
+
+%feature("docstring") gri_iir::set_taps "install new taps.
+
+Params: (fftaps, fbtaps)"
+
+%feature("docstring") gri_lfsr "Fibonacci Linear Feedback Shift Register using specified polynomial mask
+
+Generates a maximal length pseudo-random sequence of length 2^degree-1.
+
+Constructor: gri_lfsr(int mask, int seed, int reg_len);
+
+mask - polynomial coefficients representing the locations of feedback taps from a shift register which are xor'ed together to form the new high order bit.
+
+Some common masks might be: x^4 + x^3 + x^0 = 0x19 x^5 + x^3 + x^0 = 0x29 x^6 + x^5 + x^0 = 0x61
+
+seed - the initialization vector placed into the register durring initialization. Low order bit corresponds to x^0 coefficient -- the first to be shifted as output.
+
+reg_len - specifies the length of the feedback shift register to be used. Durring each iteration, the register is rightshifted one and the new bit is placed in bit reg_len. reg_len should generally be at least order(mask) + 1
+
+see for more explanation.
+
+next_bit() - Standard LFSR operation
+
+Perform one cycle of the LFSR. The output bit is taken from the shift register LSB. The shift register MSB is assigned from the modulo 2 sum of the masked shift register.
+
+next_bit_scramble(unsigned char input) - Scramble an input stream
+
+Perform one cycle of the LFSR. The output bit is taken from the shift register LSB. The shift register MSB is assigned from the modulo 2 sum of the masked shift register and the input LSB.
+
+next_bit_descramble(unsigned char input) - Descramble an input stream
+
+Perform one cycle of the LFSR. The output bit is taken from the modulo 2 sum of the masked shift register and the input LSB. The shift register MSB is assigned from the LSB of the input.
+
+See for operation of these last two functions (see multiplicative scrambler.)"
+
+%feature("docstring") gri_lfsr::popCount "
+
+Params: (x)"
+
+%feature("docstring") gri_lfsr::gri_lfsr "
+
+Params: (mask, seed, reg_len)"
+
+%feature("docstring") gri_lfsr::next_bit "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr::next_bit_scramble "
+
+Params: (input)"
+
+%feature("docstring") gri_lfsr::next_bit_descramble "
+
+Params: (input)"
+
+%feature("docstring") gri_lfsr::reset "Reset shift register to initial seed value
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr::pre_shift "Rotate the register through x number of bits where we are just throwing away the results to get queued up correctly
+
+Params: (num)"
+
+%feature("docstring") gri_lfsr::mask "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_15_1_0 "Linear Feedback Shift Register using primitive polynomial x^15 + x + 1
+
+Generates a maximal length pseudo-random sequence of length 2^15 - 1 bits."
+
+%feature("docstring") gri_lfsr_15_1_0::gri_lfsr_15_1_0 "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_15_1_0::reset "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_15_1_0::next_bit "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_15_1_0::next_byte "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_32k "generate pseudo-random sequence of length 32768 bits.
+
+This is based on gri_lfsr_15_1_0 with an extra 0 added at the end of the sequence."
+
+%feature("docstring") gri_lfsr_32k::gri_lfsr_32k "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_32k::reset "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_32k::next_bit "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_32k::next_byte "
+
+Params: (NONE)"
+
+%feature("docstring") gri_lfsr_32k::next_short "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator "Compute intermediate samples between signal samples x(k*Ts)
+
+This implements a Mininum Mean Squared Error interpolator with 8 taps. It is suitable for signals where the bandwidth of interest B = 1/(4*Ts) Where Ts is the time between samples.
+
+Although mu, the fractional delay, is specified as a float, it is actually quantized. 0.0 <= mu <= 1.0. That is, mu is quantized in the interpolate method to 32nd's of a sample."
+
+%feature("docstring") gri_mmse_fir_interpolator::gri_mmse_fir_interpolator "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator::~gri_mmse_fir_interpolator "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator::nsteps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator::interpolate "compute a single interpolated output value. must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+
+must be in the range [0, 1] and specifies the fractional delay.
+
+Params: (input, mu)"
+
+%feature("docstring") gri_mmse_fir_interpolator_cc "Compute intermediate samples between signal samples x(k*Ts)
+
+This implements a Mininum Mean Squared Error interpolator with 8 taps. It is suitable for signals where the bandwidth of interest B = 1/(4*Ts) Where Ts is the time between samples.
+
+Although mu, the fractional delay, is specified as a float, it is actually quantized. 0.0 <= mu <= 1.0. That is, mu is quantized in the interpolate method to 32nd's of a sample."
+
+%feature("docstring") gri_mmse_fir_interpolator_cc::gri_mmse_fir_interpolator_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator_cc::~gri_mmse_fir_interpolator_cc "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator_cc::ntaps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator_cc::nsteps "
+
+Params: (NONE)"
+
+%feature("docstring") gri_mmse_fir_interpolator_cc::interpolate "compute a single interpolated output value.
+
+must have ntaps() valid entries and be 8-byte aligned. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
+ must be in the range [0, 1] and specifies the fractional delay.
+
+Params: (input, mu)"
+
+%feature("docstring") gsm_fr_decode_ps "GSM 06.10 Full Rate Vocoder Decoder."
+
+%feature("docstring") gsm_fr_decode_ps::gsm_fr_decode_ps "
+
+Params: (NONE)"
+
+%feature("docstring") gsm_fr_decode_ps::~gsm_fr_decode_ps "
+
+Params: (NONE)"
+
+%feature("docstring") gsm_fr_decode_ps::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") gsm_fr_encode_sp "GSM 06.10 Full Rate Vocoder Encoder
+
+shorts in; 33 byte packets out."
+
+%feature("docstring") gsm_fr_encode_sp::gsm_fr_encode_sp "
+
+Params: (NONE)"
+
+%feature("docstring") gsm_fr_encode_sp::~gsm_fr_encode_sp "
+
+Params: (NONE)"
+
+%feature("docstring") gsm_fr_encode_sp::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") i2c "abstract class for controlling i2c bus"
+
+%feature("docstring") i2c::i2c "
+
+Params: (NONE)"
+
+%feature("docstring") i2c::~i2c "
+
+Params: (NONE)"
+
+%feature("docstring") i2c::write "
+
+Params: (addr, buf, nbytes)"
+
+%feature("docstring") i2c::read "
+
+Params: (addr, buf, max_bytes)"
+
+%feature("docstring") i2c_bbio "abstract class that implements bit banging i/o for i2c bus."
+
+%feature("docstring") i2c_bbio::i2c_bbio "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bbio::~i2c_bbio "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bbio::set_scl "
+
+Params: (state)"
+
+%feature("docstring") i2c_bbio::set_sda "
+
+Params: (state)"
+
+%feature("docstring") i2c_bbio::get_sda "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bbio::lock "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bbio::unlock "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bbio_pp "concrete class that bit bangs eval board i2c bus using parallel port
+
+This class talks to the i2c bus on the microtune eval board using the parallel port. This works for both the 4937 and 4702 boards."
+
+%feature("docstring") i2c_bbio_pp::i2c_bbio_pp "
+
+Params: (pp)"
+
+%feature("docstring") i2c_bbio_pp::set_scl "
+
+Params: (state)"
+
+%feature("docstring") i2c_bbio_pp::set_sda "
+
+Params: (state)"
+
+%feature("docstring") i2c_bbio_pp::get_sda "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bbio_pp::lock "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bbio_pp::unlock "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bitbang "class for controlling i2c bus"
+
+%feature("docstring") i2c_bitbang::i2c_bitbang "
+
+Params: (io)"
+
+%feature("docstring") i2c_bitbang::start "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bitbang::stop "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bitbang::write_bit "
+
+Params: (bit)"
+
+%feature("docstring") i2c_bitbang::write_byte "
+
+Params: (byte)"
+
+%feature("docstring") i2c_bitbang::set_sda "
+
+Params: (bit)"
+
+%feature("docstring") i2c_bitbang::set_scl "
+
+Params: (bit)"
+
+%feature("docstring") i2c_bitbang::get_sda "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bitbang::~i2c_bitbang "
+
+Params: (NONE)"
+
+%feature("docstring") i2c_bitbang::write "
+
+Params: (addr, buf, nbytes)"
+
+%feature("docstring") i2c_bitbang::read "
+
+Params: (addr, buf, max_bytes)"
+
+%feature("docstring") std::ifstream "STL class."
+
+
+
+%feature("docstring") usrp2::usrp2::impl::inc_enqueued "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::dec_enqueued "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::init_et_hdrs "
+
+Params: (p, dst)"
+
+%feature("docstring") usrp2::usrp2::impl::init_etf_hdrs "
+
+Params: (p, dst, word0_flags, chan, timestamp)"
+
+%feature("docstring") usrp2::usrp2::impl::start_bg "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::stop_bg "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::init_config_rx_v2_cmd "
+
+Params: (cmd)"
+
+%feature("docstring") usrp2::usrp2::impl::init_config_tx_v2_cmd "
+
+Params: (cmd)"
+
+%feature("docstring") usrp2::usrp2::impl::transmit_cmd_and_wait "
+
+Params: (cmd, len, p, secs)"
+
+%feature("docstring") usrp2::usrp2::impl::transmit_cmd "
+
+Params: (cmd, len)"
+
+%feature("docstring") usrp2::usrp2::impl::operator() "
+
+Params: (base, len)"
+
+%feature("docstring") usrp2::usrp2::impl::handle_control_packet "
+
+Params: (base, len)"
+
+%feature("docstring") usrp2::usrp2::impl::handle_data_packet "
+
+Params: (base, len)"
+
+%feature("docstring") usrp2::usrp2::impl::dboard_info "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::reset_db "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::impl "
+
+Params: (ifc, p, rx_bufsize)"
+
+%feature("docstring") usrp2::usrp2::impl::~impl "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::mac_addr "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::interface_name "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::set_rx_antenna "
+
+Params: (ant)"
+
+%feature("docstring") usrp2::usrp2::impl::set_rx_gain "
+
+Params: (gain)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::set_rx_lo_offset "
+
+Params: (frequency)"
+
+%feature("docstring") usrp2::usrp2::impl::set_rx_center_freq "
+
+Params: (frequency, result)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::set_rx_decim "
+
+Params: (decimation_factor)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_decim "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::set_rx_scale_iq "
+
+Params: (scale_i, scale_q)"
+
+%feature("docstring") usrp2::usrp2::impl::set_gpio_ddr "
+
+Params: (bank, value, mask)"
+
+%feature("docstring") usrp2::usrp2::impl::set_gpio_sels "
+
+Params: (bank, src)"
+
+%feature("docstring") usrp2::usrp2::impl::enable_gpio_streaming "
+
+Params: (bank, enable)"
+
+%feature("docstring") usrp2::usrp2::impl::write_gpio "
+
+Params: (bank, value, mask)"
+
+%feature("docstring") usrp2::usrp2::impl::read_gpio "
+
+Params: (bank, value)"
+
+%feature("docstring") usrp2::usrp2::impl::start_rx_streaming "
+
+Params: (channel, items_per_frame)"
+
+%feature("docstring") usrp2::usrp2::impl::start_rx_streaming_at "
+
+Params: (channel, items_per_frame, time)"
+
+%feature("docstring") usrp2::usrp2::impl::sync_and_start_rx_streaming_at "
+
+Params: (channel, items_per_frame, time)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_samples "
+
+Params: (channel, handler)"
+
+%feature("docstring") usrp2::usrp2::impl::flush_rx_samples "
+
+Params: (channel)"
+
+%feature("docstring") usrp2::usrp2::impl::stop_rx_streaming "
+
+Params: (channel)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_overruns "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_missing "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::set_tx_antenna "
+
+Params: (ant)"
+
+%feature("docstring") usrp2::usrp2::impl::set_tx_gain "
+
+Params: (gain)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::set_tx_lo_offset "
+
+Params: (frequency)"
+
+%feature("docstring") usrp2::usrp2::impl::set_tx_center_freq "
+
+Params: (frequency, result)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::set_tx_interp "
+
+Params: (interpolation_factor)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_interp "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::default_tx_scale_iq "
+
+Params: (interpolation_factor, scale_i, scale_q)"
+
+%feature("docstring") usrp2::usrp2::impl::set_tx_scale_iq "
+
+Params: (scale_i, scale_q)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_32fc "
+
+Params: (channel, samples, nsamples, metadata)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_16sc "
+
+Params: (channel, samples, nsamples, metadata)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_raw "
+
+Params: (channel, items, nitems, metadata)"
+
+%feature("docstring") usrp2::usrp2::impl::config_mimo "
+
+Params: (flags)"
+
+%feature("docstring") usrp2::usrp2::impl::fpga_master_clock_freq "
+
+Params: (freq)"
+
+%feature("docstring") usrp2::usrp2::impl::adc_rate "
+
+Params: (rate)"
+
+%feature("docstring") usrp2::usrp2::impl::dac_rate "
+
+Params: (rate)"
+
+%feature("docstring") usrp2::usrp2::impl::tx_daughterboard_id "
+
+Params: (dbid)"
+
+%feature("docstring") usrp2::usrp2::impl::rx_daughterboard_id "
+
+Params: (dbid)"
+
+%feature("docstring") usrp2::usrp2::impl::burn_mac_addr "
+
+Params: (new_addr)"
+
+%feature("docstring") usrp2::usrp2::impl::sync_to_pps "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::impl::sync_every_pps "
+
+Params: (enable)"
+
+%feature("docstring") usrp2::usrp2::impl::peek32 "
+
+Params: (addr, words)"
+
+%feature("docstring") usrp2::usrp2::impl::poke32 "
+
+Params: (addr, data)"
+
+%feature("docstring") usrp2::usrp2::impl::bg_loop "
+
+Params: (NONE)"
+
+%feature("docstring") interleaver "INTERLEAVER class."
+
+%feature("docstring") interleaver::interleaver "
+
+Params: (NONE)"
+
+%feature("docstring") interleaver::K "
+
+Params: (NONE)"
+
+%feature("docstring") interleaver::INTER "
+
+Params: (NONE)"
+
+%feature("docstring") interleaver::DEINTER "
+
+Params: (NONE)"
+
+%feature("docstring") interleaver::write_interleaver_txt "
+
+Params: (filename)"
+
+%feature("docstring") interleaver_fifo "template class for interleaver fifo"
+
+%feature("docstring") interleaver_fifo::interleaver_fifo "
+
+Params: (size)"
+
+%feature("docstring") interleaver_fifo::~interleaver_fifo "
+
+Params: (NONE)"
+
+%feature("docstring") interleaver_fifo::reset "reset interleaver (flushes contents and resets commutator)
+
+Params: (NONE)"
+
+%feature("docstring") interleaver_fifo::stuff "stuff a symbol into the fifo and return the oldest
+
+Params: (input)"
+
+%feature("docstring") std::invalid_argument "STL class."
+
+%feature("docstring") std::ios "STL class."
+
+%feature("docstring") std::ios_base "STL class."
+
+%feature("docstring") std::istream "STL class."
+
+%feature("docstring") std::istringstream "STL class."
+
+%feature("docstring") std::multimap::iterator "STL iterator class."
+
+%feature("docstring") std::map::iterator "STL iterator class."
+
+%feature("docstring") std::deque::iterator "STL iterator class."
+
+%feature("docstring") std::multiset::iterator "STL iterator class."
+
+%feature("docstring") std::list::iterator "STL iterator class."
+
+%feature("docstring") std::set::iterator "STL iterator class."
+
+%feature("docstring") std::basic_string::iterator "STL iterator class."
+
+%feature("docstring") std::string::iterator "STL iterator class."
+
+%feature("docstring") std::vector::iterator "STL iterator class."
+
+%feature("docstring") std::wstring::iterator "STL iterator class."
+
+%feature("docstring") std::length_error "STL class."
+
+%feature("docstring") std::list "STL class."
+
+%feature("docstring") std::logic_error "STL class."
+
+%feature("docstring") std::map "STL class."
+
+%feature("docstring") microtune_4702 "class for controlling microtune 4702 tuner module"
+
+%feature("docstring") microtune_4702::microtune_4702 "
+
+Params: (i2c, i2c_addr)"
+
+%feature("docstring") microtune_4702::~microtune_4702 "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_4702::set_RF_freq "select RF frequency to be tuned to output frequency. is the requested frequency in Hz, is set to the actual frequency tuned. It takes about 100 ms for the PLL to settle.
+
+Params: (freq, actual_freq)"
+
+%feature("docstring") microtune_4702::pll_locked_p "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_4702::get_output_freq "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_4702_eval_board "control microtune 4702 eval board"
+
+%feature("docstring") microtune_4702_eval_board::microtune_4702_eval_board "
+
+Params: (which_pp)"
+
+%feature("docstring") microtune_4702_eval_board::~microtune_4702_eval_board "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_4702_eval_board::set_AGC "set RF and IF AGC levels together (scale [0, 1000])
+
+This provides a simple linear interface for adjusting both the RF and IF gain in consort. This is the easy to use interface. 0 corresponds to minimum gain. 1000 corresponds to maximum gain.
+
+Params: (value_0_1000)"
+
+%feature("docstring") microtune_4937 "class for controlling microtune 4937 tuner module"
+
+%feature("docstring") microtune_4937::microtune_4937 "
+
+Params: (i2c, i2c_addr)"
+
+%feature("docstring") microtune_4937::~microtune_4937 "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_4937::set_RF_freq "select RF frequency to be tuned to output frequency. is the requested frequency in Hz, is set to the actual frequency tuned. It takes about 100 ms for the PLL to settle.
+
+Params: (freq, actual_freq)"
+
+%feature("docstring") microtune_4937::pll_locked_p "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_4937::get_output_freq "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_4937_eval_board "control microtune 4937 eval board"
+
+%feature("docstring") microtune_4937_eval_board::microtune_4937_eval_board "
+
+Params: (which_pp)"
+
+%feature("docstring") microtune_4937_eval_board::~microtune_4937_eval_board "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_4937_eval_board::set_AGC "set RF and IF AGC levels together (scale [0, 1000])
+
+This provides a simple linear interface for adjusting both the RF and IF gain in consort. This is the easy to use interface. 0 corresponds to minimum gain. 1000 corresponds to maximum gain.
+
+Params: (value_0_1000)"
+
+%feature("docstring") microtune_xxxx "abstract class for controlling microtune {4937,4702} tuner modules"
+
+%feature("docstring") microtune_xxxx::microtune_xxxx "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_xxxx::~microtune_xxxx "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_xxxx::set_RF_freq "select RF frequency to be tuned to output frequency. is the requested frequency in Hz, is set to the actual frequency tuned. It takes about 100 ms for the PLL to settle.
+
+Params: (freq, actual_freq)"
+
+%feature("docstring") microtune_xxxx::pll_locked_p "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_xxxx::get_output_freq "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_xxxx_eval_board "abstract class for controlling microtune xxxx eval board"
+
+%feature("docstring") microtune_xxxx_eval_board::microtune_xxxx_eval_board "
+
+Params: (which_pp)"
+
+%feature("docstring") microtune_xxxx_eval_board::~microtune_xxxx_eval_board "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_xxxx_eval_board::board_present_p "is the eval board present?
+
+Params: (NONE)"
+
+%feature("docstring") microtune_xxxx_eval_board::set_RF_AGC_voltage "set RF and IF AGC control voltages ([0, 5] volts)
+
+Params: (volts)"
+
+%feature("docstring") microtune_xxxx_eval_board::set_IF_AGC_voltage "
+
+Params: (volts)"
+
+%feature("docstring") microtune_xxxx_eval_board::set_AGC "set RF and IF AGC levels together (scale [0, 1000])
+
+This provides a simple linear interface for adjusting both the RF and IF gain in consort. This is the easy to use interface. 0 corresponds to minimum gain. 1000 corresponds to maximum gain.
+
+Params: (value_0_1000)"
+
+%feature("docstring") microtune_xxxx_eval_board::set_RF_freq "select RF frequency to be tuned to output frequency. is the requested frequency in Hz, is set to the actual frequency tuned. It takes about 100 ms for the PLL to settle.
+
+Params: (freq, actual_freq)"
+
+%feature("docstring") microtune_xxxx_eval_board::pll_locked_p "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_xxxx_eval_board::get_output_freq "
+
+Params: (NONE)"
+
+%feature("docstring") microtune_xxxx_eval_board::write_dac "
+
+Params: (which, value)"
+
+%feature("docstring") microtune_xxxx_eval_board::write_both_dacs "
+
+Params: (val0, val1)"
+
+
+
+%feature("docstring") MSDD6000::MSDD6000 "
+
+Params: (ip_addr)"
+
+%feature("docstring") MSDD6000::~MSDD6000 "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000::set_decim "
+
+Params: (decim_pow2)"
+
+%feature("docstring") MSDD6000::set_fc "
+
+Params: (center_mhz, offset_hz)"
+
+%feature("docstring") MSDD6000::set_ddc_gain "
+
+Params: (gain)"
+
+%feature("docstring") MSDD6000::set_rf_attn "
+
+Params: (attn)"
+
+%feature("docstring") MSDD6000::set_output "
+
+Params: (mode, arg)"
+
+%feature("docstring") MSDD6000::start "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000::stop "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000::send_request "
+
+Params: (, , , , )"
+
+%feature("docstring") MSDD6000::read "
+
+Params: (, )"
+
+
+
+%feature("docstring") MSDD6000_RS::MSDD6000_RS "
+
+Params: (ip_addr)"
+
+%feature("docstring") MSDD6000_RS::~MSDD6000_RS "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::set_rf_attn "
+
+Params: (attn)"
+
+%feature("docstring") MSDD6000_RS::set_ddc_gain "
+
+Params: (gain)"
+
+%feature("docstring") MSDD6000_RS::set_fc "
+
+Params: (center_mhz, offset_hz)"
+
+%feature("docstring") MSDD6000_RS::set_ddc_samp_rate "
+
+Params: (sample_rate_khz)"
+
+%feature("docstring") MSDD6000_RS::set_ddc_bw "
+
+Params: (bw_khz)"
+
+%feature("docstring") MSDD6000_RS::start "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::stop "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::start_data "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::stop_data "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::pull_ddc_samp_rate "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::pull_ddc_bw "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::pull_rx_freq "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::pull_ddc_gain "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::pull_rf_atten "
+
+Params: (NONE)"
+
+%feature("docstring") MSDD6000_RS::send_request "
+
+Params: (, , , , , , )"
+
+%feature("docstring") MSDD6000_RS::read "
+
+Params: (, )"
+
+
+
+%feature("docstring") msdd_rs_source_simple::msdd_rs_source_simple "
+
+Params: (src, port_src)"
+
+%feature("docstring") msdd_rs_source_simple::~msdd_rs_source_simple "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::stop "Called to disable drivers, etc for i/o devices.
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::start "Called to enable drivers, etc for i/o devices.
+
+This allows a block to enable an associated driver to begin transfering data just before we start to execute the scheduler. The end result is that this reduces latency in the pipeline when dealing with audio devices, usrps, etc.
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::start_data "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::stop_data "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::set_ddc_samp_rate "
+
+Params: ()"
+
+%feature("docstring") msdd_rs_source_simple::set_ddc_bw "
+
+Params: ()"
+
+%feature("docstring") msdd_rs_source_simple::set_rx_freq "
+
+Params: ()"
+
+%feature("docstring") msdd_rs_source_simple::set_ddc_gain "
+
+Params: ()"
+
+%feature("docstring") msdd_rs_source_simple::set_rf_atten "
+
+Params: ()"
+
+%feature("docstring") msdd_rs_source_simple::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") msdd_rs_source_simple::pull_adc_freq "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::pull_ddc_samp_rate "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::pull_ddc_bw "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::pull_rx_freq "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::pull_ddc_gain "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::pull_rf_atten "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::gain_range "
+
+Params: (NONE)"
+
+%feature("docstring") msdd_rs_source_simple::freq_range "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_accepter "Virtual base class that accepts messages."
+
+%feature("docstring") gruel::msg_accepter::msg_accepter "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_accepter::~msg_accepter "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_accepter::post "send to
+
+Sending a message is an asynchronous operation. The call will not wait for the message either to arrive at the destination or to be received.
+
+Params: (msg)"
+
+%feature("docstring") gruel::msg_accepter_msgq "Concrete class that accepts messages and inserts them into a message queue."
+
+%feature("docstring") gruel::msg_accepter_msgq::msg_accepter_msgq "
+
+Params: (msgq)"
+
+%feature("docstring") gruel::msg_accepter_msgq::~msg_accepter_msgq "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_accepter_msgq::post "send to
+
+Sending a message is an asynchronous operation. The call will not wait for the message either to arrive at the destination or to be received.
+
+Params: (msg)"
+
+%feature("docstring") gruel::msg_accepter_msgq::msg_queue "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_queue "thread-safe message queue"
+
+%feature("docstring") gruel::msg_queue::msg_queue "
+
+Params: (limit)"
+
+%feature("docstring") gruel::msg_queue::~msg_queue "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_queue::insert_tail "Insert message at tail of queue.
+
+Block if queue if full.
+
+Params: (msg)"
+
+%feature("docstring") gruel::msg_queue::delete_head "Delete message from head of queue and return it. Block if no message is available.
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_queue::delete_head_nowait "If there's a message in the q, delete it and return it. If no message is available, return pmt_t().
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_queue::flush "Delete all messages from the queue.
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_queue::empty_p "is the queue empty?
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_queue::full_p "is the queue full?
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_queue::count "return number of messages in queue
+
+Params: (NONE)"
+
+%feature("docstring") gruel::msg_queue::limit "return limit on number of message in queue. 0 -> unbounded
+
+Params: (NONE)"
+
+%feature("docstring") std::multimap "STL class."
+
+%feature("docstring") std::multiset "STL class."
+
+%feature("docstring") std::ofstream "STL class."
+
+%feature("docstring") std::ostream "STL class."
+
+%feature("docstring") std::ostringstream "STL class."
+
+%feature("docstring") std::out_of_range "STL class."
+
+%feature("docstring") std::overflow_error "STL class."
+
+%feature("docstring") usrp2::pending_reply "Control mechanism to allow API calls to block waiting for reply packets"
+
+%feature("docstring") usrp2::pending_reply::pending_reply "Construct a pending reply from the reply ID, response packet buffer, and buffer length.
+
+Params: (rid, buffer, len)"
+
+%feature("docstring") usrp2::pending_reply::~pending_reply "Destructor. Signals creating thread.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::pending_reply::wait_for_completion "Block, waiting for reply packet. Returns: 1 = ok, reply packet in buffer 0 = timeout
+
+Params: (secs)"
+
+%feature("docstring") usrp2::pending_reply::notify_completion "Allows creating thread to resume after copying reply into buffer
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::pending_reply::rid "Retrieve pending reply ID
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::pending_reply::buffer "Retrieve destination buffer address
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::pending_reply::len "Retrieve destination buffer length
+
+Params: (NONE)"
+
+
+
+%feature("docstring") usrp2::pktfilter::pktfilter "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::pktfilter::~pktfilter "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::pktfilter::make_ethertype "Return a filter that harvests packets with the specified ethertype.
+
+Params: (ethertype)"
+
+%feature("docstring") usrp2::pktfilter::make_ethertype_inbound "Return a filter that harvests inbound packets with the specified ethertype.
+
+Params: (ethertype, our_mac)"
+
+%feature("docstring") usrp2::pktfilter::make_ethertype_inbound_target "Return a filter that harvests inbound packets with the specified ethertype and source MAC address.
+
+Params: (ethertype, usrp_mac)"
+
+%feature("docstring") plinfo "pipeline info that flows with data
+
+Not all modules need all the info"
+
+%feature("docstring") plinfo::plinfo "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::field_sync1_p "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::field_sync2_p "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::field_sync_p "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::regular_seg_p "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::in_field1_p "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::in_field2_p "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::first_regular_seg_p "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::transport_error_p "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::segno "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::flags "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::set_field_sync1 "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::set_field_sync2 "
+
+Params: (NONE)"
+
+%feature("docstring") plinfo::set_regular_seg "
+
+Params: (field2, segno)"
+
+%feature("docstring") plinfo::set_transport_error "
+
+Params: (error)"
+
+%feature("docstring") plinfo::operator== "
+
+Params: (other)"
+
+%feature("docstring") plinfo::operator!= "
+
+Params: (other)"
+
+%feature("docstring") plinfo::delay "Set such that it reflects a pipeline delay from .
+
+Params: (out, in, nsegs_of_delay)"
+
+%feature("docstring") plinfo::sanity_check "confirm that is plausible
+
+Params: (in)"
+
+
+
+%feature("docstring") pmt::pmt_any::pmt_any "
+
+Params: (any)"
+
+%feature("docstring") pmt::pmt_any::is_any "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_any::ref "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_any::set "
+
+Params: (any)"
+
+
+
+%feature("docstring") pmt::pmt_base::pmt_base "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::~pmt_base "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_bool "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_symbol "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_number "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_integer "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_uint64 "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_real "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_complex "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_null "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_pair "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_tuple "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_dict "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_any "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_uniform_vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_u8vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_s8vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_u16vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_s16vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_u32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_s32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_u64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_s64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_f32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_f64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_c32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_base::is_c64vector "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") pmt::pmt_bool::pmt_bool "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_bool::is_bool "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") pmt_c32vector::pmt_c32vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_c32vector::is_c32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_c32vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_c32vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_c32vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_c32vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_c32vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_c32vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_c32vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_c32vector::pmt_c32vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_c32vector::is_c32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_c32vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_c32vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_c32vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_c32vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_c32vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_c32vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_c32vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt_c64vector::pmt_c64vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_c64vector::is_c64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_c64vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_c64vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_c64vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_c64vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_c64vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_c64vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_c64vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_c64vector::pmt_c64vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_c64vector::is_c64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_c64vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_c64vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_c64vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_c64vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_c64vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_c64vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_c64vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_complex::pmt_complex "
+
+Params: (value)"
+
+%feature("docstring") pmt::pmt_complex::is_number "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_complex::is_complex "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_complex::value "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") pmt::pmt_exception::pmt_exception "
+
+Params: (msg, obj)"
+
+
+
+%feature("docstring") pmt_f32vector::pmt_f32vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_f32vector::is_f32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_f32vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_f32vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_f32vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_f32vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_f32vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_f32vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_f32vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_f32vector::pmt_f32vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_f32vector::is_f32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_f32vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_f32vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_f32vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_f32vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_f32vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_f32vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_f32vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_f64vector::pmt_f64vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_f64vector::is_f64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_f64vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_f64vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_f64vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_f64vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_f64vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_f64vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_f64vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt_f64vector::pmt_f64vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_f64vector::is_f64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_f64vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_f64vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_f64vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_f64vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_f64vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_f64vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_f64vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_integer::pmt_integer "
+
+Params: (value)"
+
+%feature("docstring") pmt::pmt_integer::is_number "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_integer::is_integer "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_integer::value "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") pmt::pmt_notimplemented::pmt_notimplemented "
+
+Params: (msg, obj)"
+
+
+
+%feature("docstring") pmt::pmt_null::pmt_null "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_null::is_null "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") pmt::pmt_out_of_range::pmt_out_of_range "
+
+Params: (msg, obj)"
+
+
+
+%feature("docstring") pmt::pmt_pair::pmt_pair "
+
+Params: (car, cdr)"
+
+%feature("docstring") pmt::pmt_pair::is_pair "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_pair::car "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_pair::cdr "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_pair::set_car "
+
+Params: (car)"
+
+%feature("docstring") pmt::pmt_pair::set_cdr "
+
+Params: (cdr)"
+
+%feature("docstring") pmt::pmt_pool "very simple thread-safe fixed-size allocation pool
+
+FIXME may want to go to global allocation with per-thread free list. This would eliminate virtually all lock contention."
+
+%feature("docstring") pmt::pmt_pool::pmt_pool "
+
+Params: (itemsize, alignment, allocation_size, max_items)"
+
+%feature("docstring") pmt::pmt_pool::~pmt_pool "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_pool::malloc "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_pool::free "
+
+Params: (p)"
+
+
+
+%feature("docstring") pmt::pmt_real::pmt_real "
+
+Params: (value)"
+
+%feature("docstring") pmt::pmt_real::is_number "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_real::is_real "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_real::value "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") pmt_s16vector::pmt_s16vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_s16vector::is_s16vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_s16vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_s16vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_s16vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_s16vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s16vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s16vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s16vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_s16vector::pmt_s16vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_s16vector::is_s16vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_s16vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_s16vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_s16vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_s16vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s16vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s16vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s16vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_s32vector::pmt_s32vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_s32vector::is_s32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_s32vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_s32vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_s32vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_s32vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s32vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s32vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s32vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt_s32vector::pmt_s32vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_s32vector::is_s32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_s32vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_s32vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_s32vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_s32vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s32vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s32vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s32vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt_s64vector::pmt_s64vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_s64vector::is_s64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_s64vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_s64vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_s64vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_s64vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s64vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s64vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s64vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_s64vector::pmt_s64vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_s64vector::is_s64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_s64vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_s64vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_s64vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_s64vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s64vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s64vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s64vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_s8vector::pmt_s8vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_s8vector::is_s8vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_s8vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_s8vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_s8vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_s8vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s8vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s8vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_s8vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt_s8vector::pmt_s8vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_s8vector::is_s8vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_s8vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_s8vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_s8vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_s8vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s8vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s8vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_s8vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_symbol::pmt_symbol "
+
+Params: (name)"
+
+%feature("docstring") pmt::pmt_symbol::is_symbol "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_symbol::name "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_symbol::next "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_symbol::set_next "
+
+Params: (next)"
+
+
+
+%feature("docstring") pmt::pmt_tuple::pmt_tuple "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_tuple::is_tuple "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_tuple::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_tuple::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_tuple::_ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_tuple::_set "
+
+Params: (k, v)"
+
+
+
+%feature("docstring") pmt_u16vector::pmt_u16vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_u16vector::is_u16vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_u16vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_u16vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_u16vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_u16vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u16vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u16vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u16vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_u16vector::pmt_u16vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_u16vector::is_u16vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_u16vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_u16vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_u16vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_u16vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u16vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u16vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u16vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_u32vector::pmt_u32vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_u32vector::is_u32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_u32vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_u32vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_u32vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_u32vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u32vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u32vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u32vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt_u32vector::pmt_u32vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_u32vector::is_u32vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_u32vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_u32vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_u32vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_u32vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u32vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u32vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u32vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_u64vector::pmt_u64vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_u64vector::is_u64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_u64vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_u64vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_u64vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_u64vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u64vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u64vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u64vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt_u64vector::pmt_u64vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_u64vector::is_u64vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_u64vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_u64vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_u64vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_u64vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u64vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u64vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u64vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt_u8vector::pmt_u8vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt_u8vector::is_u8vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_u8vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt_u8vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt_u8vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt_u8vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u8vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u8vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt_u8vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_u8vector::pmt_u8vector "
+
+Params: (k, fill)"
+
+%feature("docstring") pmt::pmt_u8vector::is_u8vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_u8vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_u8vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_u8vector::set "
+
+Params: (k, x)"
+
+%feature("docstring") pmt::pmt_u8vector::elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u8vector::writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u8vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_u8vector::uniform_writable_elements "
+
+Params: (len)"
+
+
+
+%feature("docstring") pmt::pmt_uint64::pmt_uint64 "
+
+Params: (value)"
+
+%feature("docstring") pmt::pmt_uint64::is_number "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_uint64::is_uint64 "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_uint64::value "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") pmt::pmt_uniform_vector::is_uniform_vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_uniform_vector::uniform_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_uniform_vector::uniform_writable_elements "
+
+Params: (len)"
+
+%feature("docstring") pmt::pmt_uniform_vector::length "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") pmt::pmt_vector::pmt_vector "
+
+Params: (len, fill)"
+
+%feature("docstring") pmt::pmt_vector::is_vector "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_vector::ref "
+
+Params: (k)"
+
+%feature("docstring") pmt::pmt_vector::set "
+
+Params: (k, obj)"
+
+%feature("docstring") pmt::pmt_vector::fill "
+
+Params: (fill)"
+
+%feature("docstring") pmt::pmt_vector::length "
+
+Params: (NONE)"
+
+%feature("docstring") pmt::pmt_vector::_ref "
+
+Params: (k)"
+
+
+
+%feature("docstring") pmt::pmt_wrong_type::pmt_wrong_type "
+
+Params: (msg, obj)"
+
+%feature("docstring") ppio "abstract class that provides low level access to parallel port bits"
+
+%feature("docstring") ppio::ppio "
+
+Params: (NONE)"
+
+%feature("docstring") ppio::~ppio "
+
+Params: (NONE)"
+
+%feature("docstring") ppio::write_data "
+
+Params: (v)"
+
+%feature("docstring") ppio::read_data "
+
+Params: (NONE)"
+
+%feature("docstring") ppio::write_control "
+
+Params: (v)"
+
+%feature("docstring") ppio::read_control "
+
+Params: (NONE)"
+
+%feature("docstring") ppio::read_status "
+
+Params: (NONE)"
+
+%feature("docstring") ppio::lock "
+
+Params: (NONE)"
+
+%feature("docstring") ppio::unlock "
+
+Params: (NONE)"
+
+%feature("docstring") ppio_ppdev "access to parallel port bits using the linux ppdev interface"
+
+%feature("docstring") ppio_ppdev::ppio_ppdev "
+
+Params: (which)"
+
+%feature("docstring") ppio_ppdev::~ppio_ppdev "
+
+Params: (NONE)"
+
+%feature("docstring") ppio_ppdev::write_data "
+
+Params: (v)"
+
+%feature("docstring") ppio_ppdev::read_data "
+
+Params: (NONE)"
+
+%feature("docstring") ppio_ppdev::write_control "
+
+Params: (v)"
+
+%feature("docstring") ppio_ppdev::read_control "
+
+Params: (NONE)"
+
+%feature("docstring") ppio_ppdev::read_status "
+
+Params: (NONE)"
+
+%feature("docstring") ppio_ppdev::lock "
+
+Params: (NONE)"
+
+%feature("docstring") ppio_ppdev::unlock "
+
+Params: (NONE)"
+
+%feature("docstring") std::priority_queue "STL class."
+
+%feature("docstring") sssr::quad_filter "quad filter (used to compute timing error)"
+
+%feature("docstring") sssr::quad_filter::quad_filter "
+
+Params: (NONE)"
+
+%feature("docstring") sssr::quad_filter::reset "called on channel change
+
+Params: (NONE)"
+
+%feature("docstring") sssr::quad_filter::update "
+
+Params: (sample)"
+
+%feature("docstring") std::queue "STL class."
+
+%feature("docstring") std::range_error "STL class."
+
+%feature("docstring") std::multiset::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::basic_string::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::string::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::map::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::list::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::wstring::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::set::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::deque::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::multimap::reverse_iterator "STL iterator class."
+
+%feature("docstring") std::vector::reverse_iterator "STL iterator class."
+
+
+
+%feature("docstring") usrp2::ring::inc_read_ind "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ring::inc_write_ind "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ring::empty "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ring::full "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ring::ring "
+
+Params: (entries)"
+
+%feature("docstring") usrp2::ring::wait_for_not_empty "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::ring::enqueue "
+
+Params: (p, len)"
+
+%feature("docstring") usrp2::ring::dequeue "
+
+Params: (p, len)"
+
+%feature("docstring") std::runtime_error "STL class."
+
+
+
+%feature("docstring") rx_16sc_handler::rx_16sc_handler "
+
+Params: (max_samples, max_quantum, dest)"
+
+%feature("docstring") rx_16sc_handler::make "
+
+Params: (max_samples, max_quantum, dest)"
+
+%feature("docstring") rx_16sc_handler::operator() "Function operator invoked by USRP2 RX API. Derived classes must override this method but then invoke it at the start of their processing. This operator will always be called at least once.
+
+
+ points to the raw sample data received off of the ethernet. The data is packed into big-endian 32-bit unsigned ints for transport, but the actual format of the data is dependent on the current configuration of the USRP2. The most common format is 16-bit I & Q, with I in the top of the 32-bit word.
+
+Params: (items, nitems, metadata)"
+
+%feature("docstring") rx_16sc_handler::~rx_16sc_handler "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") rx_32fc_handler::rx_32fc_handler "
+
+Params: (max_samples, max_quantum, dest)"
+
+%feature("docstring") rx_32fc_handler::make "
+
+Params: (max_samples, max_quantum, dest)"
+
+%feature("docstring") rx_32fc_handler::operator() "Function operator invoked by USRP2 RX API. Derived classes must override this method but then invoke it at the start of their processing. This operator will always be called at least once.
+
+
+ points to the raw sample data received off of the ethernet. The data is packed into big-endian 32-bit unsigned ints for transport, but the actual format of the data is dependent on the current configuration of the USRP2. The most common format is 16-bit I & Q, with I in the top of the 32-bit word.
+
+Params: (items, nitems, metadata)"
+
+%feature("docstring") rx_32fc_handler::~rx_32fc_handler "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") usrp2::rx_nop_handler::rx_nop_handler "Constructor
+
+Params: (max_samples, max_quantum)"
+
+%feature("docstring") usrp2::rx_nop_handler::~rx_nop_handler "Destructor. Derived classes must implement their own, non-inline destructor.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::rx_nop_handler::nframes "Returns number of frames this copier was called with.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::rx_nop_handler::nsamples "Returns actual number of samples copied.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::rx_nop_handler::max_samples "Returns maximum number of samples that will be copied.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::rx_nop_handler::has_errored_p "Returns true if an error has occurred. Derived classes must set d_err to true when an error occurs in the () operator
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::rx_nop_handler::has_finished_p "Returns true if this instance has reached the maximum number of samples.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::rx_nop_handler::operator() "Function operator invoked by USRP2 RX API. Derived classes must override this method but then invoke it at the start of their processing. This operator will always be called at least once.
+
+
+ points to the raw sample data received off of the ethernet. The data is packed into big-endian 32-bit unsigned ints for transport, but the actual format of the data is dependent on the current configuration of the USRP2. The most common format is 16-bit I & Q, with I in the top of the 32-bit word.
+
+Params: (items, nitems, metadata)"
+
+%feature("docstring") usrp2::rx_sample_handler "Abstract function object called to handle received data blocks.
+
+An object derived from this class is passed to usrp2::rx_samples to process the received frames of samples."
+
+%feature("docstring") usrp2::rx_sample_handler::~rx_sample_handler "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::rx_sample_handler::operator() "points to the raw sample data received off of the ethernet. The data is packed into big-endian 32-bit unsigned ints for transport, but the actual format of the data is dependent on the current configuration of the USRP2. The most common format is 16-bit I & Q, with I in the top of the 32-bit word.
+
+This is the general purpose, low level interface and relies on other functions to handle all required endian-swapping and format conversion.
+
+Params: (items, nitems, metadata)"
+
+
+
+%feature("docstring") s_both::s_both "
+
+Params: (l_node, l_this)"
+
+%feature("docstring") s_both::~s_both "
+
+Params: (NONE)"
+
+%feature("docstring") s_both::node "
+
+Params: (NONE)"
+
+%feature("docstring") s_both::This "
+
+Params: (NONE)"
+
+%feature("docstring") s_both::set "
+
+Params: (l_node, l_this)"
+
+
+
+%feature("docstring") s_buffer::s_buffer "
+
+Params: (n_alloc)"
+
+%feature("docstring") s_buffer::~s_buffer "
+
+Params: (NONE)"
+
+%feature("docstring") s_buffer::n_used "
+
+Params: (NONE)"
+
+%feature("docstring") s_buffer::n_alloc "
+
+Params: (NONE)"
+
+%feature("docstring") s_buffer::buffer "
+
+Params: (l_buffer, bufLen)"
+
+%feature("docstring") s_buffer::reset "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") s_node::s_node "
+
+Params: (l_object, l_prev, l_next)"
+
+%feature("docstring") s_node::~s_node "
+
+Params: (NONE)"
+
+%feature("docstring") s_node::remove "
+
+Params: (NONE)"
+
+%feature("docstring") s_node::insert_before "
+
+Params: (l_next)"
+
+%feature("docstring") s_node::insert_after "
+
+Params: (l_prev)"
+
+%feature("docstring") s_node::object "
+
+Params: (NONE)"
+
+%feature("docstring") s_node::available "
+
+Params: (NONE)"
+
+%feature("docstring") s_node::set_available "
+
+Params: (NONE)"
+
+%feature("docstring") s_node::set_not_available "
+
+Params: (NONE)"
+
+%feature("docstring") s_node::next "
+
+Params: (NONE)"
+
+%feature("docstring") s_node::prev "
+
+Params: (NONE)"
+
+%feature("docstring") s_node::both "
+
+Params: (NONE)"
+
+%feature("docstring") sdr_1000_base "Very low level interface to SDR 1000 xcvr hardware."
+
+%feature("docstring") sdr_1000_base::sdr_1000_base "
+
+Params: (which_pp)"
+
+%feature("docstring") sdr_1000_base::~sdr_1000_base "
+
+Params: (NONE)"
+
+%feature("docstring") sdr_1000_base::reset "
+
+Params: (NONE)"
+
+%feature("docstring") sdr_1000_base::write_latch "
+
+Params: (which, value, mask)"
+
+%feature("docstring") sssr::seg_sync_integrator "segment sync integrator"
+
+%feature("docstring") sssr::seg_sync_integrator::seg_sync_integrator "
+
+Params: (NONE)"
+
+%feature("docstring") sssr::seg_sync_integrator::reset "called on channel change
+
+Params: (NONE)"
+
+%feature("docstring") sssr::seg_sync_integrator::update "update current tap with weight and return integrated correlation value
+
+Params: (weight, index)"
+
+%feature("docstring") sssr::seg_sync_integrator::find_max "return index of maximum correlation value
+
+Params: (value)"
+
+%feature("docstring") std::set "STL class."
+
+%feature("docstring") boost::shared_ptr "shared_ptr documentation stub
+
+An enhanced relative of scoped_ptr with reference counted copy semantics. The object pointed to is deleted when the last shared_ptr pointing to it is destroyed or reset."
+
+
+
+%feature("docstring") atsci_sliding_correlator::shift_reg::shift_reg "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sliding_correlator::shift_reg::reset "
+
+Params: (NONE)"
+
+%feature("docstring") atsci_sliding_correlator::shift_reg::shift_in "
+
+Params: (bit)"
+
+
+
+%feature("docstring") std::stack "STL class."
+
+%feature("docstring") std::string "STL class."
+
+%feature("docstring") std::stringstream "STL class."
+
+
+
+%feature("docstring") gruel::thread_body_wrapper::thread_body_wrapper "
+
+Params: (f, name)"
+
+%feature("docstring") gruel::thread_body_wrapper::operator() "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") gruel::thread_group::thread_group "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::thread_group::~thread_group "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::thread_group::create_thread "
+
+Params: (threadfunc)"
+
+%feature("docstring") gruel::thread_group::add_thread "
+
+Params: (thrd)"
+
+%feature("docstring") gruel::thread_group::remove_thread "
+
+Params: (thrd)"
+
+%feature("docstring") gruel::thread_group::join_all "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::thread_group::interrupt_all "
+
+Params: (NONE)"
+
+%feature("docstring") gruel::thread_group::size "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") usrp2::tune_result::tune_result "
+
+Params: (baseband, dxc, residual, inverted)"
+
+%feature("docstring") std::underflow_error "STL class."
+
+%feature("docstring") usrp2::usrp2 "standard C++ interface to USRP2"
+
+%feature("docstring") usrp2::usrp2::make "Static function to return an instance of usrp2 as a shared pointer
+
+Params: (ifc, addr, rx_bufsize)"
+
+%feature("docstring") usrp2::usrp2::~usrp2 "Class destructor
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::mac_addr "Returns the MAC address associated with this USRP
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::interface_name "Returns the GbE interface name associated with this USRP
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::set_rx_antenna "Set the rx antenna
+
+Params: (ant)"
+
+%feature("docstring") usrp2::usrp2::set_rx_gain "Set receiver gain
+
+Params: (gain)"
+
+%feature("docstring") usrp2::usrp2::rx_gain_min "return minimum Rx gain
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::rx_gain_max "return maximum Rx gain
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::rx_gain_db_per_step "return Rx gain db_per_step
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::set_rx_lo_offset "Set receive daughterboard LO offset frequency.
+
+Params: (frequency)"
+
+%feature("docstring") usrp2::usrp2::set_rx_center_freq "Set receiver center frequency
+
+Params: (frequency, result)"
+
+%feature("docstring") usrp2::usrp2::rx_freq_min "return minimum Rx center frequency
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::rx_freq_max "return maximum Rx center frequency
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::set_rx_decim "Set receiver sample rate decimation
+
+Params: (decimation_factor)"
+
+%feature("docstring") usrp2::usrp2::rx_decim "Return current decimation factor.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::set_rx_scale_iq "Set receiver IQ magnitude scaling
+
+Params: (scale_i, scale_q)"
+
+%feature("docstring") usrp2::usrp2::start_rx_streaming "Set received sample format
+
+domain: complex or real type: floating, fixed point, or raw depth: bits per sample
+
+Sets format over the wire for samples from USRP2.
+
+Start streaming receive mode. USRP2 will send a continuous stream of DSP pipeline samples to host. Call rx_samples(...) to access.
+
+Params: (channel, items_per_frame)"
+
+%feature("docstring") usrp2::usrp2::start_rx_streaming_at "Start streaming receive mode at specified timestamp. USRP2 will send a continuous stream of DSP pipeline samples to host. Call rx_samples(...) to access.
+
+Params: (channel, items_per_frame, time)"
+
+%feature("docstring") usrp2::usrp2::sync_and_start_rx_streaming_at "Sync to PPS and start streaming receive mode at specified timestamp. Just like calling sync_to_pps() and start_rx_streaming_at().
+
+Params: (channel, items_per_frame, time)"
+
+%feature("docstring") usrp2::usrp2::stop_rx_streaming "Stop streaming receive mode.
+
+Params: (channel)"
+
+%feature("docstring") usrp2::usrp2::rx_samples "Receive data from the specified channel This method is used to receive all data: streaming or discrete.
+
+Params: (channel, handler)"
+
+%feature("docstring") usrp2::usrp2::rx_overruns "Returns number of times receive overruns have occurred
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::rx_missing "Returns total number of missing frames from overruns.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::set_tx_antenna "Set the tx antenna
+
+Params: (ant)"
+
+%feature("docstring") usrp2::usrp2::set_tx_gain "Set transmitter gain
+
+Params: (gain)"
+
+%feature("docstring") usrp2::usrp2::tx_gain_min "return minimum Tx gain
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::tx_gain_max "return maximum Tx gain
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::tx_gain_db_per_step "return Tx gain db_per_step
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::set_tx_lo_offset "
+
+Params: (frequency)"
+
+%feature("docstring") usrp2::usrp2::set_tx_center_freq "Set transmitter center frequency
+
+Params: (frequency, result)"
+
+%feature("docstring") usrp2::usrp2::tx_freq_min "return minimum Tx center frequency
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::tx_freq_max "return maximum Tx center frequency
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::set_tx_interp "Set transmitter sample rate interpolation
+
+Params: (interpolation_factor)"
+
+%feature("docstring") usrp2::usrp2::tx_interp "Return current interpolation factor.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::default_tx_scale_iq "
+
+Params: (interpolation_factor, scale_i, scale_q)"
+
+%feature("docstring") usrp2::usrp2::set_tx_scale_iq "Set transmit IQ magnitude scaling
+
+Params: (scale_i, scale_q)"
+
+%feature("docstring") usrp2::usrp2::tx_32fc "transmit complex<float> samples to USRP2
+
+Set transmit sample format
+
+domain: complex or real type: floating, fixed point, or raw depth: bits per sample
+
+Sets format over the wire for samples to USRP2.
+
+
+The complex<float> samples are converted to the appropriate \"on the wire\" representation, depending on the current USRP2 configuration. Typically, this is big-endian 16-bit I & Q.
+
+Params: (channel, samples, nsamples, metadata)"
+
+%feature("docstring") usrp2::usrp2::tx_16sc "transmit complex<int16_t> samples to USRP2
+
+The complex<int16_t> samples are converted to the appropriate \"on the wire\" representation, depending on the current USRP2 configuration. Typically, this is big-endian 16-bit I & Q.
+
+Params: (channel, samples, nsamples, metadata)"
+
+%feature("docstring") usrp2::usrp2::tx_raw "transmit raw uint32_t data items to USRP2
+
+The caller is responsible for ensuring that the items are formatted appropriately for the USRP2 and its configuration. This method is used primarily by the system itself. Users should call tx_32fc or tx_16sc instead.
+
+Params: (channel, items, nitems, metadata)"
+
+%feature("docstring") usrp2::usrp2::config_mimo "MIMO configuration.
+
+Params: (flags)"
+
+%feature("docstring") usrp2::usrp2::fpga_master_clock_freq "Get frequency of master oscillator in Hz.
+
+Params: (freq)"
+
+%feature("docstring") usrp2::usrp2::adc_rate "
+
+Params: (rate)"
+
+%feature("docstring") usrp2::usrp2::dac_rate "
+
+Params: (rate)"
+
+%feature("docstring") usrp2::usrp2::tx_daughterboard_id "Get Tx daughterboard ID.
+
+daughterboard id >= 0 if successful, -1 if no daugherboard installed, -2 if invalid EEPROM on daughterboard.
+
+Params: (dbid)"
+
+%feature("docstring") usrp2::usrp2::rx_daughterboard_id "Get Rx daughterboard ID.
+
+daughterboard id >= 0 if successful, -1 if no daugherboard installed, -2 if invalid EEPROM on daughterboard.
+
+Params: (dbid)"
+
+%feature("docstring") usrp2::usrp2::burn_mac_addr "Burn new mac address into EEPROM on USRP2
+
+Params: (new_addr)"
+
+%feature("docstring") usrp2::usrp2::sync_to_pps "Reset master time to 0 at next PPS edge
+
+Params: (NONE)"
+
+%feature("docstring") usrp2::usrp2::sync_every_pps "Reset master time to 0 at every PPS edge
+
+Params: (enable)"
+
+%feature("docstring") usrp2::usrp2::peek32 "Read memory from Wishbone bus as 32-bit words. Handles endian swapping if needed.
+
+
+
+WARNING: Attempts to read memory from addresses that do not correspond to RAM or memory-mapped peripherals may cause the USRP2 to hang, requiring a power cycle.
+
+Params: (addr, words)"
+
+%feature("docstring") usrp2::usrp2::poke32 "Write memory to Wishbone bus as 32-bit words. Handles endian swapping if needed.
+
+
+
+WARNING: Attempts to read memory from addresses that do not correspond to RAM or memory-mapped peripherals may cause the USRP2 to hang, requiring a power cycle.
+
+Params: (addr, data)"
+
+%feature("docstring") usrp2::usrp2::set_gpio_ddr "Set daughterboard GPIO data direction register.
+
+
+
+WARNING: Improper usage of this function may result in damage to the USRP2
+
+Params: (bank, value, mask)"
+
+%feature("docstring") usrp2::usrp2::set_gpio_sels "Set daughterboard GPIO output selection register. For those GPIO pins that are configured as outputs in the DDR, this settings configures the source of the pin value.
+
+
+
+WARNING: Improper usage of this function may result in damage to the USRP2
+
+Params: (bank, sels)"
+
+%feature("docstring") usrp2::usrp2::write_gpio "Set daughterboard GPIO pin values.
+
+
+
+WARNING: Improper usage of this function may result in damage to the USRP2
+
+Params: (bank, value, mask)"
+
+%feature("docstring") usrp2::usrp2::read_gpio "Read daughterboard GPIO pin values
+
+Params: (bank, value)"
+
+%feature("docstring") usrp2::usrp2::enable_gpio_streaming "Set GPIO streaming mode
+
+Individually enables streaming GPIO pins through LSBs of DSP samples.
+
+On receive, io_rx[15] replaces I[0], io_rx[14] replaces Q[0] On transmit, I[0] maps to io_tx[15], Q[0] maps to io_tx[14] (Transmit streaming is not yet implemented.)
+
+The selected GPIO pins must have been set as inputs or outputs and, for transmit, set to software control.
+
+When enabled, the replaced DSP sample LSBs become 0.
+
+
+
+WARNING: Improper usage of this function may result in damage to the USRP2
+
+Params: (bank, enable)"
+
+%feature("docstring") usrp2::usrp2::find_existing_or_make_new "
+
+Params: (ifc, p, rx_bufsize)"
+
+%feature("docstring") usrp2::usrp2::usrp2 "
+
+Params: (ifc, p, rx_bufsize)"
+
+%feature("docstring") usrp2_base "Base class for all USRP2 blocks"
+
+%feature("docstring") usrp2_base::usrp2_base "
+
+Params: (name, input_signature, output_signature, ifc, mac)"
+
+%feature("docstring") usrp2_base::~usrp2_base "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_base::mac_addr "Get USRP2 hardware MAC address.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_base::interface_name "Get interface name used to communicat with USRP2.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_base::fpga_master_clock_freq "Get USRP2 master clock rate.
+
+Params: (freq)"
+
+%feature("docstring") usrp2_base::config_mimo "MIMO configuration.
+
+Params: (flags)"
+
+%feature("docstring") usrp2_base::sync_to_pps "Set master time to 0 at next PPS rising edge.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_base::sync_every_pps "Reset master time to 0 at every PPS edge
+
+Params: (enable)"
+
+%feature("docstring") usrp2_base::peek32 "Read memory from Wishbone bus as words.
+
+Params: (addr, words)"
+
+%feature("docstring") usrp2_base::poke32 "Write memory to Wishbone bus as words.
+
+Params: (addr, data)"
+
+%feature("docstring") usrp2_base::start "Called by scheduler when starting flowgraph.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_base::stop "Called by scheduler when stopping flowgraph.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_base::work "Derived class must override this.
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") usrp2_sink_base "Base class for all USRP2 transmit blocks"
+
+%feature("docstring") usrp2_sink_base::usrp2_sink_base "
+
+Params: (name, input_signature, ifc, mac)"
+
+%feature("docstring") usrp2_sink_base::~usrp2_sink_base "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_base::set_antenna "Set antenna.
+
+Params: (ant)"
+
+%feature("docstring") usrp2_sink_base::set_gain "Set transmitter gain.
+
+Params: (gain)"
+
+%feature("docstring") usrp2_sink_base::set_lo_offset "Set transmitter LO offset frequency.
+
+Params: (frequency)"
+
+%feature("docstring") usrp2_sink_base::set_center_freq "Set transmitter center frequency.
+
+Params: (frequency, tr)"
+
+%feature("docstring") usrp2_sink_base::set_interp "Set transmit interpolation rate.
+
+Params: (interp_factor)"
+
+%feature("docstring") usrp2_sink_base::default_scale_iq "Calculate default scale_iq for given interpolation factor.
+
+Params: (interpolation_factor, scale_i, scale_q)"
+
+%feature("docstring") usrp2_sink_base::set_scale_iq "Set transmit IQ scale factors.
+
+Params: (scale_i, scale_q)"
+
+%feature("docstring") usrp2_sink_base::interp "Get transmit interpolation rate.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_base::dac_rate "Get DAC sample rate in Hz.
+
+Params: (rate)"
+
+%feature("docstring") usrp2_sink_base::gain_min "Returns minimum Tx gain.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_base::gain_max "Returns maximum Tx gain.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_base::gain_db_per_step "Returns Tx gain db_per_step.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_base::freq_min "Returns minimum Tx center frequency.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_base::freq_max "Returns maximum Tx center frequency.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_sink_base::daughterboard_id "Get Tx daughterboard ID.
+
+daughterboard id >= 0 if successful, -1 if no daugherboard installed, -2 if invalid EEPROM on daughterboard.
+
+Params: (dbid)"
+
+%feature("docstring") usrp2_sink_base::set_gpio_ddr "Set daughterboard GPIO data direction register.
+
+Params: (value, mask)"
+
+%feature("docstring") usrp2_sink_base::set_gpio_sels "Set daughterboard GPIO output selection register.
+
+Params: (sels)"
+
+%feature("docstring") usrp2_sink_base::write_gpio "Set daughterboard GPIO pin values.
+
+Params: (value, mask)"
+
+%feature("docstring") usrp2_sink_base::read_gpio "Read daughterboard GPIO pin values.
+
+Params: (value)"
+
+%feature("docstring") usrp2_sink_base::start_streaming_at "First samples begin streaming to USRP2 at given time.
+
+Params: (time)"
+
+%feature("docstring") usrp2_source_base "Base class for all USRP2 source blocks"
+
+%feature("docstring") usrp2_source_base::usrp2_source_base "
+
+Params: (name, output_signature, ifc, mac)"
+
+%feature("docstring") usrp2_source_base::~usrp2_source_base "
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::set_antenna "Set antenna.
+
+Params: (ant)"
+
+%feature("docstring") usrp2_source_base::set_gain "Set receiver gain.
+
+Params: (gain)"
+
+%feature("docstring") usrp2_source_base::set_lo_offset "Set receive LO offset frequency.
+
+Params: (frequency)"
+
+%feature("docstring") usrp2_source_base::set_center_freq "Set receiver center frequency.
+
+Params: (frequency, tr)"
+
+%feature("docstring") usrp2_source_base::set_decim "Set receive decimation rate.
+
+Params: (decimation_factor)"
+
+%feature("docstring") usrp2_source_base::set_scale_iq "Set receive IQ scale factors.
+
+Params: (scale_i, scale_q)"
+
+%feature("docstring") usrp2_source_base::decim "Get receive decimation rate.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::adc_rate "Get the ADC sample rate.
+
+Params: (rate)"
+
+%feature("docstring") usrp2_source_base::gain_min "Returns minimum Rx gain.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::gain_max "Returns maximum Rx gain.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::gain_db_per_step "Returns Rx gain db_per_step.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::freq_min "Returns minimum Rx center frequency.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::freq_max "Returns maximum Rx center frequency.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::daughterboard_id "Get Rx daughterboard ID.
+
+daughterboard id >= 0 if successful, -1 if no daugherboard installed, -2 if invalid EEPROM on daughterboard.
+
+Params: (dbid)"
+
+%feature("docstring") usrp2_source_base::overruns "Returns number of receiver overruns.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::missing "Returns number of missing sequence numbers.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::start "Called by scheduler when starting flowgraph.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::stop "Called by scheduler when stopping flowgraph.
+
+Params: (NONE)"
+
+%feature("docstring") usrp2_source_base::set_gpio_ddr "Set daughterboard GPIO data direction register.
+
+Params: (value, mask)"
+
+%feature("docstring") usrp2_source_base::set_gpio_sels "Set daughterboard GPIO output selection register.
+
+Params: (sels)"
+
+%feature("docstring") usrp2_source_base::write_gpio "Set daughterboard GPIO pin values.
+
+Params: (value, mask)"
+
+%feature("docstring") usrp2_source_base::read_gpio "Read daughterboard GPIO pin values.
+
+Params: (value)"
+
+%feature("docstring") usrp2_source_base::enable_gpio_streaming "Enable streaming GPIO in sample LSBs.
+
+Params: (enable)"
+
+%feature("docstring") usrp_base "base class for GNU Radio interface to the USRP"
+
+%feature("docstring") usrp_base::usrp_base "
+
+Params: (name, input_signature, output_signature)"
+
+%feature("docstring") usrp_base::set_usrp_basic "
+
+Params: (u)"
+
+%feature("docstring") usrp_base::~usrp_base "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_base::db "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_base::selected_subdev "given a usrp_subdev_spec, return the corresponding daughterboard object.
+
+Params: (ss)"
+
+%feature("docstring") usrp_base::fpga_master_clock_freq "return frequency of master oscillator on USRP
+
+Params: (NONE)"
+
+%feature("docstring") usrp_base::set_fpga_master_clock_freq "Tell API that the master oscillator on the USRP is operating at a non-standard fixed frequency. This is only needed for custom USRP hardware modified to operate at a different frequency from the default factory configuration. This function must be called prior to any other API function.
+
+Params: (master_clock)"
+
+%feature("docstring") usrp_base::set_verbose "
+
+Params: (on)"
+
+%feature("docstring") usrp_base::write_eeprom "Write EEPROM on motherboard or any daughterboard.
+
+Params: (i2c_addr, eeprom_offset, buf)"
+
+%feature("docstring") usrp_base::read_eeprom "Read EEPROM on motherboard or any daughterboard.
+
+Params: (i2c_addr, eeprom_offset, len)"
+
+%feature("docstring") usrp_base::write_i2c "Write to I2C peripheral.
+
+Params: (i2c_addr, buf)"
+
+%feature("docstring") usrp_base::read_i2c "Read from I2C peripheral.
+
+Params: (i2c_addr, len)"
+
+%feature("docstring") usrp_base::set_adc_offset "Set ADC offset correction.
+
+Params: (which_adc, offset)"
+
+%feature("docstring") usrp_base::set_dac_offset "Set DAC offset correction.
+
+Params: (which_dac, offset, offset_pin)"
+
+%feature("docstring") usrp_base::set_adc_buffer_bypass "Control ADC input buffer.
+
+Params: (which_adc, bypass)"
+
+%feature("docstring") usrp_base::set_dc_offset_cl_enable "Enable/disable automatic DC offset removal control loop in FPGA.
+
+If the corresponding bit is set, enable the automatic DC offset correction control loop.
+
+
+
+
+
+By default the control loop is enabled on all ADC's.
+
+Params: (bits, mask)"
+
+%feature("docstring") usrp_base::serial_number "return the usrp's serial number.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_base::daughterboard_id "Return daughterboard ID for given side [0,1].
+
+Params: (which_side)"
+
+%feature("docstring") usrp_base::write_atr_tx_delay "Clock ticks to delay rising of T/R signal.
+
+Params: (value)"
+
+%feature("docstring") usrp_base::write_atr_rx_delay "Clock ticks to delay falling edge of T/R signal.
+
+Params: (value)"
+
+%feature("docstring") usrp_base::set_pga "Set Programmable Gain Amplifier (PGA).
+
+gain is rounded to closest setting supported by hardware.
+
+Params: (which_amp, gain_in_db)"
+
+%feature("docstring") usrp_base::pga "Return programmable gain amplifier gain setting in dB.
+
+Params: (which_amp)"
+
+%feature("docstring") usrp_base::pga_min "Return minimum legal PGA gain in dB.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_base::pga_max "Return maximum legal PGA gain in dB.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_base::pga_db_per_step "Return hardware step size of PGA (linear in dB).
+
+Params: (NONE)"
+
+%feature("docstring") usrp_base::_write_oe "Write direction register (output enables) for pins that go to daughterboard.
+
+Each d'board has 16-bits of general purpose i/o. Setting the bit makes it an output from the FPGA to the d'board.
+
+This register is initialized based on a value stored in the d'board EEPROM. In general, you shouldn't be using this routine without a very good reason. Using this method incorrectly will kill your USRP motherboard and/or daughterboard.
+
+Params: (which_side, value, mask)"
+
+%feature("docstring") usrp_base::write_io "Write daughterboard i/o pin value.
+
+Params: (which_side, value, mask)"
+
+%feature("docstring") usrp_base::read_io "Read daughterboard i/o pin value.
+
+Params: (which_side)"
+
+%feature("docstring") usrp_base::write_refclk "Write daughterboard refclk config register.
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_base::write_atr_mask "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_base::write_atr_txval "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_base::write_atr_rxval "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_base::write_aux_dac "Write auxiliary digital to analog converter.
+
+Params: (which_side, which_dac, value)"
+
+%feature("docstring") usrp_base::read_aux_adc "Read auxiliary analog to digital converter.
+
+Params: (which_side, which_adc)"
+
+%feature("docstring") usrp_base::converter_rate "returns A/D or D/A converter rate in Hz
+
+Params: (NONE)"
+
+%feature("docstring") usrp_base::_set_led "
+
+Params: (which_led, on)"
+
+%feature("docstring") usrp_base::_write_fpga_reg "Write FPGA register.
+
+Params: (regno, value)"
+
+%feature("docstring") usrp_base::_read_fpga_reg "Read FPGA register.
+
+Params: (regno, value)"
+
+%feature("docstring") usrp_base::_write_fpga_reg_masked "Write FPGA register with mask.
+
+Params: (regno, value, mask)"
+
+%feature("docstring") usrp_base::_write_9862 "Write AD9862 register.
+
+Params: (which_codec, regno, value)"
+
+%feature("docstring") usrp_base::_read_9862 "Read AD9862 register.
+
+Params: (which_codec, regno)"
+
+%feature("docstring") usrp_base::_write_spi "Write data to SPI bus peripheral.
+
+If specifies that optional_header bytes are present, they are written to the peripheral immediately prior to writing .
+
+Params: (optional_header, enables, format, buf)"
+
+%feature("docstring") usrp_base::_read_spi "
+
+Params: (optional_header, enables, format, len)"
+
+%feature("docstring") usrp_base::pick_subdev "Return an existing daughterboard from list of candidate dbids, or the first found on side A or side B.
+
+
+Throws std::runtime_error if not found
+
+Params: (candidates)"
+
+%feature("docstring") usrp_basic "abstract base class for usrp operations"
+
+%feature("docstring") usrp_basic::shutdown_daughterboards "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::init_db "One time call, made only only from usrp_standard_*make after shared_ptr is created.
+
+Params: (u)"
+
+%feature("docstring") usrp_basic::usrp_basic "
+
+Params: (which_board, open_interface, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_basic::set_usb_data_rate "advise usrp_basic of usb data rate (bytes/sec)
+
+N.B., this doesn't tweak any hardware. Derived classes should call this to inform us of the data rate whenever it's first set or if it changes.
+
+Params: (usb_data_rate)"
+
+%feature("docstring") usrp_basic::_write_aux_dac "Write auxiliary digital to analog converter.
+
+Params: (slot, which_dac, value)"
+
+%feature("docstring") usrp_basic::_read_aux_adc "Read auxiliary analog to digital converter.
+
+Params: (slot, which_adc, value)"
+
+%feature("docstring") usrp_basic::~usrp_basic "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::db "Return a vector of vectors that contain shared pointers to the daughterboard instance(s) associated with the specified side.
+
+It is an error to use the returned objects after the usrp_basic object has been destroyed.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::is_valid "is the subdev_spec valid?
+
+Params: (ss)"
+
+%feature("docstring") usrp_basic::selected_subdev "given a subdev_spec, return the corresponding daughterboard object.
+
+Params: (ss)"
+
+%feature("docstring") usrp_basic::fpga_master_clock_freq "return frequency of master oscillator on USRP
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::set_fpga_master_clock_freq "Tell API that the master oscillator on the USRP is operating at a non-standard fixed frequency. This is only needed for custom USRP hardware modified to operate at a different frequency from the default factory configuration. This function must be called prior to any other API function.
+
+Params: (master_clock)"
+
+%feature("docstring") usrp_basic::usb_data_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::set_verbose "
+
+Params: (on)"
+
+%feature("docstring") usrp_basic::write_eeprom "Write EEPROM on motherboard or any daughterboard.
+
+Params: (i2c_addr, eeprom_offset, buf)"
+
+%feature("docstring") usrp_basic::read_eeprom "Read EEPROM on motherboard or any daughterboard.
+
+Params: (i2c_addr, eeprom_offset, len)"
+
+%feature("docstring") usrp_basic::write_i2c "Write to I2C peripheral.
+
+Params: (i2c_addr, buf)"
+
+%feature("docstring") usrp_basic::read_i2c "Read from I2C peripheral.
+
+Params: (i2c_addr, len)"
+
+%feature("docstring") usrp_basic::set_adc_offset "Set ADC offset correction.
+
+Params: (which_adc, offset)"
+
+%feature("docstring") usrp_basic::set_dac_offset "Set DAC offset correction.
+
+Params: (which_dac, offset, offset_pin)"
+
+%feature("docstring") usrp_basic::set_adc_buffer_bypass "Control ADC input buffer.
+
+Params: (which_adc, bypass)"
+
+%feature("docstring") usrp_basic::set_dc_offset_cl_enable "Enable/disable automatic DC offset removal control loop in FPGA.
+
+If the corresponding bit is set, enable the automatic DC offset correction control loop.
+
+
+
+
+
+By default the control loop is enabled on all ADC's.
+
+Params: (bits, mask)"
+
+%feature("docstring") usrp_basic::serial_number "return the usrp's serial number.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::daughterboard_id "Return daughterboard ID for given side [0,1].
+
+Params: (which_side)"
+
+%feature("docstring") usrp_basic::write_atr_tx_delay "Clock ticks to delay rising of T/R signal.
+
+Params: (value)"
+
+%feature("docstring") usrp_basic::write_atr_rx_delay "Clock ticks to delay falling edge of T/R signal.
+
+Params: (value)"
+
+%feature("docstring") usrp_basic::common_set_pga "Set Programmable Gain Amplifier(PGA).
+
+gain is rounded to closest setting supported by hardware.
+
+Params: (txrx, which_amp, gain_in_db)"
+
+%feature("docstring") usrp_basic::common_pga "Return programmable gain amplifier gain setting in dB.
+
+Params: (txrx, which_amp)"
+
+%feature("docstring") usrp_basic::common_pga_min "Return minimum legal PGA gain in dB.
+
+Params: (txrx)"
+
+%feature("docstring") usrp_basic::common_pga_max "Return maximum legal PGA gain in dB.
+
+Params: (txrx)"
+
+%feature("docstring") usrp_basic::common_pga_db_per_step "Return hardware step size of PGA(linear in dB).
+
+Params: (txrx)"
+
+%feature("docstring") usrp_basic::_common_write_oe "Write direction register(output enables) for pins that go to daughterboard.
+
+Each d'board has 16-bits of general purpose i/o. Setting the bit makes it an output from the FPGA to the d'board.
+
+This register is initialized based on a value stored in the d'board EEPROM. In general, you shouldn't be using this routine without a very good reason. Using this method incorrectly will kill your USRP motherboard and/or daughterboard.
+
+Params: (txrx, which_side, value, mask)"
+
+%feature("docstring") usrp_basic::common_write_io "Write daughterboard i/o pin value.
+
+Params: (txrx, which_side, value, mask)"
+
+%feature("docstring") usrp_basic::common_read_io "Read daughterboard i/o pin value.
+
+Params: (txrx, which_side, value)"
+
+%feature("docstring") usrp_basic::common_write_refclk "Write daughterboard refclk config register.
+
+Params: (txrx, which_side, value)"
+
+%feature("docstring") usrp_basic::common_write_atr_mask "Automatic Transmit/Receive switching.
+
+Params: (txrx, which_side, value)"
+
+%feature("docstring") usrp_basic::common_write_atr_txval "
+
+Params: (txrx, which_side, value)"
+
+%feature("docstring") usrp_basic::common_write_atr_rxval "
+
+Params: (txrx, which_side, value)"
+
+%feature("docstring") usrp_basic::common_write_aux_dac "Write auxiliary digital to analog converter.
+
+Params: (txrx, which_side, which_dac, value)"
+
+%feature("docstring") usrp_basic::common_read_aux_adc "Read auxiliary analog to digital converter.
+
+Params: (txrx, which_side, which_adc, value)"
+
+%feature("docstring") usrp_basic::set_pga "Set Programmable Gain Amplifier (PGA).
+
+gain is rounded to closest setting supported by hardware.
+
+Params: (which_amp, gain_in_db)"
+
+%feature("docstring") usrp_basic::pga "Return programmable gain amplifier gain setting in dB.
+
+Params: (which_amp)"
+
+%feature("docstring") usrp_basic::pga_min "Return minimum legal PGA gain in dB.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::pga_max "Return maximum legal PGA gain in dB.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::pga_db_per_step "Return hardware step size of PGA (linear in dB).
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::_write_oe "Write direction register (output enables) for pins that go to daughterboard.
+
+Each d'board has 16-bits of general purpose i/o. Setting the bit makes it an output from the FPGA to the d'board.
+
+This register is initialized based on a value stored in the d'board EEPROM. In general, you shouldn't be using this routine without a very good reason. Using this method incorrectly will kill your USRP motherboard and/or daughterboard.
+
+Params: (which_side, value, mask)"
+
+%feature("docstring") usrp_basic::write_io "Write daughterboard i/o pin value.
+
+Params: (which_side, value, mask)"
+
+%feature("docstring") usrp_basic::read_io "Read daughterboard i/o pin value.
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic::write_refclk "Write daughterboard refclk config register.
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic::write_atr_mask "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic::write_atr_txval "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic::write_atr_rxval "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic::write_aux_dac "Write auxiliary digital to analog converter.
+
+Params: (which_side, which_dac, value)"
+
+%feature("docstring") usrp_basic::read_aux_adc "Read auxiliary analog to digital converter.
+
+Params: (which_side, which_adc, value)"
+
+%feature("docstring") usrp_basic::block_size "returns current fusb block size
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::converter_rate "returns A/D or D/A converter rate in Hz
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::_set_led "
+
+Params: (which_led, on)"
+
+%feature("docstring") usrp_basic::_write_fpga_reg "Write FPGA register.
+
+Params: (regno, value)"
+
+%feature("docstring") usrp_basic::_read_fpga_reg "Read FPGA register.
+
+Params: (regno, value)"
+
+%feature("docstring") usrp_basic::_write_fpga_reg_masked "Write FPGA register with mask.
+
+Params: (regno, value, mask)"
+
+%feature("docstring") usrp_basic::_write_9862 "Write AD9862 register.
+
+Params: (which_codec, regno, value)"
+
+%feature("docstring") usrp_basic::_read_9862 "Read AD9862 register.
+
+Params: (which_codec, regno, value)"
+
+%feature("docstring") usrp_basic::_write_spi "Write data to SPI bus peripheral.
+
+If specifies that optional_header bytes are present, they are written to the peripheral immediately prior to writing .
+
+Params: (optional_header, enables, format, buf)"
+
+%feature("docstring") usrp_basic::_read_spi "
+
+Params: (optional_header, enables, format, len)"
+
+%feature("docstring") usrp_basic::start "Start data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic::stop "Stop data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx "class for accessing the receive side of the USRP"
+
+%feature("docstring") usrp_basic_rx::usrp_basic_rx "
+
+Params: (which_board, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_basic_rx::set_rx_enable "
+
+Params: (on)"
+
+%feature("docstring") usrp_basic_rx::rx_enable "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::disable_rx "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::restore_rx "
+
+Params: (on)"
+
+%feature("docstring") usrp_basic_rx::probe_rx_slots "
+
+Params: (verbose)"
+
+%feature("docstring") usrp_basic_rx::~usrp_basic_rx "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::set_fpga_rx_sample_rate_divisor "tell the fpga the rate rx samples are coming from the A/D's
+
+div = fpga_master_clock_freq () / sample_rate
+
+sample_rate is determined by a myriad of registers in the 9862. That's why you have to tell us, so we can tell the fpga.
+
+Params: (div)"
+
+%feature("docstring") usrp_basic_rx::read "read data from the D/A's via the FPGA. must be a multiple of 512 bytes.
+
+If overrun is non-NULL it will be set true iff an RX overrun is detected.
+
+Params: (buf, len, overrun)"
+
+%feature("docstring") usrp_basic_rx::converter_rate "sampling rate of A/D converter
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::adc_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::daughterboard_id "Return daughterboard ID for given side [0,1].
+
+Params: (which_side)"
+
+%feature("docstring") usrp_basic_rx::set_pga "Set Programmable Gain Amplifier (PGA).
+
+gain is rounded to closest setting supported by hardware.
+
+Params: (which_amp, gain_in_db)"
+
+%feature("docstring") usrp_basic_rx::pga "Return programmable gain amplifier gain setting in dB.
+
+Params: (which_amp)"
+
+%feature("docstring") usrp_basic_rx::pga_min "Return minimum legal PGA gain in dB.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::pga_max "Return maximum legal PGA gain in dB.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::pga_db_per_step "Return hardware step size of PGA (linear in dB).
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::_write_oe "Write direction register (output enables) for pins that go to daughterboard.
+
+Each d'board has 16-bits of general purpose i/o. Setting the bit makes it an output from the FPGA to the d'board.
+
+This register is initialized based on a value stored in the d'board EEPROM. In general, you shouldn't be using this routine without a very good reason. Using this method incorrectly will kill your USRP motherboard and/or daughterboard.
+
+Params: (which_side, value, mask)"
+
+%feature("docstring") usrp_basic_rx::write_io "Write daughterboard i/o pin value.
+
+Params: (which_side, value, mask)"
+
+%feature("docstring") usrp_basic_rx::read_io "Read daughterboard i/o pin value.
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_rx::write_refclk "Write daughterboard refclk config register.
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_rx::write_atr_mask "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_rx::write_atr_txval "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_rx::write_atr_rxval "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_rx::write_aux_dac "Write auxiliary digital to analog converter.
+
+Params: (which_side, which_dac, value)"
+
+%feature("docstring") usrp_basic_rx::read_aux_adc "Read auxiliary analog to digital converter.
+
+Params: (which_side, which_adc, value)"
+
+%feature("docstring") usrp_basic_rx::block_size "returns current fusb block size
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::start "Start data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::stop "Stop data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_rx::make "invokes constructor, returns instance or 0 if trouble
+
+Params: (which_board, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_basic_tx "class for accessing the transmit side of the USRP"
+
+%feature("docstring") usrp_basic_tx::usrp_basic_tx "
+
+Params: (which_board, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_basic_tx::set_tx_enable "
+
+Params: (on)"
+
+%feature("docstring") usrp_basic_tx::tx_enable "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::disable_tx "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::restore_tx "
+
+Params: (on)"
+
+%feature("docstring") usrp_basic_tx::probe_tx_slots "
+
+Params: (verbose)"
+
+%feature("docstring") usrp_basic_tx::~usrp_basic_tx "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::set_fpga_tx_sample_rate_divisor "tell the fpga the rate tx samples are going to the D/A's
+
+div = fpga_master_clock_freq () * 2
+
+sample_rate is determined by a myriad of registers in the 9862. That's why you have to tell us, so we can tell the fpga.
+
+Params: (div)"
+
+%feature("docstring") usrp_basic_tx::write "Write data to the A/D's via the FPGA.
+
+must be a multiple of 512 bytes.
+if is non-NULL, it will be set to true iff a transmit underrun condition is detected.
+
+Params: (buf, len, underrun)"
+
+%feature("docstring") usrp_basic_tx::wait_for_completion "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::converter_rate "sampling rate of D/A converter
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::dac_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::daughterboard_id "Return daughterboard ID for given side [0,1].
+
+Params: (which_side)"
+
+%feature("docstring") usrp_basic_tx::set_pga "Set Programmable Gain Amplifier (PGA).
+
+gain is rounded to closest setting supported by hardware.
+
+Params: (which_amp, gain_in_db)"
+
+%feature("docstring") usrp_basic_tx::pga "Return programmable gain amplifier gain setting in dB.
+
+Params: (which_amp)"
+
+%feature("docstring") usrp_basic_tx::pga_min "Return minimum legal PGA gain in dB.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::pga_max "Return maximum legal PGA gain in dB.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::pga_db_per_step "Return hardware step size of PGA (linear in dB).
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::_write_oe "Write direction register (output enables) for pins that go to daughterboard.
+
+Each d'board has 16-bits of general purpose i/o. Setting the bit makes it an output from the FPGA to the d'board.
+
+This register is initialized based on a value stored in the d'board EEPROM. In general, you shouldn't be using this routine without a very good reason. Using this method incorrectly will kill your USRP motherboard and/or daughterboard.
+
+Params: (which_side, value, mask)"
+
+%feature("docstring") usrp_basic_tx::write_io "Write daughterboard i/o pin value.
+
+Params: (which_side, value, mask)"
+
+%feature("docstring") usrp_basic_tx::read_io "Read daughterboard i/o pin value.
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_tx::write_refclk "Write daughterboard refclk config register.
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_tx::write_atr_mask "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_tx::write_atr_txval "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_tx::write_atr_rxval "
+
+Params: (which_side, value)"
+
+%feature("docstring") usrp_basic_tx::write_aux_dac "Write auxiliary digital to analog converter.
+
+Params: (which_side, which_dac, value)"
+
+%feature("docstring") usrp_basic_tx::read_aux_adc "Read auxiliary analog to digital converter.
+
+Params: (which_side, which_adc, value)"
+
+%feature("docstring") usrp_basic_tx::block_size "returns current fusb block size
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::start "Start data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::stop "Stop data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_basic_tx::make "invokes constructor, returns instance or 0 if trouble
+
+Params: (which_board, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_local_sighandler "Get and set signal handler.
+
+Constructor installs new handler, destructor reinstalls original value."
+
+%feature("docstring") usrp_local_sighandler::usrp_local_sighandler "
+
+Params: (signum, new_handler)"
+
+%feature("docstring") usrp_local_sighandler::~usrp_local_sighandler "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_local_sighandler::throw_signal "
+
+Params: (signum)"
+
+
+
+%feature("docstring") usrp_rx_cfile::usrp_rx_cfile "
+
+Params: (which, spec, decim, freq, gain, width8, nohb, output_shorts, nsamples, filename)"
+
+
+
+%feature("docstring") usrp_siggen::usrp_siggen "
+
+Params: (which, spec, rf_freq, interp, wfreq, waveform, amp, gain, offset, nsamples)"
+
+%feature("docstring") usrp_signal "Representation of signal."
+
+%feature("docstring") usrp_signal::usrp_signal "
+
+Params: (signum)"
+
+%feature("docstring") usrp_signal::signal "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_signal::name "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base "abstract interface to Universal Software Radio Peripheral Tx path (Rev 1)"
+
+%feature("docstring") usrp_sink_base::usrp_sink_base "
+
+Params: (name, input_signature, which_board, interp_rate, nchan, mux, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_sink_base::copy_to_usrp_buffer "convert between input item format and usrp native format
+
+Params: (input_items, input_index, input_items_available, input_items_consumed, usrp_buffer, usrp_buffer_length, bytes_written)"
+
+%feature("docstring") usrp_sink_base::~usrp_sink_base "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") usrp_sink_base::set_interp_rate "Set interpolator rate. must be in [4, 1024] and a multiple of 4.
+
+The final complex sample rate across the USB is dac_freq () / interp_rate () * nchannels ()
+
+Params: (rate)"
+
+%feature("docstring") usrp_sink_base::set_nchannels "
+
+Params: (nchan)"
+
+%feature("docstring") usrp_sink_base::set_mux "
+
+Params: (mux)"
+
+%feature("docstring") usrp_sink_base::determine_tx_mux_value "
+
+Params: (ss)"
+
+%feature("docstring") usrp_sink_base::set_tx_freq "set the frequency of the digital up converter.
+
+must be 0. is the center frequency in Hz. It must be in the range [-44M, 44M]. The frequency specified is quantized. Use tx_freq to retrieve the actual value used.
+
+Params: (channel, freq)"
+
+%feature("docstring") usrp_sink_base::dac_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::dac_freq "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::interp_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::nchannels "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::mux "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::tx_freq "
+
+Params: (channel)"
+
+%feature("docstring") usrp_sink_base::nunderruns "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::has_rx_halfband "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::has_tx_halfband "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::nddcs "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::nducs "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::start "Called to enable drivers, etc for i/o devices.
+
+This allows a block to enable an associated driver to begin transfering data just before we start to execute the scheduler. The end result is that this reduces latency in the pipeline when dealing with audio devices, usrps, etc.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::stop "Called to disable drivers, etc for i/o devices.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_sink_base::tune "High-level \"tune\" method. Works for the single channel case.
+
+This method adjusts both the daughterboard LO and the DUC so that DC in the complex baseband samples ends up at RF target_freq.
+
+Params: (chan, db, target_freq, result)"
+
+%feature("docstring") usrp_sink_base::pick_tx_subdevice "Select suitable Tx daughterboard.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base "abstract interface to Universal Software Radio Peripheral Rx path (Rev 1)"
+
+%feature("docstring") usrp_source_base::usrp_source_base "
+
+Params: (name, output_signature, which_board, decim_rate, nchan, mux, mode, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_source_base::ninput_bytes_reqd_for_noutput_items "return number of usrp input bytes required to produce noutput items.
+
+Params: (noutput_items)"
+
+%feature("docstring") usrp_source_base::sizeof_basic_sample "number of bytes in a low-level sample
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::copy_from_usrp_buffer "convert between native usrp format and output item format
+
+The copy must consume all bytes available. That is, must equal .
+
+Params: (output_items, output_index, output_items_available, output_items_produced, usrp_buffer, usrp_buffer_length, bytes_read)"
+
+%feature("docstring") usrp_source_base::~usrp_source_base "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") usrp_source_base::set_decim_rate "Set decimator rate. must be EVEN and in [8, 256].
+
+The final complex sample rate across the USB is adc_freq () / decim_rate ()
+
+Params: (rate)"
+
+%feature("docstring") usrp_source_base::set_nchannels "
+
+Params: (nchan)"
+
+%feature("docstring") usrp_source_base::set_mux "
+
+Params: (mux)"
+
+%feature("docstring") usrp_source_base::determine_rx_mux_value "
+
+Params: (ss)"
+
+%feature("docstring") usrp_source_base::set_rx_freq "set the center frequency of the digital down converter.
+
+must be 0. is the center frequency in Hz. It must be in the range [-FIXME, FIXME]. The frequency specified is quantized. Use rx_freq to retrieve the actual value used.
+
+Params: (channel, freq)"
+
+%feature("docstring") usrp_source_base::set_fpga_mode "set fpga special modes
+
+Params: (mode)"
+
+%feature("docstring") usrp_source_base::set_ddc_phase "Set the digital down converter phase register.
+
+Params: (channel, phase)"
+
+%feature("docstring") usrp_source_base::adc_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::adc_freq "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::decim_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::nchannels "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::mux "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::rx_freq "
+
+Params: (channel)"
+
+%feature("docstring") usrp_source_base::noverruns "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::has_rx_halfband "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::has_tx_halfband "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::nddcs "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::nducs "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::start "Called to enable drivers, etc for i/o devices.
+
+This allows a block to enable an associated driver to begin transfering data just before we start to execute the scheduler. The end result is that this reduces latency in the pipeline when dealing with audio devices, usrps, etc.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::stop "Called to disable drivers, etc for i/o devices.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::set_format "Specify Rx data format.
+
+Rx data format control register
+
+3 2 1 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +-----------------------------------------+-+-+---------+-------+ | Reserved (Must be zero) |B|Q| WIDTH | SHIFT | +-----------------------------------------+-+-+---------+-------+
+
+SHIFT specifies arithmetic right shift [0, 15] WIDTH specifies bit-width of I & Q samples across the USB [1, 16] (not all valid) Q if set deliver both I & Q, else just I B if set bypass half-band filter.
+
+Right now the acceptable values are:
+
+B Q WIDTH SHIFT 0 1 16 0 0 1 8 8
+
+More valid combos to come.
+
+Default value is 0x00000300 16-bits, 0 shift, deliver both I & Q.
+
+Params: (format)"
+
+%feature("docstring") usrp_source_base::format "return current format
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::tune "High-level \"tune\" method. Works for the single channel case.
+
+This method adjusts both the daughterboard LO and the DDC so that target_freq ends up at DC in the complex baseband samples.
+
+Params: (chan, db, target_freq, result)"
+
+%feature("docstring") usrp_source_base::pick_rx_subdevice "Select suitable Rx daughterboard.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_source_base::make_format "
+
+Params: (width, shift, want_q, bypass_halfband)"
+
+%feature("docstring") usrp_source_base::format_width "
+
+Params: (format)"
+
+%feature("docstring") usrp_source_base::format_shift "
+
+Params: (format)"
+
+%feature("docstring") usrp_source_base::format_want_q "
+
+Params: (format)"
+
+%feature("docstring") usrp_source_base::format_bypass_halfband "
+
+Params: (format)"
+
+
+
+%feature("docstring") usrp_standard_common::usrp_standard_common "
+
+Params: (parent)"
+
+%feature("docstring") usrp_standard_common::has_rx_halfband "does the FPGA implement the final Rx half-band filter? If it doesn't, the maximum decimation factor with proper gain is 1/2 of what it would otherwise be.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_common::nddcs "number of digital downconverters implemented in the FPGA This will be 0, 1, 2 or 4.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_common::has_tx_halfband "does the FPGA implement the initial Tx half-band filter?
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_common::nducs "number of digital upconverters implemented in the FPGA This will be 0, 1, or 2.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_common::calc_dxc_freq "Calculate the frequency to use for setting the digital up or down converter.
+
+Params: (target_freq, baseband_freq, fs, dxc_freq, inverted)"
+
+%feature("docstring") usrp_standard_rx "The C++ interface the receive side of the USRP
+
+This is the recommended interface to USRP receive functionality for applications that use the USRP but not GNU Radio."
+
+%feature("docstring") usrp_standard_rx::usrp_standard_rx "
+
+Params: (which_board, decim_rate, nchan, mux, mode, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_standard_rx::write_hw_mux_reg "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_rx::~usrp_standard_rx "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_rx::set_decim_rate "Set decimator rate. MUST BE EVEN and in [8, 256].
+
+The final complex sample rate across the USB is adc_freq () / decim_rate () * nchannels ()
+
+Params: (rate)"
+
+%feature("docstring") usrp_standard_rx::set_nchannels "Set number of active channels. must be 1, 2 or 4.
+
+The final complex sample rate across the USB is adc_freq () / decim_rate () * nchannels ()
+
+Params: (nchannels)"
+
+%feature("docstring") usrp_standard_rx::set_mux "Set input mux configuration.
+
+This determines which ADC (or constant zero) is connected to each DDC input. There are 4 DDCs. Each has two inputs.
+
+Params: (mux)"
+
+%feature("docstring") usrp_standard_rx::determine_rx_mux_value "Determine the appropriate Rx mux value as a function of the subdevice choosen and the characteristics of the respective daughterboard.
+
+Params: (ss)"
+
+%feature("docstring") usrp_standard_rx::set_rx_freq "set the frequency of the digital down converter.
+
+must be in the range [0,3]. is the center frequency in Hz. may be either negative or postive. The frequency specified is quantized. Use rx_freq to retrieve the actual value used.
+
+Params: (channel, freq)"
+
+%feature("docstring") usrp_standard_rx::set_fpga_mode "set fpga mode
+
+Params: (mode)"
+
+%feature("docstring") usrp_standard_rx::set_ddc_phase "Set the digital down converter phase register.
+
+Params: (channel, phase)"
+
+%feature("docstring") usrp_standard_rx::set_format "Specify Rx data format.
+
+Rx data format control register
+
+3 2 1 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +-----------------------------------------+-+-+---------+-------+ | Reserved (Must be zero) |B|Q| WIDTH | SHIFT | +-----------------------------------------+-+-+---------+-------+
+
+SHIFT specifies arithmetic right shift [0, 15] WIDTH specifies bit-width of I & Q samples across the USB [1, 16] (not all valid) Q if set deliver both I & Q, else just I B if set bypass half-band filter.
+
+Right now the acceptable values are:
+
+B Q WIDTH SHIFT 0 1 16 0 0 1 8 8
+
+More valid combos to come.
+
+Default value is 0x00000300 16-bits, 0 shift, deliver both I & Q.
+
+Params: (format)"
+
+%feature("docstring") usrp_standard_rx::tune "High-level \"tune\" method. Works for the single channel case.
+
+This method adjusts both the daughterboard LO and the DDC so that target_freq ends up at DC in the complex baseband samples.
+
+Params: (chan, db, target_freq, result)"
+
+%feature("docstring") usrp_standard_rx::decim_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_rx::rx_freq "
+
+Params: (channel)"
+
+%feature("docstring") usrp_standard_rx::nchannels "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_rx::mux "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_rx::format "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_rx::start "Start data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_rx::stop "Stop data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_rx::make "invokes constructor, returns shared_ptr or shared_ptr equivalent of 0 if trouble
+
+Params: (which_board, decim_rate, nchan, mux, mode, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_standard_rx::make_format "
+
+Params: (width, shift, want_q, bypass_halfband)"
+
+%feature("docstring") usrp_standard_rx::format_width "
+
+Params: (format)"
+
+%feature("docstring") usrp_standard_rx::format_shift "
+
+Params: (format)"
+
+%feature("docstring") usrp_standard_rx::format_want_q "
+
+Params: (format)"
+
+%feature("docstring") usrp_standard_rx::format_bypass_halfband "
+
+Params: (format)"
+
+%feature("docstring") usrp_standard_tx "The C++ interface the transmit side of the USRP
+
+This is the recommended interface to USRP transmit functionality for applications that use the USRP but not GNU Radio.
+
+Uses digital upconverter (coarse & fine modulators) in AD9862..."
+
+%feature("docstring") usrp_standard_tx::set_coarse_modulator "
+
+Params: (channel, cm)"
+
+%feature("docstring") usrp_standard_tx::coarse_modulator "
+
+Params: (channel)"
+
+%feature("docstring") usrp_standard_tx::usrp_standard_tx "
+
+Params: (which_board, interp_rate, nchan, mux, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+%feature("docstring") usrp_standard_tx::write_hw_mux_reg "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_tx::~usrp_standard_tx "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_tx::set_interp_rate "Set interpolator rate. must be in [4, 512] and a multiple of 4.
+
+The final complex sample rate across the USB is dac_freq () / interp_rate () * nchannels ()
+
+Params: (rate)"
+
+%feature("docstring") usrp_standard_tx::set_nchannels "Set number of active channels. must be 1 or 2.
+
+The final complex sample rate across the USB is dac_freq () / decim_rate () * nchannels ()
+
+Params: (nchannels)"
+
+%feature("docstring") usrp_standard_tx::set_mux "Set output mux configuration.
+
+Params: (mux)"
+
+%feature("docstring") usrp_standard_tx::determine_tx_mux_value "Determine the appropriate Tx mux value as a function of the subdevice choosen and the characteristics of the respective daughterboard.
+
+Params: (ss)"
+
+%feature("docstring") usrp_standard_tx::set_tx_freq "set the frequency of the digital up converter.
+
+must be in the range [0,1]. is the center frequency in Hz. It must be in the range [-44M, 44M]. The frequency specified is quantized. Use tx_freq to retrieve the actual value used.
+
+Params: (channel, freq)"
+
+%feature("docstring") usrp_standard_tx::interp_rate "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_tx::tx_freq "
+
+Params: (channel)"
+
+%feature("docstring") usrp_standard_tx::nchannels "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_tx::mux "
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_tx::tune "High-level \"tune\" method. Works for the single channel case.
+
+This method adjusts both the daughterboard LO and the DUC so that DC in the complex baseband samples ends up at RF target_freq.
+
+Params: (chan, db, target_freq, result)"
+
+%feature("docstring") usrp_standard_tx::start "Start data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_tx::stop "Stop data transfers. Called in base class to derived class order.
+
+Params: (NONE)"
+
+%feature("docstring") usrp_standard_tx::make "invokes constructor, returns shared_ptr or shared_ptr equivalent of 0 if trouble
+
+Params: (which_board, interp_rate, nchan, mux, fusb_block_size, fusb_nblocks, fpga_filename, firmware_filename)"
+
+
+
+%feature("docstring") usrp_tune_result::usrp_tune_result "
+
+Params: (baseband, dxc, residual, _inverted)"
+
+%feature("docstring") std::valarray "STL class."
+
+%feature("docstring") std::vector "vector documentation stub
+
+STL class."
+
+%feature("docstring") video_sdl_sink_s "video sink using SDL
+
+input signature is one, two or three streams of signed short. One stream: stream is grey (Y) two streems: first is grey (Y), second is alternating U and V Three streams: first is grey (Y), second is U, third is V Input samples must be in the range [0,255]."
+
+%feature("docstring") video_sdl_sink_s::video_sdl_sink_s "
+
+Params: (framerate, width, height, format, dst_width, dst_height)"
+
+%feature("docstring") video_sdl_sink_s::copy_line_pixel_interleaved "
+
+Params: (dst_pixels_u, dst_pixels_v, src_pixels, src_width)"
+
+%feature("docstring") video_sdl_sink_s::copy_line_line_interleaved "
+
+Params: (dst_pixels_u, dst_pixels_v, src_pixels, src_width)"
+
+%feature("docstring") video_sdl_sink_s::copy_line_single_plane "
+
+Params: (dst_pixels, src_pixels, src_width)"
+
+%feature("docstring") video_sdl_sink_s::copy_line_single_plane_dec2 "
+
+Params: (dst_pixels, src_pixels, src_width)"
+
+%feature("docstring") video_sdl_sink_s::copy_plane_to_surface "
+
+Params: (plane, noutput_items, src_pixels)"
+
+%feature("docstring") video_sdl_sink_s::~video_sdl_sink_s "
+
+Params: (NONE)"
+
+%feature("docstring") video_sdl_sink_s::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+%feature("docstring") video_sdl_sink_uc "video sink using SDL
+
+input signature is one, two or three streams of uchar. One stream: stream is grey (Y) two streems: first is grey (Y), second is alternating U and V Three streams: first is grey (Y), second is U, third is V Input samples must be in the range [0,255]."
+
+%feature("docstring") video_sdl_sink_uc::video_sdl_sink_uc "
+
+Params: (framerate, width, height, format, dst_width, dst_height)"
+
+%feature("docstring") video_sdl_sink_uc::copy_line_pixel_interleaved "
+
+Params: (dst_pixels_u, dst_pixels_v, src_pixels, src_width)"
+
+%feature("docstring") video_sdl_sink_uc::copy_line_line_interleaved "
+
+Params: (dst_pixels_u, dst_pixels_v, src_pixels, src_width)"
+
+%feature("docstring") video_sdl_sink_uc::copy_line_single_plane "
+
+Params: (dst_pixels, src_pixels, src_width)"
+
+%feature("docstring") video_sdl_sink_uc::copy_line_single_plane_dec2 "
+
+Params: (dst_pixels, src_pixels, src_width)"
+
+%feature("docstring") video_sdl_sink_uc::copy_plane_to_surface "
+
+Params: (plane, noutput_items, src_pixels)"
+
+%feature("docstring") video_sdl_sink_uc::~video_sdl_sink_uc "
+
+Params: (NONE)"
+
+%feature("docstring") video_sdl_sink_uc::work "just like gr_block::general_work, only this arranges to call consume_each for you
+
+The user must override work to define the signal processing code
+
+Params: (noutput_items, input_items, output_items)"
+
+
+
+%feature("docstring") wbx_base::shutdown "Called to shutdown daughterboard. Called from dtor and usrp_basic dtor.
+
+N.B., any class that overrides shutdown MUST call shutdown in its destructor.
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::_lock_detect "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::_tx_write_oe "
+
+Params: (value, mask)"
+
+%feature("docstring") wbx_base::_rx_write_oe "
+
+Params: (value, mask)"
+
+%feature("docstring") wbx_base::_tx_write_io "
+
+Params: (value, mask)"
+
+%feature("docstring") wbx_base::_rx_write_io "
+
+Params: (value, mask)"
+
+%feature("docstring") wbx_base::_rx_read_io "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::_tx_read_io "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::_compute_regs "
+
+Params: (freq)"
+
+%feature("docstring") wbx_base::_refclk_freq "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::_refclk_divisor "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::_set_pga "
+
+Params: (pga_gain)"
+
+%feature("docstring") wbx_base::wbx_base "
+
+Params: (usrp, which)"
+
+%feature("docstring") wbx_base::~wbx_base "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::set_freq "
+
+Params: (freq)"
+
+%feature("docstring") wbx_base::gain_min "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::gain_max "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::gain_db_per_step "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") wbx_base::is_quadrature "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") wbx_base_rx::wbx_base_rx "
+
+Params: (usrp, which)"
+
+%feature("docstring") wbx_base_rx::~wbx_base_rx "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base_rx::set_auto_tr "
+
+Params: (on)"
+
+%feature("docstring") wbx_base_rx::select_rx_antenna "
+
+Params: (which_antenna)"
+
+%feature("docstring") wbx_base_rx::set_gain "
+
+Params: (gain)"
+
+%feature("docstring") wbx_base_rx::i_and_q_swapped "
+
+Params: (NONE)"
+
+
+
+%feature("docstring") wbx_base_tx::wbx_base_tx "
+
+Params: (usrp, which)"
+
+%feature("docstring") wbx_base_tx::~wbx_base_tx "
+
+Params: (NONE)"
+
+%feature("docstring") wbx_base_tx::set_auto_tr "
+
+Params: (on)"
+
+%feature("docstring") wbx_base_tx::set_enable "
+
+Params: (on)"
+
+
+
+%feature("docstring") wbxng_base::wbxng_base "
+
+Params: (usrp, which)"
+
+%feature("docstring") wbxng_base::~wbxng_base "
+
+Params: (NONE)"
+
+%feature("docstring") wbxng_base::set_freq "
+
+Params: (freq)"
+
+%feature("docstring") wbxng_base::is_quadrature "
+
+Params: (NONE)"
+
+%feature("docstring") wbxng_base::freq_min "
+
+Params: (NONE)"
+
+%feature("docstring") wbxng_base::freq_max "
+
+Params: (NONE)"
+
+%feature("docstring") wbxng_base::_write_spi "
+
+Params: (data)"
+
+%feature("docstring") wbxng_base::_refclk_divisor "
+
+Params: (NONE)"
+
+%feature("docstring") wbxng_base::_get_locked "
+
+Params: (NONE)"
+
+%feature("docstring") wbxng_base::_set_pga "
+
+Params: (pga_gain)"
+
+%feature("docstring") std::wfstream "STL class."
+
+%feature("docstring") std::wifstream "STL class."
+
+%feature("docstring") std::wios "STL class."
+
+%feature("docstring") std::wistream "STL class."
+
+%feature("docstring") std::wistringstream "STL class."
+
+%feature("docstring") std::wofstream "STL class."
+
+%feature("docstring") std::wostream "STL class."
+
+%feature("docstring") std::wostringstream "STL class."
+
+%feature("docstring") std::wstring "STL class."
+
+%feature("docstring") std::wstringstream "STL class." \ No newline at end of file
diff --git a/gnuradio-core/src/lib/swig/swig_doc.py b/gnuradio-core/src/lib/swig/swig_doc.py
new file mode 100644
index 000000000..52989e1bd
--- /dev/null
+++ b/gnuradio-core/src/lib/swig/swig_doc.py
@@ -0,0 +1,195 @@
+"""
+Creates the swig_doc.i SWIG interface file.
+Execute using: python swig_doc.py xml_path outputfilename
+
+The file instructs SWIG to transfer the doxygen comments into the
+python docstrings.
+
+"""
+
+import sys
+
+from gnuradio.utils.doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction
+
+
+def py_name(name):
+ bits = name.split('_')
+ return '_'.join(bits[1:])
+
+def make_name(name):
+ bits = name.split('_')
+ return bits[0] + '_make_' + '_'.join(bits[1:])
+
+
+class Block(object):
+ """
+ Checks if doxyxml produced objects correspond to a gnuradio block.
+ """
+
+ @classmethod
+ def includes(cls, item):
+ if not isinstance(item, DoxyClass):
+ return False
+ # Check for a parsing error.
+ if item.error():
+ return False
+ return item.has_member(make_name(item.name()), DoxyFriend)
+
+
+def utoascii(text):
+ """
+ Convert unicode text into ascii and escape quotes.
+ """
+ if text is None:
+ return ''
+ out = text.encode('ascii', 'replace')
+ out = out.replace('"', '\\"')
+ return out
+
+
+def combine_descriptions(obj):
+ """
+ Combines the brief and detailed descriptions of an object together.
+ """
+ description = []
+ bd = obj.brief_description
+ dd = obj.detailed_description
+ if bd:
+ description.append(bd)
+ if dd:
+ description.append(dd)
+ return utoascii('\n\n'.join(description))
+
+
+entry_templ = '%feature("docstring") {name} "{docstring}"'
+def make_entry(obj, name=None, templ="{description}", description=None):
+ """
+ Create a docstring entry for a swig interface file.
+
+ obj - a doxyxml object from which documentation will be extracted.
+ name - the name of the C object (defaults to obj.name())
+ templ - an optional template for the docstring containing only one
+ variable named 'description'.
+ description - if this optional variable is set then it's value is
+ used as the description instead of extracting it from obj.
+ """
+ if name is None:
+ name=obj.name()
+ if description is None:
+ description = combine_descriptions(obj)
+ docstring = templ.format(description=description)
+ if not docstring:
+ return ''
+ return entry_templ.format(
+ name=name,
+ docstring=docstring,
+ )
+
+
+def make_func_entry(func, name=None, description=None, params=None):
+ """
+ Create a function docstring entry for a swig interface file.
+
+ func - a doxyxml object from which documentation will be extracted.
+ name - the name of the C object (defaults to func.name())
+ description - if this optional variable is set then it's value is
+ used as the description instead of extracting it from func.
+ params - a parameter list that overrides using func.params.
+ """
+ if params is None:
+ params = func.params
+ params = [prm.declname for prm in params]
+ if params:
+ sig = "Params: (%s)" % ", ".join(params)
+ else:
+ sig = "Params: (NONE)"
+ templ = "{description}\n\n" + sig
+ return make_entry(func, name=name, templ=utoascii(templ), description=description)
+
+
+def make_class_entry(klass):
+ """
+ Create a class docstring for a swig interface file.
+ """
+ output = []
+ output.append(make_entry(klass))
+ for func in klass.in_category(DoxyFunction):
+ name = klass.name() + '::' + func.name()
+ output.append(make_func_entry(func, name=name))
+ return "\n\n".join(output)
+
+
+def make_block_entry(block):
+ """
+ Create class and function docstrings of a gnuradio block for a
+ swig interface file.
+ """
+ output = []
+ # Get creator function
+ make_func = di.get_member(make_name(block.name()))
+ output.append(make_class_entry(block))
+ creator = block.get_member(block.name())
+ make_func_desc = "Creates a {name} block.\n\n{block_desc}"
+ description = make_func_desc.format(
+ block_desc = combine_descriptions(block),
+ name = py_name(block.name()),
+ )
+ output.append(make_func_entry(make_func, description=description, params=creator.params))
+ return "\n\n".join(output)
+
+
+# Parse command line options and set up doxyxml.
+err_msg = "Execute using: python swig_doc.py xml_path outputfilename"
+if len(sys.argv) != 3:
+ raise StandardError(err_msg)
+xml_path = sys.argv[1]
+swigdocfilename = sys.argv[2]
+swig_doc = file(swigdocfilename, 'w')
+di = DoxyIndex(xml_path)
+
+output = []
+
+# gnuradio.gr.msq_queue.insert_tail and delete_head create errors unless docstrings are defined!
+# This is presumably a bug in SWIG.
+msg_q = di.get_member(u'gr_msg_queue')
+insert_tail = msg_q.get_member(u'insert_tail')
+delete_head = msg_q.get_member(u'delete_head')
+output.append(make_func_entry(insert_tail, name='gr_py_msg_queue__insert_tail'))
+output.append(make_func_entry(delete_head, name='gr_py_msg_queue__delete_head'))
+
+# Create docstrings for the blocks.
+blocks = di.in_category(Block)
+make_funcs = set([])
+for block in blocks:
+ try:
+ make_func = di.get_member(make_name(block.name()))
+ make_funcs.add(make_func.name())
+ output.append(make_block_entry(block))
+ except block.ParsingError:
+ print('Parsing error for block %s' % block.name())
+
+# Create docstrings for functions
+# Don't include the make functions since they have already been dealt with.
+funcs = [f for f in di.in_category(DoxyFunction) if f.name() not in make_funcs]
+for f in funcs:
+ try:
+ output.append(make_func_entry(f))
+ except f.ParsingError:
+ print('Parsing error for function %s' % f.name())
+
+# Create docstrings for classes
+block_names = [block.name() for block in blocks]
+klasses = [k for k in di.in_category(DoxyClass) if k.name() not in block_names]
+for k in klasses:
+ try:
+ output.append(make_class_entry(k))
+ except k.ParsingError:
+ print('Parsing error for class %s' % k.name())
+
+# Docstrings are not created for anything that is not a function or a class.
+# If this excludes anything important please add it here.
+
+output = "\n\n".join(output)
+
+swig_doc.write(output)
+swig_doc.close()
diff --git a/gnuradio-core/src/python/gnuradio/Makefile.am b/gnuradio-core/src/python/gnuradio/Makefile.am
index a3f3518de..55a2ba1df 100644
--- a/gnuradio-core/src/python/gnuradio/Makefile.am
+++ b/gnuradio-core/src/python/gnuradio/Makefile.am
@@ -22,7 +22,7 @@
include $(top_srcdir)/Makefile.common
if PYTHON
-SUBDIRS = gr gru gruimpl blks2 blks2impl vocoder
+SUBDIRS = gr gru gruimpl blks2 blks2impl vocoder utils
grpython_PYTHON = \
__init__.py \
diff --git a/gnuradio-core/src/python/gnuradio/utils/Makefile.am b/gnuradio-core/src/python/gnuradio/utils/Makefile.am
new file mode 100644
index 000000000..ed6958669
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/Makefile.am
@@ -0,0 +1,41 @@
+#
+# Copyright 2007,2009 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+include $(top_srcdir)/Makefile.common
+
+if PYTHON
+utilspythondir = $(grpythondir)/utils
+
+TESTS = \
+ run_tests
+
+nobase_utilspython_PYTHON = \
+ __init__.py \
+ doxyxml/__init__.py \
+ doxyxml/base.py \
+ doxyxml/doxyindex.py \
+ doxyxml/text.py \
+ doxyxml/generated/__init__.py \
+ doxyxml/generated/index.py \
+ doxyxml/generated/indexsuper.py \
+ doxyxml/generated/compound.py \
+ doxyxml/generated/compoundsuper.py
+endif \ No newline at end of file
diff --git a/gnuradio-core/src/python/gnuradio/utils/__init__.py b/gnuradio-core/src/python/gnuradio/utils/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/__init__.py
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/__init__.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/__init__.py
new file mode 100644
index 000000000..b2560b6e0
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/__init__.py
@@ -0,0 +1,62 @@
+"""
+Python interface to contents of doxygen xml documentation.
+
+Example use:
+See the contents of the example folder for the C++ and
+doxygen-generated xml used in this example.
+
+>>> # Parse the doxygen docs.
+>>> import os
+>>> this_dir = os.path.dirname(globals()['__file__'])
+>>> xml_path = this_dir + "/example/xml/"
+>>> di = DoxyIndex(xml_path)
+
+Get a list of all top-level objects.
+
+>>> print([mem.name() for mem in di.members()])
+[u'Aadvark', u'aadvarky_enough', u'main']
+
+Get all functions.
+
+>>> print([mem.name() for mem in di.in_category(DoxyFunction)])
+[u'aadvarky_enough', u'main']
+
+Check if an object is present.
+
+>>> di.has_member(u'Aadvark')
+True
+>>> di.has_member(u'Fish')
+False
+
+Get an item by name and check its properties.
+
+>>> aad = di.get_member(u'Aadvark')
+>>> print(aad.brief_description)
+Models the mammal Aadvark.
+>>> print(aad.detailed_description)
+Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.
+<BLANKLINE>
+This line is uninformative and is only to test line breaks in the comments.
+>>> [mem.name() for mem in aad.members()]
+[u'aadvarkness', u'print', u'Aadvark', u'get_aadvarkness']
+>>> aad.get_member(u'print').brief_description
+u'Outputs the vital aadvark statistics.'
+
+"""
+
+from gnuradio.utils.doxyxml.doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther
+
+def _test():
+ import os
+ this_dir = os.path.dirname(globals()['__file__'])
+ xml_path = this_dir + "/example/xml/"
+ di = DoxyIndex(xml_path)
+ # Get the Aadvark class
+ aad = di.get_member('Aadvark')
+ aad.brief_description
+ import doctest
+ return doctest.testmod()
+
+if __name__ == "__main__":
+ _test()
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/base.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/base.py
new file mode 100644
index 000000000..4d4ea2c75
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/base.py
@@ -0,0 +1,198 @@
+"""
+A base class is created.
+
+Classes based upon this are used to make more user-friendly interfaces
+to the doxygen xml docs than the generated classes provide.
+"""
+
+import os
+import pdb
+
+from xml.parsers.expat import ExpatError
+
+from gnuradio.utils.doxyxml.generated import compound
+
+
+class Base(object):
+
+ class Duplicate(StandardError):
+ pass
+
+ class NoSuchMember(StandardError):
+ pass
+
+ class ParsingError(StandardError):
+ pass
+
+ def __init__(self, parse_data, top=None):
+ self._parsed = False
+ self._error = False
+ self._parse_data = parse_data
+ self._members = []
+ self._dict_members = {}
+ self._in_category = {}
+ self._data = {}
+ if top is not None:
+ self._xml_path = top._xml_path
+ # Set up holder of references
+ else:
+ top = self
+ self._refs = {}
+ self._xml_path = parse_data
+ self.top = top
+
+ @classmethod
+ def from_refid(cls, refid, top=None):
+ """ Instantiate class from a refid rather than parsing object. """
+ # First check to see if its already been instantiated.
+ if top is not None and refid in top._refs:
+ return top._refs[refid]
+ # Otherwise create a new instance and set refid.
+ inst = cls(None, top=top)
+ inst.refid = refid
+ inst.add_ref(inst)
+ return inst
+
+ @classmethod
+ def from_parse_data(cls, parse_data, top=None):
+ refid = getattr(parse_data, 'refid', None)
+ if refid is not None and top is not None and refid in top._refs:
+ return top._refs[refid]
+ inst = cls(parse_data, top=top)
+ if refid is not None:
+ inst.refid = refid
+ inst.add_ref(inst)
+ return inst
+
+ def add_ref(self, obj):
+ if hasattr(obj, 'refid'):
+ self.top._refs[obj.refid] = obj
+
+ mem_classes = []
+
+ def get_cls(self, mem):
+ for cls in self.mem_classes:
+ if cls.can_parse(mem):
+ return cls
+ raise StandardError('Did not find a class for this object.')
+
+ def convert_mem(self, mem):
+ cls = self.get_cls(mem)
+ converted = cls.from_parse_data(mem, self.top)
+ if converted is None:
+ raise StandardError('No class matched this object.')
+ self.add_ref(converted)
+ return converted
+
+ @classmethod
+ def includes(cls, inst):
+ return isinstance(inst, cls)
+
+ @classmethod
+ def can_parse(cls, obj):
+ return False
+
+ def _parse(self):
+ self._parsed = True
+
+ def _get_dict_members(self, cat=None):
+ """
+ For given category a dictionary is returned mapping member names to
+ members of that category. For names that are duplicated the name is
+ mapped to None.
+ """
+ self.confirm_no_error()
+ if cat not in self._dict_members:
+ new_dict = {}
+ for mem in self.in_category(cat):
+ if mem.name() not in new_dict:
+ new_dict[mem.name()] = mem
+ else:
+ new_dict[mem.name()] = self.Duplicate
+ self._dict_members[cat] = new_dict
+ return self._dict_members[cat]
+
+ def in_category(self, cat):
+ self.confirm_no_error()
+ if cat is None:
+ return self._members
+ if cat not in self._in_category:
+ self._in_category[cat] = [mem for mem in self._members
+ if cat.includes(mem)]
+ return self._in_category[cat]
+
+ def get_member(self, name, cat=None):
+ self.confirm_no_error()
+ # Check if it's in a namespace or class.
+ bits = name.split('::')
+ first = bits[0]
+ rest = '::'.join(bits[1:])
+ member = self._get_dict_members(cat).get(first, self.NoSuchMember)
+ # Raise any errors that are returned.
+ if member in set([self.NoSuchMember, self.Duplicate]):
+ if member == self.Duplicate:
+ import pdb
+ pdb.set_trace()
+ raise member()
+ if rest:
+ return member.get_member(rest, cat=cat)
+ return member
+
+ def has_member(self, name, cat=None):
+ try:
+ mem = self.get_member(name, cat=cat)
+ return True
+ except self.NoSuchMember:
+ return False
+
+ def data(self):
+ self.confirm_no_error()
+ return self._data
+
+ def members(self):
+ self.confirm_no_error()
+ return self._members
+
+ def process_memberdefs(self):
+ mdtss = []
+ for sec in self._retrieved_data.compounddef.sectiondef:
+ mdtss += sec.memberdef
+ # At the moment we lose all information associated with sections.
+ # Sometimes a memberdef is in several sectiondef.
+ # We make sure we don't get duplicates here.
+ uniques = set([])
+ for mem in mdtss:
+ converted = self.convert_mem(mem)
+ pair = (mem.name, mem.__class__)
+ if pair not in uniques:
+ uniques.add(pair)
+ self._members.append(converted)
+
+ def retrieve_data(self):
+ filename = os.path.join(self._xml_path, self.refid + '.xml')
+ try:
+ self._retrieved_data = compound.parse(filename)
+ except ExpatError:
+ print('Error in xml in file %s' % filename)
+ self._error = True
+ self._retrieved_data = None
+
+ def check_parsed(self):
+ if not self._parsed:
+ self._parse()
+
+ def confirm_no_error(self):
+ self.check_parsed()
+ if self._error:
+ raise self.ParsingError()
+
+ def error(self):
+ self.check_parsed()
+ return self._error
+
+ def name(self):
+ # first see if we can do it without processing.
+ if self._parse_data is not None:
+ return self._parse_data.name
+ self.check_parsed()
+ return self._retrieved_data.compounddef.name
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/doxyindex.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/doxyindex.py
new file mode 100644
index 000000000..c9076a26a
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/doxyindex.py
@@ -0,0 +1,216 @@
+"""
+Classes providing more user-friendly interfaces to the doxygen xml
+docs than the generated classes provide.
+"""
+
+import os
+
+from gnuradio.utils.doxyxml.generated import index
+from gnuradio.utils.doxyxml.base import Base
+from gnuradio.utils.doxyxml.text import description
+
+class DoxyIndex(Base):
+ """
+ Parses a doxygen xml directory.
+ """
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ def _parse(self):
+ if self._parsed:
+ return
+ super(DoxyIndex, self)._parse()
+ self._root = index.parse(os.path.join(self._xml_path, 'index.xml'))
+ for mem in self._root.compound:
+ converted = self.convert_mem(mem)
+ # For files we want the contents to be accessible directly
+ # from the parent rather than having to go through the file
+ # object. I'm not interested in the file object and will
+ # not add it to the index.
+ if self.get_cls(mem) == DoxyFile:
+ if mem.name.endswith('.h'):
+ self._members += converted.members()
+ else:
+ self._members.append(converted)
+
+
+def generate_swig_doc_i(self):
+ """
+ %feature("docstring") gr_make_align_on_samplenumbers_ss::align_state "
+ Wraps the C++: gr_align_on_samplenumbers_ss::align_state";
+ """
+ pass
+
+
+class DoxyCompMem(Base):
+
+
+ kind = None
+
+ def __init__(self, *args, **kwargs):
+ super(DoxyCompMem, self).__init__(*args, **kwargs)
+ #pd = self._parse_data
+ #self.name = pd.name
+
+ @classmethod
+ def can_parse(cls, obj):
+ return obj.kind == cls.kind
+
+ def set_descriptions(self, parse_data):
+ bd = description(getattr(parse_data, 'briefdescription', None))
+ dd = description(getattr(parse_data, 'detaileddescription', None))
+ self._data['brief_description'] = bd
+ self._data['detailed_description'] = dd
+
+class DoxyCompound(DoxyCompMem):
+ pass
+
+class DoxyMember(DoxyCompMem):
+ pass
+
+
+class DoxyFunction(DoxyMember):
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ kind = 'function'
+
+ def _parse(self):
+ if self._parsed:
+ return
+ super(DoxyFunction, self)._parse()
+ self.set_descriptions(self._parse_data)
+ self._data['params'] = []
+ prms = self._parse_data.param
+ for prm in prms:
+ self._data['params'].append(DoxyParam(prm))
+
+ brief_description = property(lambda self: self.data()['brief_description'])
+ detailed_description = property(lambda self: self.data()['detailed_description'])
+ params = property(lambda self: self.data()['params'])
+
+Base.mem_classes.append(DoxyFunction)
+
+
+class DoxyParam(DoxyMember):
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ def _parse(self):
+ if self._parsed:
+ return
+ super(DoxyParam, self)._parse()
+ self.set_descriptions(self._parse_data)
+ self._data['declname'] = self._parse_data.declname
+
+ brief_description = property(lambda self: self.data()['brief_description'])
+ detailed_description = property(lambda self: self.data()['detailed_description'])
+ declname = property(lambda self: self.data()['declname'])
+
+class DoxyClass(DoxyCompound):
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ kind = 'class'
+
+ def _parse(self):
+ if self._parsed:
+ return
+ super(DoxyClass, self)._parse()
+ self.retrieve_data()
+ if self._error:
+ return
+ self.set_descriptions(self._retrieved_data.compounddef)
+ # Sectiondef.kind tells about whether private or public.
+ # We just ignore this for now.
+ self.process_memberdefs()
+
+ brief_description = property(lambda self: self.data()['brief_description'])
+ detailed_description = property(lambda self: self.data()['detailed_description'])
+
+Base.mem_classes.append(DoxyClass)
+
+
+class DoxyFile(DoxyCompound):
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ kind = 'file'
+
+ def _parse(self):
+ if self._parsed:
+ return
+ super(DoxyFile, self)._parse()
+ self.retrieve_data()
+ if self._error:
+ return
+ self.process_memberdefs()
+
+
+Base.mem_classes.append(DoxyFile)
+
+
+class DoxyNamespace(DoxyCompound):
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ kind = 'namespace'
+
+Base.mem_classes.append(DoxyNamespace)
+
+
+class DoxyGroup(DoxyCompound):
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ kind = 'group'
+
+ def _parse(self):
+ if self._parsed:
+ return
+ super(DoxyGroup, self)._parse()
+ self.retrieve_data()
+ if self._error:
+ return
+ cdef = self._retrieved_data.compounddef
+ self._data['title'] = description(cdef.title)
+ # Process inner groups
+ grps = cdef.innergroup
+ for grp in grps:
+ converted = DoxyGroup.from_refid(grp.refid, top=self.top)
+ self._members.append(converted)
+ # Process inner classes
+ klasses = cdef.innerclass
+ for kls in klasses:
+ converted = DoxyClass.from_refid(kls.refid, top=self.top)
+ self._members.append(converted)
+ # Process normal members
+ self.process_memberdefs()
+
+ title = property(lambda self: self.data()['title'])
+
+
+Base.mem_classes.append(DoxyGroup)
+
+
+class DoxyFriend(DoxyMember):
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ kind = 'friend'
+
+Base.mem_classes.append(DoxyFriend)
+
+
+class DoxyOther(Base):
+
+ __module__ = "gnuradio.utils.doxyxml"
+
+ kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', 'dir', 'page'])
+
+ @classmethod
+ def can_parse(cls, obj):
+ return obj.kind in cls.kinds
+
+Base.mem_classes.append(DoxyOther)
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/Doxyfile b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/Doxyfile
new file mode 100644
index 000000000..9780043be
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/Doxyfile
@@ -0,0 +1,1551 @@
+# Doxyfile 1.6.3
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME =
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY =
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT =
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS =
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = YES
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = YES
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc
new file mode 100644
index 000000000..014b00ef6
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc
@@ -0,0 +1,29 @@
+#include <iostream>
+#include "aadvark.h"
+
+void Aadvark::print() {
+ std::cout << "aadvark is " << aadvarkness << "/10 aadvarky" << std::endl;
+}
+
+Aadvark::Aadvark(int aaness): aadvarkness(aaness) {}
+
+bool aadvarky_enough(Aadvark aad) {
+ if (aad.get_aadvarkness() > 6)
+ return true;
+ else
+ return false;
+}
+
+int Aadvark::get_aadvarkness() {
+ return aadvarkness;
+}
+
+int main() {
+ Aadvark arold = Aadvark(6);
+ arold.print();
+ if (aadvarky_enough(arold))
+ std::cout << "He is aadvarky enough" << std::endl;
+ else
+ std::cout << "He is not aadvarky enough" << std::endl;
+}
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h
new file mode 100644
index 000000000..6a2fd06b2
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h
@@ -0,0 +1,23 @@
+#include <iostream>
+
+/*!
+ * \brief Models the mammal Aadvark.
+ *
+ * Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.
+ *
+ * This line is uninformative and is only to test line breaks in the comments.
+ */
+class Aadvark {
+public:
+ //! \brief Outputs the vital aadvark statistics.
+ void print();
+ //! \param aaness The aadvarkness of an aadvark is a measure of how aadvarky it is.
+ Aadvark(int aaness);
+ int get_aadvarkness();
+private:
+ int aadvarkness;
+};
+
+bool aadvarky_enough(Aadvark aad);
+
+int main();
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/aadvark_8cc.xml b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/aadvark_8cc.xml
new file mode 100644
index 000000000..f031e01ac
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/aadvark_8cc.xml
@@ -0,0 +1,88 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
+ <compounddef id="aadvark_8cc" kind="file">
+ <compoundname>aadvark.cc</compoundname>
+ <includes local="no">iostream</includes>
+ <includes refid="aadvark_8cc" local="yes">aadvark.h</includes>
+ <includedby refid="aadvark_8cc" local="yes">aadvark.cc</includedby>
+ <incdepgraph>
+ <node id="0">
+ <label>aadvark.cc</label>
+ <link refid="aadvark.cc"/>
+ <childnode refid="1" relation="include">
+ </childnode>
+ </node>
+ <node id="1">
+ <label>iostream</label>
+ </node>
+ </incdepgraph>
+ <sectiondef kind="func">
+ <memberdef kind="function" id="aadvark_8cc_1acb52858524210ec6dddc3e16d1e52946" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>bool</type>
+ <definition>bool aadvarky_enough</definition>
+ <argsstring>(Aadvark aad)</argsstring>
+ <name>aadvarky_enough</name>
+ <param>
+ <type><ref refid="classAadvark" kindref="compound">Aadvark</ref></type>
+ <declname>aad</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" line="10" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="10" bodyend="15"/>
+ </memberdef>
+ <memberdef kind="function" id="aadvark_8cc_1ae66f6b31b5ad750f1fe042a706a4e3d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int main</definition>
+ <argsstring>()</argsstring>
+ <name>main</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" line="21" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="21" bodyend="28"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<codeline lineno="1"><highlight class="preprocessor">#include<sp/>&lt;iostream&gt;</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;aadvark.h&quot;</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="3"><highlight class="normal"></highlight></codeline>
+<codeline lineno="4"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">Aadvark::print</ref>()<sp/>{</highlight></codeline>
+<codeline lineno="5"><highlight class="normal"><sp/><sp/>std::cout<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;aadvark<sp/>is<sp/>&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/>aadvarkness<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;/10<sp/>aadvarky&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/>std::endl;</highlight></codeline>
+<codeline lineno="6"><highlight class="normal">}</highlight></codeline>
+<codeline lineno="7"><highlight class="normal"></highlight></codeline>
+<codeline lineno="8"><highlight class="normal"><ref refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kindref="member">Aadvark::Aadvark</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aaness):<sp/>aadvarkness(aaness)<sp/>{}</highlight></codeline>
+<codeline lineno="9"><highlight class="normal"></highlight></codeline>
+<codeline lineno="10"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>aadvarky_enough(<ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>aad)<sp/>{</highlight></codeline>
+<codeline lineno="11"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(aad.get_aadvarkness()<sp/>&gt;<sp/>6)</highlight></codeline>
+<codeline lineno="12"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
+<codeline lineno="13"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
+<codeline lineno="15"><highlight class="normal">}</highlight></codeline>
+<codeline lineno="16"><highlight class="normal"></highlight></codeline>
+<codeline lineno="17"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>Aadvark::get_aadvarkness()<sp/>{</highlight></codeline>
+<codeline lineno="18"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>aadvarkness;</highlight></codeline>
+<codeline lineno="19"><highlight class="normal">}</highlight></codeline>
+<codeline lineno="20"><highlight class="normal"></highlight></codeline>
+<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>main()<sp/>{</highlight></codeline>
+<codeline lineno="22"><highlight class="normal"><sp/><sp/><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>arold<sp/>=<sp/><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref>(6);</highlight></codeline>
+<codeline lineno="23"><highlight class="normal"><sp/><sp/>arold.<ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">print</ref>();</highlight></codeline>
+<codeline lineno="24"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(aadvarky_enough(arold))</highlight></codeline>
+<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/>std::cout<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;He<sp/>is<sp/>aadvarky<sp/>enough&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/>std::endl;</highlight></codeline>
+<codeline lineno="26"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/>std::cout<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;He<sp/>is<sp/>not<sp/>aadvarky<sp/>enough&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/>std::endl;</highlight></codeline>
+<codeline lineno="28"><highlight class="normal">}</highlight></codeline>
+<codeline lineno="29"><highlight class="normal"></highlight></codeline>
+ </programlisting>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc"/>
+ </compounddef>
+</doxygen>
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/aadvark_8h.xml b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/aadvark_8h.xml
new file mode 100644
index 000000000..a1854b685
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/aadvark_8h.xml
@@ -0,0 +1,72 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
+ <compounddef id="aadvark_8h" kind="file">
+ <compoundname>aadvark.h</compoundname>
+ <includes local="no">iostream</includes>
+ <incdepgraph>
+ <node id="3">
+ <label>aadvark.h</label>
+ <link refid="aadvark.h"/>
+ <childnode refid="4" relation="include">
+ </childnode>
+ </node>
+ <node id="4">
+ <label>iostream</label>
+ </node>
+ </incdepgraph>
+ <innerclass refid="classAadvark" prot="public">Aadvark</innerclass>
+ <sectiondef kind="func">
+ <memberdef kind="function" id="aadvark_8h_1acb52858524210ec6dddc3e16d1e52946" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>bool</type>
+ <definition>bool aadvarky_enough</definition>
+ <argsstring>(Aadvark aad)</argsstring>
+ <name>aadvarky_enough</name>
+ <param>
+ <type><ref refid="classAadvark" kindref="compound">Aadvark</ref></type>
+ <declname>aad</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="21" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="10" bodyend="15"/>
+ </memberdef>
+ <memberdef kind="function" id="aadvark_8h_1ae66f6b31b5ad750f1fe042a706a4e3d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int main</definition>
+ <argsstring>()</argsstring>
+ <name>main</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="23" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="21" bodyend="28"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<codeline lineno="1"><highlight class="preprocessor">#include<sp/>&lt;iostream&gt;</highlight><highlight class="normal"></highlight></codeline>
+<codeline lineno="2"><highlight class="normal"></highlight></codeline>
+<codeline lineno="10" refid="classAadvark" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>{</highlight></codeline>
+<codeline lineno="11"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
+<codeline lineno="13"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">print</ref>();</highlight></codeline>
+<codeline lineno="15"><highlight class="normal"><sp/><sp/><ref refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kindref="member">Aadvark</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aaness);</highlight></codeline>
+<codeline lineno="16"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>get_aadvarkness();</highlight></codeline>
+<codeline lineno="17"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
+<codeline lineno="18"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aadvarkness;</highlight></codeline>
+<codeline lineno="19"><highlight class="normal">};</highlight></codeline>
+<codeline lineno="20"><highlight class="normal"></highlight></codeline>
+<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>aadvarky_enough(<ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>aad);</highlight></codeline>
+<codeline lineno="22"><highlight class="normal"></highlight></codeline>
+<codeline lineno="23"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>main();</highlight></codeline>
+ </programlisting>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h"/>
+ </compounddef>
+</doxygen>
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/classAadvark.xml b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/classAadvark.xml
new file mode 100644
index 000000000..54fe8b32c
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/classAadvark.xml
@@ -0,0 +1,86 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
+ <compounddef id="classAadvark" kind="class" prot="public">
+ <compoundname>Aadvark</compoundname>
+ <includes refid="aadvark_8h" local="no">aadvark.h</includes>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" prot="private" static="no" mutable="no">
+ <type>int</type>
+ <definition>int Aadvark::aadvarkness</definition>
+ <argsstring></argsstring>
+ <name>aadvarkness</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="18" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" bodystart="18" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classAadvark_1abd061aa5f998002e72080a34f512a059" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>void</type>
+ <definition>void Aadvark::print</definition>
+ <argsstring>()</argsstring>
+ <name>print</name>
+ <briefdescription>
+<para>Outputs the vital aadvark statistics. </para> </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="13" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="4" bodyend="6"/>
+ </memberdef>
+ <memberdef kind="function" id="classAadvark_1adf1a4b97a641411a74a04ab312484462" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type></type>
+ <definition>Aadvark::Aadvark</definition>
+ <argsstring>(int aaness)</argsstring>
+ <name>Aadvark</name>
+ <param>
+ <type>int</type>
+ <declname>aaness</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+<para><parameterlist kind="param"><parameteritem>
+<parameternamelist>
+<parametername>aaness</parametername>
+</parameternamelist>
+<parameterdescription>
+<para>The aadvarkness of an aadvark is a measure of how aadvarky it is. </para></parameterdescription>
+</parameteritem>
+</parameterlist>
+</para> </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="15" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="8" bodyend="8"/>
+ </memberdef>
+ <memberdef kind="function" id="classAadvark_1affd2ada0a85807efcbe26615a848f53e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int Aadvark::get_aadvarkness</definition>
+ <argsstring>()</argsstring>
+ <name>get_aadvarkness</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="16" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="17" bodyend="19"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>Models the mammal <ref refid="classAadvark" kindref="compound">Aadvark</ref>. </para> </briefdescription>
+ <detaileddescription>
+<para>Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.</para><para>This line is uninformative and is only to test line breaks in the comments. </para> </detaileddescription>
+ <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="10" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" bodystart="10" bodyend="19"/>
+ <listofallmembers>
+ <member refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>Aadvark</name></member>
+ <member refid="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" prot="private" virt="non-virtual"><scope>Aadvark</scope><name>aadvarkness</name></member>
+ <member refid="classAadvark_1affd2ada0a85807efcbe26615a848f53e" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>get_aadvarkness</name></member>
+ <member refid="classAadvark_1abd061aa5f998002e72080a34f512a059" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>print</name></member>
+ </listofallmembers>
+ </compounddef>
+</doxygen>
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/combine.xslt b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/combine.xslt
new file mode 100644
index 000000000..abdd9ac75
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/combine.xslt
@@ -0,0 +1,15 @@
+<!-- XSLT script to combine the generated output into a single file.
+ If you have xsltproc you could use:
+ xsltproc combine.xslt index.xml >all.xml
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:output method="xml" version="1.0" indent="yes" standalone="yes" />
+ <xsl:template match="/">
+ <doxygen version="{doxygenindex/@version}">
+ <!-- Load all doxgen generated xml files -->
+ <xsl:for-each select="doxygenindex/compound">
+ <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
+ </xsl:for-each>
+ </doxygen>
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/compound.xsd b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/compound.xsd
new file mode 100644
index 000000000..369e2300f
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/compound.xsd
@@ -0,0 +1,814 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="doxygen" type="DoxygenType"/>
+
+ <!-- Complex types -->
+
+ <xsd:complexType name="DoxygenType">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="compounddefType">
+ <xsd:sequence>
+ <xsd:element name="compoundname" type="xsd:string"/>
+ <xsd:element name="title" type="xsd:string" minOccurs="0" />
+ <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
+ <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
+ <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
+ <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
+ <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
+ <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
+ <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
+ <xsd:element name="programlisting" type="listingType" minOccurs="0" />
+ <xsd:element name="location" type="locationType" minOccurs="0" />
+ <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" />
+ <xsd:attribute name="kind" type="DoxCompoundKind" />
+ <xsd:attribute name="prot" type="DoxProtectionKind" />
+ </xsd:complexType>
+
+ <xsd:complexType name="listofallmembersType">
+ <xsd:sequence>
+ <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="memberRefType">
+ <xsd:sequence>
+ <xsd:element name="scope" />
+ <xsd:element name="name" />
+ </xsd:sequence>
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="prot" type="DoxProtectionKind" />
+ <xsd:attribute name="virt" type="DoxVirtualKind" />
+ <xsd:attribute name="ambiguityscope" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="compoundRefType" mixed="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="refid" type="xsd:string" use="optional" />
+ <xsd:attribute name="prot" type="DoxProtectionKind" />
+ <xsd:attribute name="virt" type="DoxVirtualKind" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="reimplementType" mixed="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="refid" type="xsd:string" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="incType" mixed="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="local" type="DoxBool" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="refType" mixed="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="refTextType" mixed="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="kindref" type="DoxRefKind" />
+ <xsd:attribute name="external" type="xsd:string" use="optional"/>
+ <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="sectiondefType">
+ <xsd:sequence>
+ <xsd:element name="header" type="xsd:string" minOccurs="0" />
+ <xsd:element name="description" type="descriptionType" minOccurs="0" />
+ <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="kind" type="DoxSectionKind" />
+ </xsd:complexType>
+
+ <xsd:complexType name="memberdefType">
+ <xsd:sequence>
+ <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
+ <xsd:element name="type" type="linkedTextType" minOccurs="0" />
+ <xsd:element name="definition" minOccurs="0" />
+ <xsd:element name="argsstring" minOccurs="0" />
+ <xsd:element name="name" />
+ <xsd:element name="read" minOccurs="0" />
+ <xsd:element name="write" minOccurs="0" />
+ <xsd:element name="bitfield" minOccurs="0" />
+ <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
+ <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
+ <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
+ <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
+ <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
+ <xsd:element name="location" type="locationType" />
+ <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="kind" type="DoxMemberKind" />
+ <xsd:attribute name="id" type="xsd:string" />
+ <xsd:attribute name="prot" type="DoxProtectionKind" />
+ <xsd:attribute name="static" type="DoxBool" />
+ <xsd:attribute name="const" type="DoxBool" />
+ <xsd:attribute name="explicit" type="DoxBool" />
+ <xsd:attribute name="inline" type="DoxBool" />
+ <xsd:attribute name="virt" type="DoxVirtualKind" />
+ <xsd:attribute name="volatile" type="DoxBool" />
+ <xsd:attribute name="mutable" type="DoxBool" />
+ <!-- Qt property -->
+ <xsd:attribute name="readable" type="DoxBool" use="optional"/>
+ <xsd:attribute name="writable" type="DoxBool" use="optional"/>
+ <!-- C++/CLI variable -->
+ <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
+ <!-- C++/CLI and C# property -->
+ <xsd:attribute name="settable" type="DoxBool" use="optional"/>
+ <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
+ <!-- C++/CLI function -->
+ <xsd:attribute name="final" type="DoxBool" use="optional"/>
+ <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
+ <xsd:attribute name="new" type="DoxBool" use="optional"/>
+ <!-- C++/CLI event -->
+ <xsd:attribute name="add" type="DoxBool" use="optional"/>
+ <xsd:attribute name="remove" type="DoxBool" use="optional"/>
+ <xsd:attribute name="raise" type="DoxBool" use="optional"/>
+ <!-- Objective-C 2.0 protocol method -->
+ <xsd:attribute name="optional" type="DoxBool" use="optional"/>
+ <xsd:attribute name="required" type="DoxBool" use="optional"/>
+ <!-- Objective-C 2.0 property accessor -->
+ <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="descriptionType" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="internal" type="docInternalType" minOccurs="0" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="enumvalueType" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="name" />
+ <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
+ <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
+ <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" />
+ <xsd:attribute name="prot" type="DoxProtectionKind" />
+ </xsd:complexType>
+
+ <xsd:complexType name="templateparamlistType">
+ <xsd:sequence>
+ <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="paramType">
+ <xsd:sequence>
+ <xsd:element name="type" type="linkedTextType" minOccurs="0" />
+ <xsd:element name="declname" minOccurs="0" />
+ <xsd:element name="defname" minOccurs="0" />
+ <xsd:element name="array" minOccurs="0" />
+ <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
+ <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="linkedTextType" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="graphType">
+ <xsd:sequence>
+ <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="nodeType">
+ <xsd:sequence>
+ <xsd:element name="label" />
+ <xsd:element name="link" type="linkType" minOccurs="0" />
+ <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="childnodeType">
+ <xsd:sequence>
+ <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="relation" type="DoxGraphRelation" />
+ </xsd:complexType>
+
+ <xsd:complexType name="linkType">
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="external" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="listingType">
+ <xsd:sequence>
+ <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="codelineType">
+ <xsd:sequence>
+ <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="lineno" type="xsd:integer" />
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="refkind" type="DoxRefKind" />
+ <xsd:attribute name="external" type="DoxBool" />
+ </xsd:complexType>
+
+ <xsd:complexType name="highlightType" mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="sp" />
+ <xsd:element name="ref" type="refTextType" />
+ </xsd:choice>
+ <xsd:attribute name="class" type="DoxHighlightClass" />
+ </xsd:complexType>
+
+ <xsd:complexType name="referenceType" mixed="true">
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
+ <xsd:attribute name="startline" type="xsd:integer" />
+ <xsd:attribute name="endline" type="xsd:integer" />
+ </xsd:complexType>
+
+ <xsd:complexType name="locationType">
+ <xsd:attribute name="file" type="xsd:string" />
+ <xsd:attribute name="line" type="xsd:integer" />
+ <xsd:attribute name="bodyfile" type="xsd:string" />
+ <xsd:attribute name="bodystart" type="xsd:integer" />
+ <xsd:attribute name="bodyend" type="xsd:integer" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docSect1Type" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string" />
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docSect2Type" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string" />
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docSect3Type" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string" />
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docSect4Type" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string" />
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docInternalType" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docInternalS1Type" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docInternalS2Type" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docInternalS3Type" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docInternalS4Type" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:group name="docTitleCmdGroup">
+ <xsd:choice>
+ <xsd:element name="ulink" type="docURLLink" />
+ <xsd:element name="bold" type="docMarkupType" />
+ <xsd:element name="emphasis" type="docMarkupType" />
+ <xsd:element name="computeroutput" type="docMarkupType" />
+ <xsd:element name="subscript" type="docMarkupType" />
+ <xsd:element name="superscript" type="docMarkupType" />
+ <xsd:element name="center" type="docMarkupType" />
+ <xsd:element name="small" type="docMarkupType" />
+ <xsd:element name="htmlonly" type="xsd:string" />
+ <xsd:element name="latexonly" type="xsd:string" />
+ <xsd:element name="dot" type="xsd:string" />
+ <xsd:element name="anchor" type="docAnchorType" />
+ <xsd:element name="formula" type="docFormulaType" />
+ <xsd:element name="ref" type="docRefTextType" />
+ <xsd:element name="copy" type="docEmptyType" />
+ <xsd:element name="trademark" type="docEmptyType" />
+ <xsd:element name="registered" type="docEmptyType" />
+ <xsd:element name="lsquo" type="docEmptyType" />
+ <xsd:element name="rsquo" type="docEmptyType" />
+ <xsd:element name="ldquo" type="docEmptyType" />
+ <xsd:element name="rdquo" type="docEmptyType" />
+ <xsd:element name="ndash" type="docEmptyType" />
+ <xsd:element name="mdash" type="docEmptyType" />
+ <xsd:element name="umlaut" type="docCharType" />
+ <xsd:element name="acute" type="docCharType" />
+ <xsd:element name="grave" type="docCharType" />
+ <xsd:element name="circ" type="docCharType" />
+ <xsd:element name="slash" type="docCharType" />
+ <xsd:element name="tilde" type="docCharType" />
+ <xsd:element name="cedil" type="docCharType" />
+ <xsd:element name="ring" type="docCharType" />
+ <xsd:element name="szlig" type="docEmptyType" />
+ <xsd:element name="nonbreakablespace" type="docEmptyType" />
+ </xsd:choice>
+ </xsd:group>
+
+ <xsd:complexType name="docTitleType" mixed="true">
+ <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:complexType>
+
+ <xsd:group name="docCmdGroup">
+ <xsd:choice>
+ <xsd:group ref="docTitleCmdGroup"/>
+ <xsd:element name="linebreak" type="docEmptyType" />
+ <xsd:element name="hruler" type="docEmptyType" />
+ <xsd:element name="preformatted" type="docMarkupType" />
+ <xsd:element name="programlisting" type="listingType" />
+ <xsd:element name="verbatim" type="xsd:string" />
+ <xsd:element name="indexentry" type="docIndexEntryType" />
+ <xsd:element name="orderedlist" type="docListType" />
+ <xsd:element name="itemizedlist" type="docListType" />
+ <xsd:element name="simplesect" type="docSimpleSectType" />
+ <xsd:element name="title" type="docTitleType" />
+ <xsd:element name="variablelist" type="docVariableListType" />
+ <xsd:element name="table" type="docTableType" />
+ <xsd:element name="heading" type="docHeadingType" />
+ <xsd:element name="image" type="docImageType" />
+ <xsd:element name="dotfile" type="docDotFileType" />
+ <xsd:element name="toclist" type="docTocListType" />
+ <xsd:element name="language" type="docLanguageType" />
+ <xsd:element name="parameterlist" type="docParamListType" />
+ <xsd:element name="xrefsect" type="docXRefSectType" />
+ <xsd:element name="copydoc" type="docCopyType" />
+ </xsd:choice>
+ </xsd:group>
+
+ <xsd:complexType name="docParaType" mixed="true">
+ <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docMarkupType" mixed="true">
+ <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docURLLink" mixed="true">
+ <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:attribute name="url" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docAnchorType" mixed="true">
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docFormulaType" mixed="true">
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docIndexEntryType">
+ <xsd:sequence>
+ <xsd:element name="primaryie" type="xsd:string" />
+ <xsd:element name="secondaryie" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docListType">
+ <xsd:sequence>
+ <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docListItemType">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docSimpleSectType">
+ <xsd:sequence>
+ <xsd:element name="title" type="docTitleType" minOccurs="0" />
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
+ <xsd:element name="simplesectsep" type="docEmptyType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:sequence>
+ <xsd:attribute name="kind" type="DoxSimpleSectKind" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docVarListEntryType">
+ <xsd:sequence>
+ <xsd:element name="term" type="docTitleType" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:group name="docVariableListGroup">
+ <xsd:sequence>
+ <xsd:element name="varlistentry" type="docVarListEntryType" />
+ <xsd:element name="listitem" type="docListItemType" />
+ </xsd:sequence>
+ </xsd:group>
+
+ <xsd:complexType name="docVariableListType">
+ <xsd:sequence>
+ <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docRefTextType" mixed="true">
+ <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:attribute name="refid" type="xsd:string" />
+ <xsd:attribute name="kindref" type="DoxRefKind" />
+ <xsd:attribute name="external" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docTableType">
+ <xsd:sequence>
+ <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="caption" type="docCaptionType" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="rows" type="xsd:integer" />
+ <xsd:attribute name="cols" type="xsd:integer" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docRowType">
+ <xsd:sequence>
+ <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docEntryType">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="thead" type="DoxBool" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docCaptionType" mixed="true">
+ <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docHeadingType" mixed="true">
+ <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
+ </xsd:complexType>
+
+ <xsd:complexType name="docImageType" mixed="true">
+ <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:attribute name="type" type="DoxImageKind" />
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="width" type="xsd:string" />
+ <xsd:attribute name="height" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docDotFileType" mixed="true">
+ <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docTocItemType" mixed="true">
+ <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docTocListType">
+ <xsd:sequence>
+ <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docLanguageType">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="langid" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docParamListType">
+ <xsd:sequence>
+ <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="kind" type="DoxParamListKind" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docParamListItem">
+ <xsd:sequence>
+ <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="parameterdescription" type="descriptionType" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docParamNameList">
+ <xsd:sequence>
+ <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="docParamName" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docXRefSectType">
+ <xsd:sequence>
+ <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="xrefdescription" type="descriptionType" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docCopyType">
+ <xsd:sequence>
+ <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="internal" type="docInternalType" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="link" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="docCharType">
+ <xsd:attribute name="char" type="DoxCharRange"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="docEmptyType"/>
+
+ <!-- Simple types -->
+
+ <xsd:simpleType name="DoxBool">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="yes" />
+ <xsd:enumeration value="no" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxGraphRelation">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="include" />
+ <xsd:enumeration value="usage" />
+ <xsd:enumeration value="template-instance" />
+ <xsd:enumeration value="public-inheritance" />
+ <xsd:enumeration value="protected-inheritance" />
+ <xsd:enumeration value="private-inheritance" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxRefKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="compound" />
+ <xsd:enumeration value="member" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxMemberKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="define" />
+ <xsd:enumeration value="property" />
+ <xsd:enumeration value="event" />
+ <xsd:enumeration value="variable" />
+ <xsd:enumeration value="typedef" />
+ <xsd:enumeration value="enum" />
+ <xsd:enumeration value="function" />
+ <xsd:enumeration value="signal" />
+ <xsd:enumeration value="prototype" />
+ <xsd:enumeration value="friend" />
+ <xsd:enumeration value="dcop" />
+ <xsd:enumeration value="slot" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxProtectionKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="public" />
+ <xsd:enumeration value="protected" />
+ <xsd:enumeration value="private" />
+ <xsd:enumeration value="package" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxVirtualKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="non-virtual" />
+ <xsd:enumeration value="virtual" />
+ <xsd:enumeration value="pure-virtual" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxCompoundKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="class" />
+ <xsd:enumeration value="struct" />
+ <xsd:enumeration value="union" />
+ <xsd:enumeration value="interface" />
+ <xsd:enumeration value="protocol" />
+ <xsd:enumeration value="category" />
+ <xsd:enumeration value="exception" />
+ <xsd:enumeration value="file" />
+ <xsd:enumeration value="namespace" />
+ <xsd:enumeration value="group" />
+ <xsd:enumeration value="page" />
+ <xsd:enumeration value="example" />
+ <xsd:enumeration value="dir" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxSectionKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="user-defined" />
+ <xsd:enumeration value="public-type" />
+ <xsd:enumeration value="public-func" />
+ <xsd:enumeration value="public-attrib" />
+ <xsd:enumeration value="public-slot" />
+ <xsd:enumeration value="signal" />
+ <xsd:enumeration value="dcop-func" />
+ <xsd:enumeration value="property" />
+ <xsd:enumeration value="event" />
+ <xsd:enumeration value="public-static-func" />
+ <xsd:enumeration value="public-static-attrib" />
+ <xsd:enumeration value="protected-type" />
+ <xsd:enumeration value="protected-func" />
+ <xsd:enumeration value="protected-attrib" />
+ <xsd:enumeration value="protected-slot" />
+ <xsd:enumeration value="protected-static-func" />
+ <xsd:enumeration value="protected-static-attrib" />
+ <xsd:enumeration value="package-type" />
+ <xsd:enumeration value="package-func" />
+ <xsd:enumeration value="package-attrib" />
+ <xsd:enumeration value="package-static-func" />
+ <xsd:enumeration value="package-static-attrib" />
+ <xsd:enumeration value="private-type" />
+ <xsd:enumeration value="private-func" />
+ <xsd:enumeration value="private-attrib" />
+ <xsd:enumeration value="private-slot" />
+ <xsd:enumeration value="private-static-func" />
+ <xsd:enumeration value="private-static-attrib" />
+ <xsd:enumeration value="friend" />
+ <xsd:enumeration value="related" />
+ <xsd:enumeration value="define" />
+ <xsd:enumeration value="prototype" />
+ <xsd:enumeration value="typedef" />
+ <xsd:enumeration value="enum" />
+ <xsd:enumeration value="func" />
+ <xsd:enumeration value="var" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxHighlightClass">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="comment" />
+ <xsd:enumeration value="normal" />
+ <xsd:enumeration value="preprocessor" />
+ <xsd:enumeration value="keyword" />
+ <xsd:enumeration value="keywordtype" />
+ <xsd:enumeration value="keywordflow" />
+ <xsd:enumeration value="stringliteral" />
+ <xsd:enumeration value="charliteral" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxSimpleSectKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="see" />
+ <xsd:enumeration value="return" />
+ <xsd:enumeration value="author" />
+ <xsd:enumeration value="authors" />
+ <xsd:enumeration value="version" />
+ <xsd:enumeration value="since" />
+ <xsd:enumeration value="date" />
+ <xsd:enumeration value="note" />
+ <xsd:enumeration value="warning" />
+ <xsd:enumeration value="pre" />
+ <xsd:enumeration value="post" />
+ <xsd:enumeration value="invariant" />
+ <xsd:enumeration value="remark" />
+ <xsd:enumeration value="attention" />
+ <xsd:enumeration value="par" />
+ <xsd:enumeration value="rcs" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxVersionNumber">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="\d+\.\d+.*" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxImageKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="html" />
+ <xsd:enumeration value="latex" />
+ <xsd:enumeration value="rtf" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxParamListKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="param" />
+ <xsd:enumeration value="retval" />
+ <xsd:enumeration value="exception" />
+ <xsd:enumeration value="templateparam" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxCharRange">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="[aeiouncAEIOUNC]" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxParamDir">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="in"/>
+ <xsd:enumeration value="out"/>
+ <xsd:enumeration value="inout"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="DoxAccessor">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="retain"/>
+ <xsd:enumeration value="copy"/>
+ <xsd:enumeration value="assign"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/index.xml b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/index.xml
new file mode 100644
index 000000000..13fd53f90
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/index.xml
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.6.3">
+ <compound refid="classAadvark" kind="class"><name>Aadvark</name>
+ <member refid="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" kind="variable"><name>aadvarkness</name></member>
+ <member refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kind="function"><name>print</name></member>
+ <member refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kind="function"><name>Aadvark</name></member>
+ <member refid="classAadvark_1affd2ada0a85807efcbe26615a848f53e" kind="function"><name>get_aadvarkness</name></member>
+ </compound>
+ <compound refid="aadvark_8cc" kind="file"><name>aadvark.cc</name>
+ <member refid="aadvark_8cc_1acb52858524210ec6dddc3e16d1e52946" kind="function"><name>aadvarky_enough</name></member>
+ <member refid="aadvark_8cc_1ae66f6b31b5ad750f1fe042a706a4e3d4" kind="function"><name>main</name></member>
+ </compound>
+ <compound refid="aadvark_8h" kind="file"><name>aadvark.h</name>
+ <member refid="aadvark_8h_1acb52858524210ec6dddc3e16d1e52946" kind="function"><name>aadvarky_enough</name></member>
+ <member refid="aadvark_8h_1ae66f6b31b5ad750f1fe042a706a4e3d4" kind="function"><name>main</name></member>
+ </compound>
+</doxygenindex>
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/index.xsd b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/index.xsd
new file mode 100644
index 000000000..d7ab2a906
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/xml/index.xsd
@@ -0,0 +1,66 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="doxygenindex" type="DoxygenType"/>
+
+ <xsd:complexType name="DoxygenType">
+ <xsd:sequence>
+ <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="version" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="CompoundType">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="refid" type="xsd:string" use="required"/>
+ <xsd:attribute name="kind" type="CompoundKind" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="MemberType">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ </xsd:sequence>
+ <xsd:attribute name="refid" type="xsd:string" use="required"/>
+ <xsd:attribute name="kind" type="MemberKind" use="required"/>
+ </xsd:complexType>
+
+ <xsd:simpleType name="CompoundKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="class"/>
+ <xsd:enumeration value="struct"/>
+ <xsd:enumeration value="union"/>
+ <xsd:enumeration value="interface"/>
+ <xsd:enumeration value="protocol"/>
+ <xsd:enumeration value="category"/>
+ <xsd:enumeration value="exception"/>
+ <xsd:enumeration value="file"/>
+ <xsd:enumeration value="namespace"/>
+ <xsd:enumeration value="group"/>
+ <xsd:enumeration value="page"/>
+ <xsd:enumeration value="example"/>
+ <xsd:enumeration value="dir"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="MemberKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="define"/>
+ <xsd:enumeration value="property"/>
+ <xsd:enumeration value="event"/>
+ <xsd:enumeration value="variable"/>
+ <xsd:enumeration value="typedef"/>
+ <xsd:enumeration value="enum"/>
+ <xsd:enumeration value="enumvalue"/>
+ <xsd:enumeration value="function"/>
+ <xsd:enumeration value="signal"/>
+ <xsd:enumeration value="prototype"/>
+ <xsd:enumeration value="friend"/>
+ <xsd:enumeration value="dcop"/>
+ <xsd:enumeration value="slot"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/__init__.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/__init__.py
new file mode 100644
index 000000000..39823979f
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/__init__.py
@@ -0,0 +1,7 @@
+"""
+Contains generated files produced by generateDS.py.
+
+These do the real work of parsing the doxygen xml files but the
+resultant classes are not very friendly to navigate so the rest of the
+doxyxml module processes them further.
+"""
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/compound.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/compound.py
new file mode 100644
index 000000000..1522ac23f
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/compound.py
@@ -0,0 +1,503 @@
+#!/usr/bin/env python
+
+"""
+Generated Mon Feb 9 19:08:05 2009 by generateDS.py.
+"""
+
+from string import lower as str_lower
+from xml.dom import minidom
+from xml.dom import Node
+
+import sys
+
+import compoundsuper as supermod
+from compoundsuper import MixedContainer
+
+
+class DoxygenTypeSub(supermod.DoxygenType):
+ def __init__(self, version=None, compounddef=None):
+ supermod.DoxygenType.__init__(self, version, compounddef)
+
+ def find(self, details):
+
+ return self.compounddef.find(details)
+
+supermod.DoxygenType.subclass = DoxygenTypeSub
+# end class DoxygenTypeSub
+
+
+class compounddefTypeSub(supermod.compounddefType):
+ def __init__(self, kind=None, prot=None, id=None, compoundname='', title='', basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmembers=None):
+ supermod.compounddefType.__init__(self, kind, prot, id, compoundname, title, basecompoundref, derivedcompoundref, includes, includedby, incdepgraph, invincdepgraph, innerdir, innerfile, innerclass, innernamespace, innerpage, innergroup, templateparamlist, sectiondef, briefdescription, detaileddescription, inheritancegraph, collaborationgraph, programlisting, location, listofallmembers)
+
+ def find(self, details):
+
+ if self.id == details.refid:
+ return self
+
+ for sectiondef in self.sectiondef:
+ result = sectiondef.find(details)
+ if result:
+ return result
+
+
+supermod.compounddefType.subclass = compounddefTypeSub
+# end class compounddefTypeSub
+
+
+class listofallmembersTypeSub(supermod.listofallmembersType):
+ def __init__(self, member=None):
+ supermod.listofallmembersType.__init__(self, member)
+supermod.listofallmembersType.subclass = listofallmembersTypeSub
+# end class listofallmembersTypeSub
+
+
+class memberRefTypeSub(supermod.memberRefType):
+ def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope='', name=''):
+ supermod.memberRefType.__init__(self, virt, prot, refid, ambiguityscope, scope, name)
+supermod.memberRefType.subclass = memberRefTypeSub
+# end class memberRefTypeSub
+
+
+class compoundRefTypeSub(supermod.compoundRefType):
+ def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.compoundRefType.__init__(self, mixedclass_, content_)
+supermod.compoundRefType.subclass = compoundRefTypeSub
+# end class compoundRefTypeSub
+
+
+class reimplementTypeSub(supermod.reimplementType):
+ def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.reimplementType.__init__(self, mixedclass_, content_)
+supermod.reimplementType.subclass = reimplementTypeSub
+# end class reimplementTypeSub
+
+
+class incTypeSub(supermod.incType):
+ def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.incType.__init__(self, mixedclass_, content_)
+supermod.incType.subclass = incTypeSub
+# end class incTypeSub
+
+
+class refTypeSub(supermod.refType):
+ def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.refType.__init__(self, mixedclass_, content_)
+supermod.refType.subclass = refTypeSub
+# end class refTypeSub
+
+
+
+class refTextTypeSub(supermod.refTextType):
+ def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.refTextType.__init__(self, mixedclass_, content_)
+
+supermod.refTextType.subclass = refTextTypeSub
+# end class refTextTypeSub
+
+class sectiondefTypeSub(supermod.sectiondefType):
+
+
+ def __init__(self, kind=None, header='', description=None, memberdef=None):
+ supermod.sectiondefType.__init__(self, kind, header, description, memberdef)
+
+ def find(self, details):
+
+ for memberdef in self.memberdef:
+ if memberdef.id == details.refid:
+ return memberdef
+
+ return None
+
+
+supermod.sectiondefType.subclass = sectiondefTypeSub
+# end class sectiondefTypeSub
+
+
+class memberdefTypeSub(supermod.memberdefType):
+ def __init__(self, initonly=None, kind=None, volatile=None, const=None, raise_=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition='', argsstring='', name='', read='', write='', bitfield='', reimplements=None, reimplementedby=None, param=None, enumvalue=None, initializer=None, exceptions=None, briefdescription=None, detaileddescription=None, inbodydescription=None, location=None, references=None, referencedby=None):
+ supermod.memberdefType.__init__(self, initonly, kind, volatile, const, raise_, virt, readable, prot, explicit, new, final, writable, add, static, remove, sealed, mutable, gettable, inline, settable, id, templateparamlist, type_, definition, argsstring, name, read, write, bitfield, reimplements, reimplementedby, param, enumvalue, initializer, exceptions, briefdescription, detaileddescription, inbodydescription, location, references, referencedby)
+supermod.memberdefType.subclass = memberdefTypeSub
+# end class memberdefTypeSub
+
+
+class descriptionTypeSub(supermod.descriptionType):
+ def __init__(self, title='', para=None, sect1=None, internal=None, mixedclass_=None, content_=None):
+ supermod.descriptionType.__init__(self, mixedclass_, content_)
+supermod.descriptionType.subclass = descriptionTypeSub
+# end class descriptionTypeSub
+
+
+class enumvalueTypeSub(supermod.enumvalueType):
+ def __init__(self, prot=None, id=None, name='', initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None):
+ supermod.enumvalueType.__init__(self, mixedclass_, content_)
+supermod.enumvalueType.subclass = enumvalueTypeSub
+# end class enumvalueTypeSub
+
+
+class templateparamlistTypeSub(supermod.templateparamlistType):
+ def __init__(self, param=None):
+ supermod.templateparamlistType.__init__(self, param)
+supermod.templateparamlistType.subclass = templateparamlistTypeSub
+# end class templateparamlistTypeSub
+
+
+class paramTypeSub(supermod.paramType):
+ def __init__(self, type_=None, declname='', defname='', array='', defval=None, briefdescription=None):
+ supermod.paramType.__init__(self, type_, declname, defname, array, defval, briefdescription)
+supermod.paramType.subclass = paramTypeSub
+# end class paramTypeSub
+
+
+class linkedTextTypeSub(supermod.linkedTextType):
+ def __init__(self, ref=None, mixedclass_=None, content_=None):
+ supermod.linkedTextType.__init__(self, mixedclass_, content_)
+supermod.linkedTextType.subclass = linkedTextTypeSub
+# end class linkedTextTypeSub
+
+
+class graphTypeSub(supermod.graphType):
+ def __init__(self, node=None):
+ supermod.graphType.__init__(self, node)
+supermod.graphType.subclass = graphTypeSub
+# end class graphTypeSub
+
+
+class nodeTypeSub(supermod.nodeType):
+ def __init__(self, id=None, label='', link=None, childnode=None):
+ supermod.nodeType.__init__(self, id, label, link, childnode)
+supermod.nodeType.subclass = nodeTypeSub
+# end class nodeTypeSub
+
+
+class childnodeTypeSub(supermod.childnodeType):
+ def __init__(self, relation=None, refid=None, edgelabel=None):
+ supermod.childnodeType.__init__(self, relation, refid, edgelabel)
+supermod.childnodeType.subclass = childnodeTypeSub
+# end class childnodeTypeSub
+
+
+class linkTypeSub(supermod.linkType):
+ def __init__(self, refid=None, external=None, valueOf_=''):
+ supermod.linkType.__init__(self, refid, external)
+supermod.linkType.subclass = linkTypeSub
+# end class linkTypeSub
+
+
+class listingTypeSub(supermod.listingType):
+ def __init__(self, codeline=None):
+ supermod.listingType.__init__(self, codeline)
+supermod.listingType.subclass = listingTypeSub
+# end class listingTypeSub
+
+
+class codelineTypeSub(supermod.codelineType):
+ def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None):
+ supermod.codelineType.__init__(self, external, lineno, refkind, refid, highlight)
+supermod.codelineType.subclass = codelineTypeSub
+# end class codelineTypeSub
+
+
+class highlightTypeSub(supermod.highlightType):
+ def __init__(self, class_=None, sp=None, ref=None, mixedclass_=None, content_=None):
+ supermod.highlightType.__init__(self, mixedclass_, content_)
+supermod.highlightType.subclass = highlightTypeSub
+# end class highlightTypeSub
+
+
+class referenceTypeSub(supermod.referenceType):
+ def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.referenceType.__init__(self, mixedclass_, content_)
+supermod.referenceType.subclass = referenceTypeSub
+# end class referenceTypeSub
+
+
+class locationTypeSub(supermod.locationType):
+ def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''):
+ supermod.locationType.__init__(self, bodystart, line, bodyend, bodyfile, file)
+supermod.locationType.subclass = locationTypeSub
+# end class locationTypeSub
+
+
+class docSect1TypeSub(supermod.docSect1Type):
+ def __init__(self, id=None, title='', para=None, sect2=None, internal=None, mixedclass_=None, content_=None):
+ supermod.docSect1Type.__init__(self, mixedclass_, content_)
+supermod.docSect1Type.subclass = docSect1TypeSub
+# end class docSect1TypeSub
+
+
+class docSect2TypeSub(supermod.docSect2Type):
+ def __init__(self, id=None, title='', para=None, sect3=None, internal=None, mixedclass_=None, content_=None):
+ supermod.docSect2Type.__init__(self, mixedclass_, content_)
+supermod.docSect2Type.subclass = docSect2TypeSub
+# end class docSect2TypeSub
+
+
+class docSect3TypeSub(supermod.docSect3Type):
+ def __init__(self, id=None, title='', para=None, sect4=None, internal=None, mixedclass_=None, content_=None):
+ supermod.docSect3Type.__init__(self, mixedclass_, content_)
+supermod.docSect3Type.subclass = docSect3TypeSub
+# end class docSect3TypeSub
+
+
+class docSect4TypeSub(supermod.docSect4Type):
+ def __init__(self, id=None, title='', para=None, internal=None, mixedclass_=None, content_=None):
+ supermod.docSect4Type.__init__(self, mixedclass_, content_)
+supermod.docSect4Type.subclass = docSect4TypeSub
+# end class docSect4TypeSub
+
+
+class docInternalTypeSub(supermod.docInternalType):
+ def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None):
+ supermod.docInternalType.__init__(self, mixedclass_, content_)
+supermod.docInternalType.subclass = docInternalTypeSub
+# end class docInternalTypeSub
+
+
+class docInternalS1TypeSub(supermod.docInternalS1Type):
+ def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None):
+ supermod.docInternalS1Type.__init__(self, mixedclass_, content_)
+supermod.docInternalS1Type.subclass = docInternalS1TypeSub
+# end class docInternalS1TypeSub
+
+
+class docInternalS2TypeSub(supermod.docInternalS2Type):
+ def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
+ supermod.docInternalS2Type.__init__(self, mixedclass_, content_)
+supermod.docInternalS2Type.subclass = docInternalS2TypeSub
+# end class docInternalS2TypeSub
+
+
+class docInternalS3TypeSub(supermod.docInternalS3Type):
+ def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
+ supermod.docInternalS3Type.__init__(self, mixedclass_, content_)
+supermod.docInternalS3Type.subclass = docInternalS3TypeSub
+# end class docInternalS3TypeSub
+
+
+class docInternalS4TypeSub(supermod.docInternalS4Type):
+ def __init__(self, para=None, mixedclass_=None, content_=None):
+ supermod.docInternalS4Type.__init__(self, mixedclass_, content_)
+supermod.docInternalS4Type.subclass = docInternalS4TypeSub
+# end class docInternalS4TypeSub
+
+
+class docURLLinkSub(supermod.docURLLink):
+ def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.docURLLink.__init__(self, mixedclass_, content_)
+supermod.docURLLink.subclass = docURLLinkSub
+# end class docURLLinkSub
+
+
+class docAnchorTypeSub(supermod.docAnchorType):
+ def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.docAnchorType.__init__(self, mixedclass_, content_)
+supermod.docAnchorType.subclass = docAnchorTypeSub
+# end class docAnchorTypeSub
+
+
+class docFormulaTypeSub(supermod.docFormulaType):
+ def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.docFormulaType.__init__(self, mixedclass_, content_)
+supermod.docFormulaType.subclass = docFormulaTypeSub
+# end class docFormulaTypeSub
+
+
+class docIndexEntryTypeSub(supermod.docIndexEntryType):
+ def __init__(self, primaryie='', secondaryie=''):
+ supermod.docIndexEntryType.__init__(self, primaryie, secondaryie)
+supermod.docIndexEntryType.subclass = docIndexEntryTypeSub
+# end class docIndexEntryTypeSub
+
+
+class docListTypeSub(supermod.docListType):
+ def __init__(self, listitem=None):
+ supermod.docListType.__init__(self, listitem)
+supermod.docListType.subclass = docListTypeSub
+# end class docListTypeSub
+
+
+class docListItemTypeSub(supermod.docListItemType):
+ def __init__(self, para=None):
+ supermod.docListItemType.__init__(self, para)
+supermod.docListItemType.subclass = docListItemTypeSub
+# end class docListItemTypeSub
+
+
+class docSimpleSectTypeSub(supermod.docSimpleSectType):
+ def __init__(self, kind=None, title=None, para=None):
+ supermod.docSimpleSectType.__init__(self, kind, title, para)
+supermod.docSimpleSectType.subclass = docSimpleSectTypeSub
+# end class docSimpleSectTypeSub
+
+
+class docVarListEntryTypeSub(supermod.docVarListEntryType):
+ def __init__(self, term=None):
+ supermod.docVarListEntryType.__init__(self, term)
+supermod.docVarListEntryType.subclass = docVarListEntryTypeSub
+# end class docVarListEntryTypeSub
+
+
+class docRefTextTypeSub(supermod.docRefTextType):
+ def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.docRefTextType.__init__(self, mixedclass_, content_)
+supermod.docRefTextType.subclass = docRefTextTypeSub
+# end class docRefTextTypeSub
+
+
+class docTableTypeSub(supermod.docTableType):
+ def __init__(self, rows=None, cols=None, row=None, caption=None):
+ supermod.docTableType.__init__(self, rows, cols, row, caption)
+supermod.docTableType.subclass = docTableTypeSub
+# end class docTableTypeSub
+
+
+class docRowTypeSub(supermod.docRowType):
+ def __init__(self, entry=None):
+ supermod.docRowType.__init__(self, entry)
+supermod.docRowType.subclass = docRowTypeSub
+# end class docRowTypeSub
+
+
+class docEntryTypeSub(supermod.docEntryType):
+ def __init__(self, thead=None, para=None):
+ supermod.docEntryType.__init__(self, thead, para)
+supermod.docEntryType.subclass = docEntryTypeSub
+# end class docEntryTypeSub
+
+
+class docHeadingTypeSub(supermod.docHeadingType):
+ def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.docHeadingType.__init__(self, mixedclass_, content_)
+supermod.docHeadingType.subclass = docHeadingTypeSub
+# end class docHeadingTypeSub
+
+
+class docImageTypeSub(supermod.docImageType):
+ def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.docImageType.__init__(self, mixedclass_, content_)
+supermod.docImageType.subclass = docImageTypeSub
+# end class docImageTypeSub
+
+
+class docDotFileTypeSub(supermod.docDotFileType):
+ def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.docDotFileType.__init__(self, mixedclass_, content_)
+supermod.docDotFileType.subclass = docDotFileTypeSub
+# end class docDotFileTypeSub
+
+
+class docTocItemTypeSub(supermod.docTocItemType):
+ def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
+ supermod.docTocItemType.__init__(self, mixedclass_, content_)
+supermod.docTocItemType.subclass = docTocItemTypeSub
+# end class docTocItemTypeSub
+
+
+class docTocListTypeSub(supermod.docTocListType):
+ def __init__(self, tocitem=None):
+ supermod.docTocListType.__init__(self, tocitem)
+supermod.docTocListType.subclass = docTocListTypeSub
+# end class docTocListTypeSub
+
+
+class docLanguageTypeSub(supermod.docLanguageType):
+ def __init__(self, langid=None, para=None):
+ supermod.docLanguageType.__init__(self, langid, para)
+supermod.docLanguageType.subclass = docLanguageTypeSub
+# end class docLanguageTypeSub
+
+
+class docParamListTypeSub(supermod.docParamListType):
+ def __init__(self, kind=None, parameteritem=None):
+ supermod.docParamListType.__init__(self, kind, parameteritem)
+supermod.docParamListType.subclass = docParamListTypeSub
+# end class docParamListTypeSub
+
+
+class docParamListItemSub(supermod.docParamListItem):
+ def __init__(self, parameternamelist=None, parameterdescription=None):
+ supermod.docParamListItem.__init__(self, parameternamelist, parameterdescription)
+supermod.docParamListItem.subclass = docParamListItemSub
+# end class docParamListItemSub
+
+
+class docParamNameListSub(supermod.docParamNameList):
+ def __init__(self, parametername=None):
+ supermod.docParamNameList.__init__(self, parametername)
+supermod.docParamNameList.subclass = docParamNameListSub
+# end class docParamNameListSub
+
+
+class docParamNameSub(supermod.docParamName):
+ def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None):
+ supermod.docParamName.__init__(self, mixedclass_, content_)
+supermod.docParamName.subclass = docParamNameSub
+# end class docParamNameSub
+
+
+class docXRefSectTypeSub(supermod.docXRefSectType):
+ def __init__(self, id=None, xreftitle=None, xrefdescription=None):
+ supermod.docXRefSectType.__init__(self, id, xreftitle, xrefdescription)
+supermod.docXRefSectType.subclass = docXRefSectTypeSub
+# end class docXRefSectTypeSub
+
+
+class docCopyTypeSub(supermod.docCopyType):
+ def __init__(self, link=None, para=None, sect1=None, internal=None):
+ supermod.docCopyType.__init__(self, link, para, sect1, internal)
+supermod.docCopyType.subclass = docCopyTypeSub
+# end class docCopyTypeSub
+
+
+class docCharTypeSub(supermod.docCharType):
+ def __init__(self, char=None, valueOf_=''):
+ supermod.docCharType.__init__(self, char)
+supermod.docCharType.subclass = docCharTypeSub
+# end class docCharTypeSub
+
+class docParaTypeSub(supermod.docParaType):
+ def __init__(self, char=None, valueOf_=''):
+ supermod.docParaType.__init__(self, char)
+
+ self.parameterlist = []
+ self.simplesects = []
+ self.content = []
+
+ def buildChildren(self, child_, nodeName_):
+ supermod.docParaType.buildChildren(self, child_, nodeName_)
+
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == "ref":
+ obj_ = supermod.docRefTextType.factory()
+ obj_.build(child_)
+ self.content.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'parameterlist':
+ obj_ = supermod.docParamListType.factory()
+ obj_.build(child_)
+ self.parameterlist.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'simplesect':
+ obj_ = supermod.docSimpleSectType.factory()
+ obj_.build(child_)
+ self.simplesects.append(obj_)
+
+
+supermod.docParaType.subclass = docParaTypeSub
+# end class docParaTypeSub
+
+
+
+def parse(inFilename):
+ doc = minidom.parse(inFilename)
+ rootNode = doc.documentElement
+ rootObj = supermod.DoxygenType.factory()
+ rootObj.build(rootNode)
+ return rootObj
+
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/compoundsuper.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/compoundsuper.py
new file mode 100644
index 000000000..6255dda16
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/compoundsuper.py
@@ -0,0 +1,8342 @@
+#!/usr/bin/env python
+
+#
+# Generated Thu Jun 11 18:44:25 2009 by generateDS.py.
+#
+
+import sys
+import getopt
+from string import lower as str_lower
+from xml.dom import minidom
+from xml.dom import Node
+
+#
+# User methods
+#
+# Calls to the methods in these classes are generated by generateDS.py.
+# You can replace these methods by re-implementing the following class
+# in a module named generatedssuper.py.
+
+try:
+ from generatedssuper import GeneratedsSuper
+except ImportError, exp:
+
+ class GeneratedsSuper:
+ def format_string(self, input_data, input_name=''):
+ return input_data
+ def format_integer(self, input_data, input_name=''):
+ return '%d' % input_data
+ def format_float(self, input_data, input_name=''):
+ return '%f' % input_data
+ def format_double(self, input_data, input_name=''):
+ return '%e' % input_data
+ def format_boolean(self, input_data, input_name=''):
+ return '%s' % input_data
+
+
+#
+# If you have installed IPython you can uncomment and use the following.
+# IPython is available from http://ipython.scipy.org/.
+#
+
+## from IPython.Shell import IPShellEmbed
+## args = ''
+## ipshell = IPShellEmbed(args,
+## banner = 'Dropping into IPython',
+## exit_msg = 'Leaving Interpreter, back to program.')
+
+# Then use the following line where and when you want to drop into the
+# IPython shell:
+# ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
+
+#
+# Globals
+#
+
+ExternalEncoding = 'ascii'
+
+#
+# Support/utility functions.
+#
+
+def showIndent(outfile, level):
+ for idx in range(level):
+ outfile.write(' ')
+
+def quote_xml(inStr):
+ s1 = (isinstance(inStr, basestring) and inStr or
+ '%s' % inStr)
+ s1 = s1.replace('&', '&amp;')
+ s1 = s1.replace('<', '&lt;')
+ s1 = s1.replace('>', '&gt;')
+ return s1
+
+def quote_attrib(inStr):
+ s1 = (isinstance(inStr, basestring) and inStr or
+ '%s' % inStr)
+ s1 = s1.replace('&', '&amp;')
+ s1 = s1.replace('<', '&lt;')
+ s1 = s1.replace('>', '&gt;')
+ if '"' in s1:
+ if "'" in s1:
+ s1 = '"%s"' % s1.replace('"', "&quot;")
+ else:
+ s1 = "'%s'" % s1
+ else:
+ s1 = '"%s"' % s1
+ return s1
+
+def quote_python(inStr):
+ s1 = inStr
+ if s1.find("'") == -1:
+ if s1.find('\n') == -1:
+ return "'%s'" % s1
+ else:
+ return "'''%s'''" % s1
+ else:
+ if s1.find('"') != -1:
+ s1 = s1.replace('"', '\\"')
+ if s1.find('\n') == -1:
+ return '"%s"' % s1
+ else:
+ return '"""%s"""' % s1
+
+
+class MixedContainer:
+ # Constants for category:
+ CategoryNone = 0
+ CategoryText = 1
+ CategorySimple = 2
+ CategoryComplex = 3
+ # Constants for content_type:
+ TypeNone = 0
+ TypeText = 1
+ TypeString = 2
+ TypeInteger = 3
+ TypeFloat = 4
+ TypeDecimal = 5
+ TypeDouble = 6
+ TypeBoolean = 7
+ def __init__(self, category, content_type, name, value):
+ self.category = category
+ self.content_type = content_type
+ self.name = name
+ self.value = value
+ def getCategory(self):
+ return self.category
+ def getContenttype(self, content_type):
+ return self.content_type
+ def getValue(self):
+ return self.value
+ def getName(self):
+ return self.name
+ def export(self, outfile, level, name, namespace):
+ if self.category == MixedContainer.CategoryText:
+ outfile.write(self.value)
+ elif self.category == MixedContainer.CategorySimple:
+ self.exportSimple(outfile, level, name)
+ else: # category == MixedContainer.CategoryComplex
+ self.value.export(outfile, level, namespace,name)
+ def exportSimple(self, outfile, level, name):
+ if self.content_type == MixedContainer.TypeString:
+ outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name))
+ elif self.content_type == MixedContainer.TypeInteger or \
+ self.content_type == MixedContainer.TypeBoolean:
+ outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name))
+ elif self.content_type == MixedContainer.TypeFloat or \
+ self.content_type == MixedContainer.TypeDecimal:
+ outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name))
+ elif self.content_type == MixedContainer.TypeDouble:
+ outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name))
+ def exportLiteral(self, outfile, level, name):
+ if self.category == MixedContainer.CategoryText:
+ showIndent(outfile, level)
+ outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
+ (self.category, self.content_type, self.name, self.value))
+ elif self.category == MixedContainer.CategorySimple:
+ showIndent(outfile, level)
+ outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
+ (self.category, self.content_type, self.name, self.value))
+ else: # category == MixedContainer.CategoryComplex
+ showIndent(outfile, level)
+ outfile.write('MixedContainer(%d, %d, "%s",\n' % \
+ (self.category, self.content_type, self.name,))
+ self.value.exportLiteral(outfile, level + 1)
+ showIndent(outfile, level)
+ outfile.write(')\n')
+
+
+class _MemberSpec(object):
+ def __init__(self, name='', data_type='', container=0):
+ self.name = name
+ self.data_type = data_type
+ self.container = container
+ def set_name(self, name): self.name = name
+ def get_name(self): return self.name
+ def set_data_type(self, data_type): self.data_type = data_type
+ def get_data_type(self): return self.data_type
+ def set_container(self, container): self.container = container
+ def get_container(self): return self.container
+
+
+#
+# Data representation classes.
+#
+
+class DoxygenType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, version=None, compounddef=None):
+ self.version = version
+ self.compounddef = compounddef
+ def factory(*args_, **kwargs_):
+ if DoxygenType.subclass:
+ return DoxygenType.subclass(*args_, **kwargs_)
+ else:
+ return DoxygenType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_compounddef(self): return self.compounddef
+ def set_compounddef(self, compounddef): self.compounddef = compounddef
+ def get_version(self): return self.version
+ def set_version(self, version): self.version = version
+ def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='DoxygenType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'):
+ outfile.write(' version=%s' % (quote_attrib(self.version), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'):
+ if self.compounddef:
+ self.compounddef.export(outfile, level, namespace_, name_='compounddef')
+ def hasContent_(self):
+ if (
+ self.compounddef is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='DoxygenType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.version is not None:
+ showIndent(outfile, level)
+ outfile.write('version = "%s",\n' % (self.version,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ if self.compounddef:
+ showIndent(outfile, level)
+ outfile.write('compounddef=model_.compounddefType(\n')
+ self.compounddef.exportLiteral(outfile, level, name_='compounddef')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('version'):
+ self.version = attrs.get('version').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'compounddef':
+ obj_ = compounddefType.factory()
+ obj_.build(child_)
+ self.set_compounddef(obj_)
+# end class DoxygenType
+
+
+class compounddefType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, kind=None, prot=None, id=None, compoundname=None, title=None, basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmembers=None):
+ self.kind = kind
+ self.prot = prot
+ self.id = id
+ self.compoundname = compoundname
+ self.title = title
+ if basecompoundref is None:
+ self.basecompoundref = []
+ else:
+ self.basecompoundref = basecompoundref
+ if derivedcompoundref is None:
+ self.derivedcompoundref = []
+ else:
+ self.derivedcompoundref = derivedcompoundref
+ if includes is None:
+ self.includes = []
+ else:
+ self.includes = includes
+ if includedby is None:
+ self.includedby = []
+ else:
+ self.includedby = includedby
+ self.incdepgraph = incdepgraph
+ self.invincdepgraph = invincdepgraph
+ if innerdir is None:
+ self.innerdir = []
+ else:
+ self.innerdir = innerdir
+ if innerfile is None:
+ self.innerfile = []
+ else:
+ self.innerfile = innerfile
+ if innerclass is None:
+ self.innerclass = []
+ else:
+ self.innerclass = innerclass
+ if innernamespace is None:
+ self.innernamespace = []
+ else:
+ self.innernamespace = innernamespace
+ if innerpage is None:
+ self.innerpage = []
+ else:
+ self.innerpage = innerpage
+ if innergroup is None:
+ self.innergroup = []
+ else:
+ self.innergroup = innergroup
+ self.templateparamlist = templateparamlist
+ if sectiondef is None:
+ self.sectiondef = []
+ else:
+ self.sectiondef = sectiondef
+ self.briefdescription = briefdescription
+ self.detaileddescription = detaileddescription
+ self.inheritancegraph = inheritancegraph
+ self.collaborationgraph = collaborationgraph
+ self.programlisting = programlisting
+ self.location = location
+ self.listofallmembers = listofallmembers
+ def factory(*args_, **kwargs_):
+ if compounddefType.subclass:
+ return compounddefType.subclass(*args_, **kwargs_)
+ else:
+ return compounddefType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_compoundname(self): return self.compoundname
+ def set_compoundname(self, compoundname): self.compoundname = compoundname
+ def get_title(self): return self.title
+ def set_title(self, title): self.title = title
+ def get_basecompoundref(self): return self.basecompoundref
+ def set_basecompoundref(self, basecompoundref): self.basecompoundref = basecompoundref
+ def add_basecompoundref(self, value): self.basecompoundref.append(value)
+ def insert_basecompoundref(self, index, value): self.basecompoundref[index] = value
+ def get_derivedcompoundref(self): return self.derivedcompoundref
+ def set_derivedcompoundref(self, derivedcompoundref): self.derivedcompoundref = derivedcompoundref
+ def add_derivedcompoundref(self, value): self.derivedcompoundref.append(value)
+ def insert_derivedcompoundref(self, index, value): self.derivedcompoundref[index] = value
+ def get_includes(self): return self.includes
+ def set_includes(self, includes): self.includes = includes
+ def add_includes(self, value): self.includes.append(value)
+ def insert_includes(self, index, value): self.includes[index] = value
+ def get_includedby(self): return self.includedby
+ def set_includedby(self, includedby): self.includedby = includedby
+ def add_includedby(self, value): self.includedby.append(value)
+ def insert_includedby(self, index, value): self.includedby[index] = value
+ def get_incdepgraph(self): return self.incdepgraph
+ def set_incdepgraph(self, incdepgraph): self.incdepgraph = incdepgraph
+ def get_invincdepgraph(self): return self.invincdepgraph
+ def set_invincdepgraph(self, invincdepgraph): self.invincdepgraph = invincdepgraph
+ def get_innerdir(self): return self.innerdir
+ def set_innerdir(self, innerdir): self.innerdir = innerdir
+ def add_innerdir(self, value): self.innerdir.append(value)
+ def insert_innerdir(self, index, value): self.innerdir[index] = value
+ def get_innerfile(self): return self.innerfile
+ def set_innerfile(self, innerfile): self.innerfile = innerfile
+ def add_innerfile(self, value): self.innerfile.append(value)
+ def insert_innerfile(self, index, value): self.innerfile[index] = value
+ def get_innerclass(self): return self.innerclass
+ def set_innerclass(self, innerclass): self.innerclass = innerclass
+ def add_innerclass(self, value): self.innerclass.append(value)
+ def insert_innerclass(self, index, value): self.innerclass[index] = value
+ def get_innernamespace(self): return self.innernamespace
+ def set_innernamespace(self, innernamespace): self.innernamespace = innernamespace
+ def add_innernamespace(self, value): self.innernamespace.append(value)
+ def insert_innernamespace(self, index, value): self.innernamespace[index] = value
+ def get_innerpage(self): return self.innerpage
+ def set_innerpage(self, innerpage): self.innerpage = innerpage
+ def add_innerpage(self, value): self.innerpage.append(value)
+ def insert_innerpage(self, index, value): self.innerpage[index] = value
+ def get_innergroup(self): return self.innergroup
+ def set_innergroup(self, innergroup): self.innergroup = innergroup
+ def add_innergroup(self, value): self.innergroup.append(value)
+ def insert_innergroup(self, index, value): self.innergroup[index] = value
+ def get_templateparamlist(self): return self.templateparamlist
+ def set_templateparamlist(self, templateparamlist): self.templateparamlist = templateparamlist
+ def get_sectiondef(self): return self.sectiondef
+ def set_sectiondef(self, sectiondef): self.sectiondef = sectiondef
+ def add_sectiondef(self, value): self.sectiondef.append(value)
+ def insert_sectiondef(self, index, value): self.sectiondef[index] = value
+ def get_briefdescription(self): return self.briefdescription
+ def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
+ def get_detaileddescription(self): return self.detaileddescription
+ def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
+ def get_inheritancegraph(self): return self.inheritancegraph
+ def set_inheritancegraph(self, inheritancegraph): self.inheritancegraph = inheritancegraph
+ def get_collaborationgraph(self): return self.collaborationgraph
+ def set_collaborationgraph(self, collaborationgraph): self.collaborationgraph = collaborationgraph
+ def get_programlisting(self): return self.programlisting
+ def set_programlisting(self, programlisting): self.programlisting = programlisting
+ def get_location(self): return self.location
+ def set_location(self, location): self.location = location
+ def get_listofallmembers(self): return self.listofallmembers
+ def set_listofallmembers(self, listofallmembers): self.listofallmembers = listofallmembers
+ def get_kind(self): return self.kind
+ def set_kind(self, kind): self.kind = kind
+ def get_prot(self): return self.prot
+ def set_prot(self, prot): self.prot = prot
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='compounddefType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='compounddefType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='compounddefType'):
+ if self.kind is not None:
+ outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
+ if self.prot is not None:
+ outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='compounddefType'):
+ if self.compoundname is not None:
+ showIndent(outfile, level)
+ outfile.write('<%scompoundname>%s</%scompoundname>\n' % (namespace_, self.format_string(quote_xml(self.compoundname).encode(ExternalEncoding), input_name='compoundname'), namespace_))
+ if self.title is not None:
+ showIndent(outfile, level)
+ outfile.write('<%stitle>%s</%stitle>\n' % (namespace_, self.format_string(quote_xml(self.title).encode(ExternalEncoding), input_name='title'), namespace_))
+ for basecompoundref_ in self.basecompoundref:
+ basecompoundref_.export(outfile, level, namespace_, name_='basecompoundref')
+ for derivedcompoundref_ in self.derivedcompoundref:
+ derivedcompoundref_.export(outfile, level, namespace_, name_='derivedcompoundref')
+ for includes_ in self.includes:
+ includes_.export(outfile, level, namespace_, name_='includes')
+ for includedby_ in self.includedby:
+ includedby_.export(outfile, level, namespace_, name_='includedby')
+ if self.incdepgraph:
+ self.incdepgraph.export(outfile, level, namespace_, name_='incdepgraph')
+ if self.invincdepgraph:
+ self.invincdepgraph.export(outfile, level, namespace_, name_='invincdepgraph')
+ for innerdir_ in self.innerdir:
+ innerdir_.export(outfile, level, namespace_, name_='innerdir')
+ for innerfile_ in self.innerfile:
+ innerfile_.export(outfile, level, namespace_, name_='innerfile')
+ for innerclass_ in self.innerclass:
+ innerclass_.export(outfile, level, namespace_, name_='innerclass')
+ for innernamespace_ in self.innernamespace:
+ innernamespace_.export(outfile, level, namespace_, name_='innernamespace')
+ for innerpage_ in self.innerpage:
+ innerpage_.export(outfile, level, namespace_, name_='innerpage')
+ for innergroup_ in self.innergroup:
+ innergroup_.export(outfile, level, namespace_, name_='innergroup')
+ if self.templateparamlist:
+ self.templateparamlist.export(outfile, level, namespace_, name_='templateparamlist')
+ for sectiondef_ in self.sectiondef:
+ sectiondef_.export(outfile, level, namespace_, name_='sectiondef')
+ if self.briefdescription:
+ self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
+ if self.detaileddescription:
+ self.detaileddescription.export(outfile, level, namespace_, name_='detaileddescription')
+ if self.inheritancegraph:
+ self.inheritancegraph.export(outfile, level, namespace_, name_='inheritancegraph')
+ if self.collaborationgraph:
+ self.collaborationgraph.export(outfile, level, namespace_, name_='collaborationgraph')
+ if self.programlisting:
+ self.programlisting.export(outfile, level, namespace_, name_='programlisting')
+ if self.location:
+ self.location.export(outfile, level, namespace_, name_='location')
+ if self.listofallmembers:
+ self.listofallmembers.export(outfile, level, namespace_, name_='listofallmembers')
+ def hasContent_(self):
+ if (
+ self.compoundname is not None or
+ self.title is not None or
+ self.basecompoundref is not None or
+ self.derivedcompoundref is not None or
+ self.includes is not None or
+ self.includedby is not None or
+ self.incdepgraph is not None or
+ self.invincdepgraph is not None or
+ self.innerdir is not None or
+ self.innerfile is not None or
+ self.innerclass is not None or
+ self.innernamespace is not None or
+ self.innerpage is not None or
+ self.innergroup is not None or
+ self.templateparamlist is not None or
+ self.sectiondef is not None or
+ self.briefdescription is not None or
+ self.detaileddescription is not None or
+ self.inheritancegraph is not None or
+ self.collaborationgraph is not None or
+ self.programlisting is not None or
+ self.location is not None or
+ self.listofallmembers is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='compounddefType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.kind is not None:
+ showIndent(outfile, level)
+ outfile.write('kind = "%s",\n' % (self.kind,))
+ if self.prot is not None:
+ showIndent(outfile, level)
+ outfile.write('prot = "%s",\n' % (self.prot,))
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('compoundname=%s,\n' % quote_python(self.compoundname).encode(ExternalEncoding))
+ if self.title:
+ showIndent(outfile, level)
+ outfile.write('title=model_.xsd_string(\n')
+ self.title.exportLiteral(outfile, level, name_='title')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('basecompoundref=[\n')
+ level += 1
+ for basecompoundref in self.basecompoundref:
+ showIndent(outfile, level)
+ outfile.write('model_.basecompoundref(\n')
+ basecompoundref.exportLiteral(outfile, level, name_='basecompoundref')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('derivedcompoundref=[\n')
+ level += 1
+ for derivedcompoundref in self.derivedcompoundref:
+ showIndent(outfile, level)
+ outfile.write('model_.derivedcompoundref(\n')
+ derivedcompoundref.exportLiteral(outfile, level, name_='derivedcompoundref')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('includes=[\n')
+ level += 1
+ for includes in self.includes:
+ showIndent(outfile, level)
+ outfile.write('model_.includes(\n')
+ includes.exportLiteral(outfile, level, name_='includes')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('includedby=[\n')
+ level += 1
+ for includedby in self.includedby:
+ showIndent(outfile, level)
+ outfile.write('model_.includedby(\n')
+ includedby.exportLiteral(outfile, level, name_='includedby')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ if self.incdepgraph:
+ showIndent(outfile, level)
+ outfile.write('incdepgraph=model_.graphType(\n')
+ self.incdepgraph.exportLiteral(outfile, level, name_='incdepgraph')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.invincdepgraph:
+ showIndent(outfile, level)
+ outfile.write('invincdepgraph=model_.graphType(\n')
+ self.invincdepgraph.exportLiteral(outfile, level, name_='invincdepgraph')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('innerdir=[\n')
+ level += 1
+ for innerdir in self.innerdir:
+ showIndent(outfile, level)
+ outfile.write('model_.innerdir(\n')
+ innerdir.exportLiteral(outfile, level, name_='innerdir')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('innerfile=[\n')
+ level += 1
+ for innerfile in self.innerfile:
+ showIndent(outfile, level)
+ outfile.write('model_.innerfile(\n')
+ innerfile.exportLiteral(outfile, level, name_='innerfile')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('innerclass=[\n')
+ level += 1
+ for innerclass in self.innerclass:
+ showIndent(outfile, level)
+ outfile.write('model_.innerclass(\n')
+ innerclass.exportLiteral(outfile, level, name_='innerclass')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('innernamespace=[\n')
+ level += 1
+ for innernamespace in self.innernamespace:
+ showIndent(outfile, level)
+ outfile.write('model_.innernamespace(\n')
+ innernamespace.exportLiteral(outfile, level, name_='innernamespace')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('innerpage=[\n')
+ level += 1
+ for innerpage in self.innerpage:
+ showIndent(outfile, level)
+ outfile.write('model_.innerpage(\n')
+ innerpage.exportLiteral(outfile, level, name_='innerpage')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('innergroup=[\n')
+ level += 1
+ for innergroup in self.innergroup:
+ showIndent(outfile, level)
+ outfile.write('model_.innergroup(\n')
+ innergroup.exportLiteral(outfile, level, name_='innergroup')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ if self.templateparamlist:
+ showIndent(outfile, level)
+ outfile.write('templateparamlist=model_.templateparamlistType(\n')
+ self.templateparamlist.exportLiteral(outfile, level, name_='templateparamlist')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('sectiondef=[\n')
+ level += 1
+ for sectiondef in self.sectiondef:
+ showIndent(outfile, level)
+ outfile.write('model_.sectiondef(\n')
+ sectiondef.exportLiteral(outfile, level, name_='sectiondef')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ if self.briefdescription:
+ showIndent(outfile, level)
+ outfile.write('briefdescription=model_.descriptionType(\n')
+ self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.detaileddescription:
+ showIndent(outfile, level)
+ outfile.write('detaileddescription=model_.descriptionType(\n')
+ self.detaileddescription.exportLiteral(outfile, level, name_='detaileddescription')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.inheritancegraph:
+ showIndent(outfile, level)
+ outfile.write('inheritancegraph=model_.graphType(\n')
+ self.inheritancegraph.exportLiteral(outfile, level, name_='inheritancegraph')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.collaborationgraph:
+ showIndent(outfile, level)
+ outfile.write('collaborationgraph=model_.graphType(\n')
+ self.collaborationgraph.exportLiteral(outfile, level, name_='collaborationgraph')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.programlisting:
+ showIndent(outfile, level)
+ outfile.write('programlisting=model_.listingType(\n')
+ self.programlisting.exportLiteral(outfile, level, name_='programlisting')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.location:
+ showIndent(outfile, level)
+ outfile.write('location=model_.locationType(\n')
+ self.location.exportLiteral(outfile, level, name_='location')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.listofallmembers:
+ showIndent(outfile, level)
+ outfile.write('listofallmembers=model_.listofallmembersType(\n')
+ self.listofallmembers.exportLiteral(outfile, level, name_='listofallmembers')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('kind'):
+ self.kind = attrs.get('kind').value
+ if attrs.get('prot'):
+ self.prot = attrs.get('prot').value
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'compoundname':
+ compoundname_ = ''
+ for text__content_ in child_.childNodes:
+ compoundname_ += text__content_.nodeValue
+ self.compoundname = compoundname_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'title':
+ obj_ = docTitleType.factory()
+ obj_.build(child_)
+ self.set_title(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'basecompoundref':
+ obj_ = compoundRefType.factory()
+ obj_.build(child_)
+ self.basecompoundref.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'derivedcompoundref':
+ obj_ = compoundRefType.factory()
+ obj_.build(child_)
+ self.derivedcompoundref.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'includes':
+ obj_ = incType.factory()
+ obj_.build(child_)
+ self.includes.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'includedby':
+ obj_ = incType.factory()
+ obj_.build(child_)
+ self.includedby.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'incdepgraph':
+ obj_ = graphType.factory()
+ obj_.build(child_)
+ self.set_incdepgraph(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'invincdepgraph':
+ obj_ = graphType.factory()
+ obj_.build(child_)
+ self.set_invincdepgraph(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'innerdir':
+ obj_ = refType.factory()
+ obj_.build(child_)
+ self.innerdir.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'innerfile':
+ obj_ = refType.factory()
+ obj_.build(child_)
+ self.innerfile.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'innerclass':
+ obj_ = refType.factory()
+ obj_.build(child_)
+ self.innerclass.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'innernamespace':
+ obj_ = refType.factory()
+ obj_.build(child_)
+ self.innernamespace.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'innerpage':
+ obj_ = refType.factory()
+ obj_.build(child_)
+ self.innerpage.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'innergroup':
+ obj_ = refType.factory()
+ obj_.build(child_)
+ self.innergroup.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'templateparamlist':
+ obj_ = templateparamlistType.factory()
+ obj_.build(child_)
+ self.set_templateparamlist(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sectiondef':
+ obj_ = sectiondefType.factory()
+ obj_.build(child_)
+ self.sectiondef.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'briefdescription':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_briefdescription(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'detaileddescription':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_detaileddescription(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'inheritancegraph':
+ obj_ = graphType.factory()
+ obj_.build(child_)
+ self.set_inheritancegraph(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'collaborationgraph':
+ obj_ = graphType.factory()
+ obj_.build(child_)
+ self.set_collaborationgraph(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'programlisting':
+ obj_ = listingType.factory()
+ obj_.build(child_)
+ self.set_programlisting(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'location':
+ obj_ = locationType.factory()
+ obj_.build(child_)
+ self.set_location(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'listofallmembers':
+ obj_ = listofallmembersType.factory()
+ obj_.build(child_)
+ self.set_listofallmembers(obj_)
+# end class compounddefType
+
+
+class listofallmembersType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, member=None):
+ if member is None:
+ self.member = []
+ else:
+ self.member = member
+ def factory(*args_, **kwargs_):
+ if listofallmembersType.subclass:
+ return listofallmembersType.subclass(*args_, **kwargs_)
+ else:
+ return listofallmembersType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_member(self): return self.member
+ def set_member(self, member): self.member = member
+ def add_member(self, value): self.member.append(value)
+ def insert_member(self, index, value): self.member[index] = value
+ def export(self, outfile, level, namespace_='', name_='listofallmembersType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='listofallmembersType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='listofallmembersType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='listofallmembersType'):
+ for member_ in self.member:
+ member_.export(outfile, level, namespace_, name_='member')
+ def hasContent_(self):
+ if (
+ self.member is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='listofallmembersType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('member=[\n')
+ level += 1
+ for member in self.member:
+ showIndent(outfile, level)
+ outfile.write('model_.member(\n')
+ member.exportLiteral(outfile, level, name_='member')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'member':
+ obj_ = memberRefType.factory()
+ obj_.build(child_)
+ self.member.append(obj_)
+# end class listofallmembersType
+
+
+class memberRefType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope=None, name=None):
+ self.virt = virt
+ self.prot = prot
+ self.refid = refid
+ self.ambiguityscope = ambiguityscope
+ self.scope = scope
+ self.name = name
+ def factory(*args_, **kwargs_):
+ if memberRefType.subclass:
+ return memberRefType.subclass(*args_, **kwargs_)
+ else:
+ return memberRefType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_scope(self): return self.scope
+ def set_scope(self, scope): self.scope = scope
+ def get_name(self): return self.name
+ def set_name(self, name): self.name = name
+ def get_virt(self): return self.virt
+ def set_virt(self, virt): self.virt = virt
+ def get_prot(self): return self.prot
+ def set_prot(self, prot): self.prot = prot
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def get_ambiguityscope(self): return self.ambiguityscope
+ def set_ambiguityscope(self, ambiguityscope): self.ambiguityscope = ambiguityscope
+ def export(self, outfile, level, namespace_='', name_='memberRefType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='memberRefType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='memberRefType'):
+ if self.virt is not None:
+ outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
+ if self.prot is not None:
+ outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ if self.ambiguityscope is not None:
+ outfile.write(' ambiguityscope=%s' % (self.format_string(quote_attrib(self.ambiguityscope).encode(ExternalEncoding), input_name='ambiguityscope'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='memberRefType'):
+ if self.scope is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sscope>%s</%sscope>\n' % (namespace_, self.format_string(quote_xml(self.scope).encode(ExternalEncoding), input_name='scope'), namespace_))
+ if self.name is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
+ def hasContent_(self):
+ if (
+ self.scope is not None or
+ self.name is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='memberRefType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.virt is not None:
+ showIndent(outfile, level)
+ outfile.write('virt = "%s",\n' % (self.virt,))
+ if self.prot is not None:
+ showIndent(outfile, level)
+ outfile.write('prot = "%s",\n' % (self.prot,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ if self.ambiguityscope is not None:
+ showIndent(outfile, level)
+ outfile.write('ambiguityscope = %s,\n' % (self.ambiguityscope,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('scope=%s,\n' % quote_python(self.scope).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('virt'):
+ self.virt = attrs.get('virt').value
+ if attrs.get('prot'):
+ self.prot = attrs.get('prot').value
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ if attrs.get('ambiguityscope'):
+ self.ambiguityscope = attrs.get('ambiguityscope').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'scope':
+ scope_ = ''
+ for text__content_ in child_.childNodes:
+ scope_ += text__content_.nodeValue
+ self.scope = scope_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'name':
+ name_ = ''
+ for text__content_ in child_.childNodes:
+ name_ += text__content_.nodeValue
+ self.name = name_
+# end class memberRefType
+
+
+class scope(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if scope.subclass:
+ return scope.subclass(*args_, **kwargs_)
+ else:
+ return scope(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='scope', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='scope')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='scope'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='scope'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='scope'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class scope
+
+
+class name(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if name.subclass:
+ return name.subclass(*args_, **kwargs_)
+ else:
+ return name(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='name', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='name')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='name'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='name'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='name'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class name
+
+
+class compoundRefType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
+ self.virt = virt
+ self.prot = prot
+ self.refid = refid
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if compoundRefType.subclass:
+ return compoundRefType.subclass(*args_, **kwargs_)
+ else:
+ return compoundRefType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_virt(self): return self.virt
+ def set_virt(self, virt): self.virt = virt
+ def get_prot(self): return self.prot
+ def set_prot(self, prot): self.prot = prot
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='compoundRefType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='compoundRefType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='compoundRefType'):
+ if self.virt is not None:
+ outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
+ if self.prot is not None:
+ outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='compoundRefType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='compoundRefType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.virt is not None:
+ showIndent(outfile, level)
+ outfile.write('virt = "%s",\n' % (self.virt,))
+ if self.prot is not None:
+ showIndent(outfile, level)
+ outfile.write('prot = "%s",\n' % (self.prot,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('virt'):
+ self.virt = attrs.get('virt').value
+ if attrs.get('prot'):
+ self.prot = attrs.get('prot').value
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class compoundRefType
+
+
+class reimplementType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None):
+ self.refid = refid
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if reimplementType.subclass:
+ return reimplementType.subclass(*args_, **kwargs_)
+ else:
+ return reimplementType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='reimplementType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='reimplementType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='reimplementType'):
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='reimplementType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='reimplementType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class reimplementType
+
+
+class incType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
+ self.local = local
+ self.refid = refid
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if incType.subclass:
+ return incType.subclass(*args_, **kwargs_)
+ else:
+ return incType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_local(self): return self.local
+ def set_local(self, local): self.local = local
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='incType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='incType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='incType'):
+ if self.local is not None:
+ outfile.write(' local=%s' % (quote_attrib(self.local), ))
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='incType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='incType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.local is not None:
+ showIndent(outfile, level)
+ outfile.write('local = "%s",\n' % (self.local,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('local'):
+ self.local = attrs.get('local').value
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class incType
+
+
+class refType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
+ self.prot = prot
+ self.refid = refid
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if refType.subclass:
+ return refType.subclass(*args_, **kwargs_)
+ else:
+ return refType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_prot(self): return self.prot
+ def set_prot(self, prot): self.prot = prot
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='refType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='refType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='refType'):
+ if self.prot is not None:
+ outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='refType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='refType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.prot is not None:
+ showIndent(outfile, level)
+ outfile.write('prot = "%s",\n' % (self.prot,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('prot'):
+ self.prot = attrs.get('prot').value
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class refType
+
+
+class refTextType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
+ self.refid = refid
+ self.kindref = kindref
+ self.external = external
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if refTextType.subclass:
+ return refTextType.subclass(*args_, **kwargs_)
+ else:
+ return refTextType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def get_kindref(self): return self.kindref
+ def set_kindref(self, kindref): self.kindref = kindref
+ def get_external(self): return self.external
+ def set_external(self, external): self.external = external
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='refTextType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='refTextType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='refTextType'):
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ if self.kindref is not None:
+ outfile.write(' kindref=%s' % (quote_attrib(self.kindref), ))
+ if self.external is not None:
+ outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='refTextType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='refTextType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ if self.kindref is not None:
+ showIndent(outfile, level)
+ outfile.write('kindref = "%s",\n' % (self.kindref,))
+ if self.external is not None:
+ showIndent(outfile, level)
+ outfile.write('external = %s,\n' % (self.external,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ if attrs.get('kindref'):
+ self.kindref = attrs.get('kindref').value
+ if attrs.get('external'):
+ self.external = attrs.get('external').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class refTextType
+
+
+class sectiondefType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, kind=None, header=None, description=None, memberdef=None):
+ self.kind = kind
+ self.header = header
+ self.description = description
+ if memberdef is None:
+ self.memberdef = []
+ else:
+ self.memberdef = memberdef
+ def factory(*args_, **kwargs_):
+ if sectiondefType.subclass:
+ return sectiondefType.subclass(*args_, **kwargs_)
+ else:
+ return sectiondefType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_header(self): return self.header
+ def set_header(self, header): self.header = header
+ def get_description(self): return self.description
+ def set_description(self, description): self.description = description
+ def get_memberdef(self): return self.memberdef
+ def set_memberdef(self, memberdef): self.memberdef = memberdef
+ def add_memberdef(self, value): self.memberdef.append(value)
+ def insert_memberdef(self, index, value): self.memberdef[index] = value
+ def get_kind(self): return self.kind
+ def set_kind(self, kind): self.kind = kind
+ def export(self, outfile, level, namespace_='', name_='sectiondefType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='sectiondefType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='sectiondefType'):
+ if self.kind is not None:
+ outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='sectiondefType'):
+ if self.header is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sheader>%s</%sheader>\n' % (namespace_, self.format_string(quote_xml(self.header).encode(ExternalEncoding), input_name='header'), namespace_))
+ if self.description:
+ self.description.export(outfile, level, namespace_, name_='description')
+ for memberdef_ in self.memberdef:
+ memberdef_.export(outfile, level, namespace_, name_='memberdef')
+ def hasContent_(self):
+ if (
+ self.header is not None or
+ self.description is not None or
+ self.memberdef is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='sectiondefType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.kind is not None:
+ showIndent(outfile, level)
+ outfile.write('kind = "%s",\n' % (self.kind,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('header=%s,\n' % quote_python(self.header).encode(ExternalEncoding))
+ if self.description:
+ showIndent(outfile, level)
+ outfile.write('description=model_.descriptionType(\n')
+ self.description.exportLiteral(outfile, level, name_='description')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('memberdef=[\n')
+ level += 1
+ for memberdef in self.memberdef:
+ showIndent(outfile, level)
+ outfile.write('model_.memberdef(\n')
+ memberdef.exportLiteral(outfile, level, name_='memberdef')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('kind'):
+ self.kind = attrs.get('kind').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'header':
+ header_ = ''
+ for text__content_ in child_.childNodes:
+ header_ += text__content_.nodeValue
+ self.header = header_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'description':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_description(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'memberdef':
+ obj_ = memberdefType.factory()
+ obj_.build(child_)
+ self.memberdef.append(obj_)
+# end class sectiondefType
+
+
+class memberdefType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, initonly=None, kind=None, volatile=None, const=None, raisexx=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition=None, argsstring=None, name=None, read=None, write=None, bitfield=None, reimplements=None, reimplementedby=None, param=None, enumvalue=None, initializer=None, exceptions=None, briefdescription=None, detaileddescription=None, inbodydescription=None, location=None, references=None, referencedby=None):
+ self.initonly = initonly
+ self.kind = kind
+ self.volatile = volatile
+ self.const = const
+ self.raisexx = raisexx
+ self.virt = virt
+ self.readable = readable
+ self.prot = prot
+ self.explicit = explicit
+ self.new = new
+ self.final = final
+ self.writable = writable
+ self.add = add
+ self.static = static
+ self.remove = remove
+ self.sealed = sealed
+ self.mutable = mutable
+ self.gettable = gettable
+ self.inline = inline
+ self.settable = settable
+ self.id = id
+ self.templateparamlist = templateparamlist
+ self.type_ = type_
+ self.definition = definition
+ self.argsstring = argsstring
+ self.name = name
+ self.read = read
+ self.write = write
+ self.bitfield = bitfield
+ if reimplements is None:
+ self.reimplements = []
+ else:
+ self.reimplements = reimplements
+ if reimplementedby is None:
+ self.reimplementedby = []
+ else:
+ self.reimplementedby = reimplementedby
+ if param is None:
+ self.param = []
+ else:
+ self.param = param
+ if enumvalue is None:
+ self.enumvalue = []
+ else:
+ self.enumvalue = enumvalue
+ self.initializer = initializer
+ self.exceptions = exceptions
+ self.briefdescription = briefdescription
+ self.detaileddescription = detaileddescription
+ self.inbodydescription = inbodydescription
+ self.location = location
+ if references is None:
+ self.references = []
+ else:
+ self.references = references
+ if referencedby is None:
+ self.referencedby = []
+ else:
+ self.referencedby = referencedby
+ def factory(*args_, **kwargs_):
+ if memberdefType.subclass:
+ return memberdefType.subclass(*args_, **kwargs_)
+ else:
+ return memberdefType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_templateparamlist(self): return self.templateparamlist
+ def set_templateparamlist(self, templateparamlist): self.templateparamlist = templateparamlist
+ def get_type(self): return self.type_
+ def set_type(self, type_): self.type_ = type_
+ def get_definition(self): return self.definition
+ def set_definition(self, definition): self.definition = definition
+ def get_argsstring(self): return self.argsstring
+ def set_argsstring(self, argsstring): self.argsstring = argsstring
+ def get_name(self): return self.name
+ def set_name(self, name): self.name = name
+ def get_read(self): return self.read
+ def set_read(self, read): self.read = read
+ def get_write(self): return self.write
+ def set_write(self, write): self.write = write
+ def get_bitfield(self): return self.bitfield
+ def set_bitfield(self, bitfield): self.bitfield = bitfield
+ def get_reimplements(self): return self.reimplements
+ def set_reimplements(self, reimplements): self.reimplements = reimplements
+ def add_reimplements(self, value): self.reimplements.append(value)
+ def insert_reimplements(self, index, value): self.reimplements[index] = value
+ def get_reimplementedby(self): return self.reimplementedby
+ def set_reimplementedby(self, reimplementedby): self.reimplementedby = reimplementedby
+ def add_reimplementedby(self, value): self.reimplementedby.append(value)
+ def insert_reimplementedby(self, index, value): self.reimplementedby[index] = value
+ def get_param(self): return self.param
+ def set_param(self, param): self.param = param
+ def add_param(self, value): self.param.append(value)
+ def insert_param(self, index, value): self.param[index] = value
+ def get_enumvalue(self): return self.enumvalue
+ def set_enumvalue(self, enumvalue): self.enumvalue = enumvalue
+ def add_enumvalue(self, value): self.enumvalue.append(value)
+ def insert_enumvalue(self, index, value): self.enumvalue[index] = value
+ def get_initializer(self): return self.initializer
+ def set_initializer(self, initializer): self.initializer = initializer
+ def get_exceptions(self): return self.exceptions
+ def set_exceptions(self, exceptions): self.exceptions = exceptions
+ def get_briefdescription(self): return self.briefdescription
+ def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
+ def get_detaileddescription(self): return self.detaileddescription
+ def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
+ def get_inbodydescription(self): return self.inbodydescription
+ def set_inbodydescription(self, inbodydescription): self.inbodydescription = inbodydescription
+ def get_location(self): return self.location
+ def set_location(self, location): self.location = location
+ def get_references(self): return self.references
+ def set_references(self, references): self.references = references
+ def add_references(self, value): self.references.append(value)
+ def insert_references(self, index, value): self.references[index] = value
+ def get_referencedby(self): return self.referencedby
+ def set_referencedby(self, referencedby): self.referencedby = referencedby
+ def add_referencedby(self, value): self.referencedby.append(value)
+ def insert_referencedby(self, index, value): self.referencedby[index] = value
+ def get_initonly(self): return self.initonly
+ def set_initonly(self, initonly): self.initonly = initonly
+ def get_kind(self): return self.kind
+ def set_kind(self, kind): self.kind = kind
+ def get_volatile(self): return self.volatile
+ def set_volatile(self, volatile): self.volatile = volatile
+ def get_const(self): return self.const
+ def set_const(self, const): self.const = const
+ def get_raise(self): return self.raisexx
+ def set_raise(self, raisexx): self.raisexx = raisexx
+ def get_virt(self): return self.virt
+ def set_virt(self, virt): self.virt = virt
+ def get_readable(self): return self.readable
+ def set_readable(self, readable): self.readable = readable
+ def get_prot(self): return self.prot
+ def set_prot(self, prot): self.prot = prot
+ def get_explicit(self): return self.explicit
+ def set_explicit(self, explicit): self.explicit = explicit
+ def get_new(self): return self.new
+ def set_new(self, new): self.new = new
+ def get_final(self): return self.final
+ def set_final(self, final): self.final = final
+ def get_writable(self): return self.writable
+ def set_writable(self, writable): self.writable = writable
+ def get_add(self): return self.add
+ def set_add(self, add): self.add = add
+ def get_static(self): return self.static
+ def set_static(self, static): self.static = static
+ def get_remove(self): return self.remove
+ def set_remove(self, remove): self.remove = remove
+ def get_sealed(self): return self.sealed
+ def set_sealed(self, sealed): self.sealed = sealed
+ def get_mutable(self): return self.mutable
+ def set_mutable(self, mutable): self.mutable = mutable
+ def get_gettable(self): return self.gettable
+ def set_gettable(self, gettable): self.gettable = gettable
+ def get_inline(self): return self.inline
+ def set_inline(self, inline): self.inline = inline
+ def get_settable(self): return self.settable
+ def set_settable(self, settable): self.settable = settable
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='memberdefType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='memberdefType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='memberdefType'):
+ if self.initonly is not None:
+ outfile.write(' initonly=%s' % (quote_attrib(self.initonly), ))
+ if self.kind is not None:
+ outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
+ if self.volatile is not None:
+ outfile.write(' volatile=%s' % (quote_attrib(self.volatile), ))
+ if self.const is not None:
+ outfile.write(' const=%s' % (quote_attrib(self.const), ))
+ if self.raisexx is not None:
+ outfile.write(' raise=%s' % (quote_attrib(self.raisexx), ))
+ if self.virt is not None:
+ outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
+ if self.readable is not None:
+ outfile.write(' readable=%s' % (quote_attrib(self.readable), ))
+ if self.prot is not None:
+ outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
+ if self.explicit is not None:
+ outfile.write(' explicit=%s' % (quote_attrib(self.explicit), ))
+ if self.new is not None:
+ outfile.write(' new=%s' % (quote_attrib(self.new), ))
+ if self.final is not None:
+ outfile.write(' final=%s' % (quote_attrib(self.final), ))
+ if self.writable is not None:
+ outfile.write(' writable=%s' % (quote_attrib(self.writable), ))
+ if self.add is not None:
+ outfile.write(' add=%s' % (quote_attrib(self.add), ))
+ if self.static is not None:
+ outfile.write(' static=%s' % (quote_attrib(self.static), ))
+ if self.remove is not None:
+ outfile.write(' remove=%s' % (quote_attrib(self.remove), ))
+ if self.sealed is not None:
+ outfile.write(' sealed=%s' % (quote_attrib(self.sealed), ))
+ if self.mutable is not None:
+ outfile.write(' mutable=%s' % (quote_attrib(self.mutable), ))
+ if self.gettable is not None:
+ outfile.write(' gettable=%s' % (quote_attrib(self.gettable), ))
+ if self.inline is not None:
+ outfile.write(' inline=%s' % (quote_attrib(self.inline), ))
+ if self.settable is not None:
+ outfile.write(' settable=%s' % (quote_attrib(self.settable), ))
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='memberdefType'):
+ if self.templateparamlist:
+ self.templateparamlist.export(outfile, level, namespace_, name_='templateparamlist')
+ if self.type_:
+ self.type_.export(outfile, level, namespace_, name_='type')
+ if self.definition is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sdefinition>%s</%sdefinition>\n' % (namespace_, self.format_string(quote_xml(self.definition).encode(ExternalEncoding), input_name='definition'), namespace_))
+ if self.argsstring is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sargsstring>%s</%sargsstring>\n' % (namespace_, self.format_string(quote_xml(self.argsstring).encode(ExternalEncoding), input_name='argsstring'), namespace_))
+ if self.name is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
+ if self.read is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sread>%s</%sread>\n' % (namespace_, self.format_string(quote_xml(self.read).encode(ExternalEncoding), input_name='read'), namespace_))
+ if self.write is not None:
+ showIndent(outfile, level)
+ outfile.write('<%swrite>%s</%swrite>\n' % (namespace_, self.format_string(quote_xml(self.write).encode(ExternalEncoding), input_name='write'), namespace_))
+ if self.bitfield is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sbitfield>%s</%sbitfield>\n' % (namespace_, self.format_string(quote_xml(self.bitfield).encode(ExternalEncoding), input_name='bitfield'), namespace_))
+ for reimplements_ in self.reimplements:
+ reimplements_.export(outfile, level, namespace_, name_='reimplements')
+ for reimplementedby_ in self.reimplementedby:
+ reimplementedby_.export(outfile, level, namespace_, name_='reimplementedby')
+ for param_ in self.param:
+ param_.export(outfile, level, namespace_, name_='param')
+ for enumvalue_ in self.enumvalue:
+ enumvalue_.export(outfile, level, namespace_, name_='enumvalue')
+ if self.initializer:
+ self.initializer.export(outfile, level, namespace_, name_='initializer')
+ if self.exceptions:
+ self.exceptions.export(outfile, level, namespace_, name_='exceptions')
+ if self.briefdescription:
+ self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
+ if self.detaileddescription:
+ self.detaileddescription.export(outfile, level, namespace_, name_='detaileddescription')
+ if self.inbodydescription:
+ self.inbodydescription.export(outfile, level, namespace_, name_='inbodydescription')
+ if self.location:
+ self.location.export(outfile, level, namespace_, name_='location', )
+ for references_ in self.references:
+ references_.export(outfile, level, namespace_, name_='references')
+ for referencedby_ in self.referencedby:
+ referencedby_.export(outfile, level, namespace_, name_='referencedby')
+ def hasContent_(self):
+ if (
+ self.templateparamlist is not None or
+ self.type_ is not None or
+ self.definition is not None or
+ self.argsstring is not None or
+ self.name is not None or
+ self.read is not None or
+ self.write is not None or
+ self.bitfield is not None or
+ self.reimplements is not None or
+ self.reimplementedby is not None or
+ self.param is not None or
+ self.enumvalue is not None or
+ self.initializer is not None or
+ self.exceptions is not None or
+ self.briefdescription is not None or
+ self.detaileddescription is not None or
+ self.inbodydescription is not None or
+ self.location is not None or
+ self.references is not None or
+ self.referencedby is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='memberdefType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.initonly is not None:
+ showIndent(outfile, level)
+ outfile.write('initonly = "%s",\n' % (self.initonly,))
+ if self.kind is not None:
+ showIndent(outfile, level)
+ outfile.write('kind = "%s",\n' % (self.kind,))
+ if self.volatile is not None:
+ showIndent(outfile, level)
+ outfile.write('volatile = "%s",\n' % (self.volatile,))
+ if self.const is not None:
+ showIndent(outfile, level)
+ outfile.write('const = "%s",\n' % (self.const,))
+ if self.raisexx is not None:
+ showIndent(outfile, level)
+ outfile.write('raisexx = "%s",\n' % (self.raisexx,))
+ if self.virt is not None:
+ showIndent(outfile, level)
+ outfile.write('virt = "%s",\n' % (self.virt,))
+ if self.readable is not None:
+ showIndent(outfile, level)
+ outfile.write('readable = "%s",\n' % (self.readable,))
+ if self.prot is not None:
+ showIndent(outfile, level)
+ outfile.write('prot = "%s",\n' % (self.prot,))
+ if self.explicit is not None:
+ showIndent(outfile, level)
+ outfile.write('explicit = "%s",\n' % (self.explicit,))
+ if self.new is not None:
+ showIndent(outfile, level)
+ outfile.write('new = "%s",\n' % (self.new,))
+ if self.final is not None:
+ showIndent(outfile, level)
+ outfile.write('final = "%s",\n' % (self.final,))
+ if self.writable is not None:
+ showIndent(outfile, level)
+ outfile.write('writable = "%s",\n' % (self.writable,))
+ if self.add is not None:
+ showIndent(outfile, level)
+ outfile.write('add = "%s",\n' % (self.add,))
+ if self.static is not None:
+ showIndent(outfile, level)
+ outfile.write('static = "%s",\n' % (self.static,))
+ if self.remove is not None:
+ showIndent(outfile, level)
+ outfile.write('remove = "%s",\n' % (self.remove,))
+ if self.sealed is not None:
+ showIndent(outfile, level)
+ outfile.write('sealed = "%s",\n' % (self.sealed,))
+ if self.mutable is not None:
+ showIndent(outfile, level)
+ outfile.write('mutable = "%s",\n' % (self.mutable,))
+ if self.gettable is not None:
+ showIndent(outfile, level)
+ outfile.write('gettable = "%s",\n' % (self.gettable,))
+ if self.inline is not None:
+ showIndent(outfile, level)
+ outfile.write('inline = "%s",\n' % (self.inline,))
+ if self.settable is not None:
+ showIndent(outfile, level)
+ outfile.write('settable = "%s",\n' % (self.settable,))
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ if self.templateparamlist:
+ showIndent(outfile, level)
+ outfile.write('templateparamlist=model_.templateparamlistType(\n')
+ self.templateparamlist.exportLiteral(outfile, level, name_='templateparamlist')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.type_:
+ showIndent(outfile, level)
+ outfile.write('type_=model_.linkedTextType(\n')
+ self.type_.exportLiteral(outfile, level, name_='type')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('definition=%s,\n' % quote_python(self.definition).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('argsstring=%s,\n' % quote_python(self.argsstring).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('read=%s,\n' % quote_python(self.read).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('write=%s,\n' % quote_python(self.write).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('bitfield=%s,\n' % quote_python(self.bitfield).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('reimplements=[\n')
+ level += 1
+ for reimplements in self.reimplements:
+ showIndent(outfile, level)
+ outfile.write('model_.reimplements(\n')
+ reimplements.exportLiteral(outfile, level, name_='reimplements')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('reimplementedby=[\n')
+ level += 1
+ for reimplementedby in self.reimplementedby:
+ showIndent(outfile, level)
+ outfile.write('model_.reimplementedby(\n')
+ reimplementedby.exportLiteral(outfile, level, name_='reimplementedby')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('param=[\n')
+ level += 1
+ for param in self.param:
+ showIndent(outfile, level)
+ outfile.write('model_.param(\n')
+ param.exportLiteral(outfile, level, name_='param')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('enumvalue=[\n')
+ level += 1
+ for enumvalue in self.enumvalue:
+ showIndent(outfile, level)
+ outfile.write('model_.enumvalue(\n')
+ enumvalue.exportLiteral(outfile, level, name_='enumvalue')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ if self.initializer:
+ showIndent(outfile, level)
+ outfile.write('initializer=model_.linkedTextType(\n')
+ self.initializer.exportLiteral(outfile, level, name_='initializer')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.exceptions:
+ showIndent(outfile, level)
+ outfile.write('exceptions=model_.linkedTextType(\n')
+ self.exceptions.exportLiteral(outfile, level, name_='exceptions')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.briefdescription:
+ showIndent(outfile, level)
+ outfile.write('briefdescription=model_.descriptionType(\n')
+ self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.detaileddescription:
+ showIndent(outfile, level)
+ outfile.write('detaileddescription=model_.descriptionType(\n')
+ self.detaileddescription.exportLiteral(outfile, level, name_='detaileddescription')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.inbodydescription:
+ showIndent(outfile, level)
+ outfile.write('inbodydescription=model_.descriptionType(\n')
+ self.inbodydescription.exportLiteral(outfile, level, name_='inbodydescription')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.location:
+ showIndent(outfile, level)
+ outfile.write('location=model_.locationType(\n')
+ self.location.exportLiteral(outfile, level, name_='location')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('references=[\n')
+ level += 1
+ for references in self.references:
+ showIndent(outfile, level)
+ outfile.write('model_.references(\n')
+ references.exportLiteral(outfile, level, name_='references')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('referencedby=[\n')
+ level += 1
+ for referencedby in self.referencedby:
+ showIndent(outfile, level)
+ outfile.write('model_.referencedby(\n')
+ referencedby.exportLiteral(outfile, level, name_='referencedby')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('initonly'):
+ self.initonly = attrs.get('initonly').value
+ if attrs.get('kind'):
+ self.kind = attrs.get('kind').value
+ if attrs.get('volatile'):
+ self.volatile = attrs.get('volatile').value
+ if attrs.get('const'):
+ self.const = attrs.get('const').value
+ if attrs.get('raise'):
+ self.raisexx = attrs.get('raise').value
+ if attrs.get('virt'):
+ self.virt = attrs.get('virt').value
+ if attrs.get('readable'):
+ self.readable = attrs.get('readable').value
+ if attrs.get('prot'):
+ self.prot = attrs.get('prot').value
+ if attrs.get('explicit'):
+ self.explicit = attrs.get('explicit').value
+ if attrs.get('new'):
+ self.new = attrs.get('new').value
+ if attrs.get('final'):
+ self.final = attrs.get('final').value
+ if attrs.get('writable'):
+ self.writable = attrs.get('writable').value
+ if attrs.get('add'):
+ self.add = attrs.get('add').value
+ if attrs.get('static'):
+ self.static = attrs.get('static').value
+ if attrs.get('remove'):
+ self.remove = attrs.get('remove').value
+ if attrs.get('sealed'):
+ self.sealed = attrs.get('sealed').value
+ if attrs.get('mutable'):
+ self.mutable = attrs.get('mutable').value
+ if attrs.get('gettable'):
+ self.gettable = attrs.get('gettable').value
+ if attrs.get('inline'):
+ self.inline = attrs.get('inline').value
+ if attrs.get('settable'):
+ self.settable = attrs.get('settable').value
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'templateparamlist':
+ obj_ = templateparamlistType.factory()
+ obj_.build(child_)
+ self.set_templateparamlist(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'type':
+ obj_ = linkedTextType.factory()
+ obj_.build(child_)
+ self.set_type(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'definition':
+ definition_ = ''
+ for text__content_ in child_.childNodes:
+ definition_ += text__content_.nodeValue
+ self.definition = definition_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'argsstring':
+ argsstring_ = ''
+ for text__content_ in child_.childNodes:
+ argsstring_ += text__content_.nodeValue
+ self.argsstring = argsstring_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'name':
+ name_ = ''
+ for text__content_ in child_.childNodes:
+ name_ += text__content_.nodeValue
+ self.name = name_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'read':
+ read_ = ''
+ for text__content_ in child_.childNodes:
+ read_ += text__content_.nodeValue
+ self.read = read_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'write':
+ write_ = ''
+ for text__content_ in child_.childNodes:
+ write_ += text__content_.nodeValue
+ self.write = write_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'bitfield':
+ bitfield_ = ''
+ for text__content_ in child_.childNodes:
+ bitfield_ += text__content_.nodeValue
+ self.bitfield = bitfield_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'reimplements':
+ obj_ = reimplementType.factory()
+ obj_.build(child_)
+ self.reimplements.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'reimplementedby':
+ obj_ = reimplementType.factory()
+ obj_.build(child_)
+ self.reimplementedby.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'param':
+ obj_ = paramType.factory()
+ obj_.build(child_)
+ self.param.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'enumvalue':
+ obj_ = enumvalueType.factory()
+ obj_.build(child_)
+ self.enumvalue.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'initializer':
+ obj_ = linkedTextType.factory()
+ obj_.build(child_)
+ self.set_initializer(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'exceptions':
+ obj_ = linkedTextType.factory()
+ obj_.build(child_)
+ self.set_exceptions(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'briefdescription':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_briefdescription(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'detaileddescription':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_detaileddescription(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'inbodydescription':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_inbodydescription(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'location':
+ obj_ = locationType.factory()
+ obj_.build(child_)
+ self.set_location(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'references':
+ obj_ = referenceType.factory()
+ obj_.build(child_)
+ self.references.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'referencedby':
+ obj_ = referenceType.factory()
+ obj_.build(child_)
+ self.referencedby.append(obj_)
+# end class memberdefType
+
+
+class definition(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if definition.subclass:
+ return definition.subclass(*args_, **kwargs_)
+ else:
+ return definition(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='definition', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='definition')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='definition'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='definition'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='definition'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class definition
+
+
+class argsstring(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if argsstring.subclass:
+ return argsstring.subclass(*args_, **kwargs_)
+ else:
+ return argsstring(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='argsstring', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='argsstring')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='argsstring'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='argsstring'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='argsstring'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class argsstring
+
+
+class read(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if read.subclass:
+ return read.subclass(*args_, **kwargs_)
+ else:
+ return read(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='read', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='read')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='read'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='read'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='read'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class read
+
+
+class write(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if write.subclass:
+ return write.subclass(*args_, **kwargs_)
+ else:
+ return write(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='write', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='write')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='write'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='write'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='write'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class write
+
+
+class bitfield(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if bitfield.subclass:
+ return bitfield.subclass(*args_, **kwargs_)
+ else:
+ return bitfield(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='bitfield', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='bitfield')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='bitfield'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='bitfield'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='bitfield'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class bitfield
+
+
+class descriptionType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, title=None, para=None, sect1=None, internal=None, mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if descriptionType.subclass:
+ return descriptionType.subclass(*args_, **kwargs_)
+ else:
+ return descriptionType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_title(self): return self.title
+ def set_title(self, title): self.title = title
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect1(self): return self.sect1
+ def set_sect1(self, sect1): self.sect1 = sect1
+ def add_sect1(self, value): self.sect1.append(value)
+ def insert_sect1(self, index, value): self.sect1[index] = value
+ def get_internal(self): return self.internal
+ def set_internal(self, internal): self.internal = internal
+ def export(self, outfile, level, namespace_='', name_='descriptionType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='descriptionType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='descriptionType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='descriptionType'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.title is not None or
+ self.para is not None or
+ self.sect1 is not None or
+ self.internal is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='descriptionType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'title':
+ childobj_ = docTitleType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'title', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect1':
+ childobj_ = docSect1Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'sect1', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'internal':
+ childobj_ = docInternalType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'internal', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class descriptionType
+
+
+class enumvalueType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, prot=None, id=None, name=None, initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None):
+ self.prot = prot
+ self.id = id
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if enumvalueType.subclass:
+ return enumvalueType.subclass(*args_, **kwargs_)
+ else:
+ return enumvalueType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_name(self): return self.name
+ def set_name(self, name): self.name = name
+ def get_initializer(self): return self.initializer
+ def set_initializer(self, initializer): self.initializer = initializer
+ def get_briefdescription(self): return self.briefdescription
+ def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
+ def get_detaileddescription(self): return self.detaileddescription
+ def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
+ def get_prot(self): return self.prot
+ def set_prot(self, prot): self.prot = prot
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='enumvalueType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='enumvalueType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='enumvalueType'):
+ if self.prot is not None:
+ outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='enumvalueType'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.name is not None or
+ self.initializer is not None or
+ self.briefdescription is not None or
+ self.detaileddescription is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='enumvalueType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.prot is not None:
+ showIndent(outfile, level)
+ outfile.write('prot = "%s",\n' % (self.prot,))
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('prot'):
+ self.prot = attrs.get('prot').value
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'name':
+ value_ = []
+ for text_ in child_.childNodes:
+ value_.append(text_.nodeValue)
+ valuestr_ = ''.join(value_)
+ obj_ = self.mixedclass_(MixedContainer.CategorySimple,
+ MixedContainer.TypeString, 'name', valuestr_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'initializer':
+ childobj_ = linkedTextType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'initializer', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'briefdescription':
+ childobj_ = descriptionType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'briefdescription', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'detaileddescription':
+ childobj_ = descriptionType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'detaileddescription', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class enumvalueType
+
+
+class templateparamlistType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, param=None):
+ if param is None:
+ self.param = []
+ else:
+ self.param = param
+ def factory(*args_, **kwargs_):
+ if templateparamlistType.subclass:
+ return templateparamlistType.subclass(*args_, **kwargs_)
+ else:
+ return templateparamlistType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_param(self): return self.param
+ def set_param(self, param): self.param = param
+ def add_param(self, value): self.param.append(value)
+ def insert_param(self, index, value): self.param[index] = value
+ def export(self, outfile, level, namespace_='', name_='templateparamlistType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='templateparamlistType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='templateparamlistType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='templateparamlistType'):
+ for param_ in self.param:
+ param_.export(outfile, level, namespace_, name_='param')
+ def hasContent_(self):
+ if (
+ self.param is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='templateparamlistType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('param=[\n')
+ level += 1
+ for param in self.param:
+ showIndent(outfile, level)
+ outfile.write('model_.param(\n')
+ param.exportLiteral(outfile, level, name_='param')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'param':
+ obj_ = paramType.factory()
+ obj_.build(child_)
+ self.param.append(obj_)
+# end class templateparamlistType
+
+
+class paramType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, type_=None, declname=None, defname=None, array=None, defval=None, briefdescription=None):
+ self.type_ = type_
+ self.declname = declname
+ self.defname = defname
+ self.array = array
+ self.defval = defval
+ self.briefdescription = briefdescription
+ def factory(*args_, **kwargs_):
+ if paramType.subclass:
+ return paramType.subclass(*args_, **kwargs_)
+ else:
+ return paramType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_type(self): return self.type_
+ def set_type(self, type_): self.type_ = type_
+ def get_declname(self): return self.declname
+ def set_declname(self, declname): self.declname = declname
+ def get_defname(self): return self.defname
+ def set_defname(self, defname): self.defname = defname
+ def get_array(self): return self.array
+ def set_array(self, array): self.array = array
+ def get_defval(self): return self.defval
+ def set_defval(self, defval): self.defval = defval
+ def get_briefdescription(self): return self.briefdescription
+ def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
+ def export(self, outfile, level, namespace_='', name_='paramType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='paramType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='paramType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='paramType'):
+ if self.type_:
+ self.type_.export(outfile, level, namespace_, name_='type')
+ if self.declname is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sdeclname>%s</%sdeclname>\n' % (namespace_, self.format_string(quote_xml(self.declname).encode(ExternalEncoding), input_name='declname'), namespace_))
+ if self.defname is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sdefname>%s</%sdefname>\n' % (namespace_, self.format_string(quote_xml(self.defname).encode(ExternalEncoding), input_name='defname'), namespace_))
+ if self.array is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sarray>%s</%sarray>\n' % (namespace_, self.format_string(quote_xml(self.array).encode(ExternalEncoding), input_name='array'), namespace_))
+ if self.defval:
+ self.defval.export(outfile, level, namespace_, name_='defval')
+ if self.briefdescription:
+ self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
+ def hasContent_(self):
+ if (
+ self.type_ is not None or
+ self.declname is not None or
+ self.defname is not None or
+ self.array is not None or
+ self.defval is not None or
+ self.briefdescription is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='paramType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ if self.type_:
+ showIndent(outfile, level)
+ outfile.write('type_=model_.linkedTextType(\n')
+ self.type_.exportLiteral(outfile, level, name_='type')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('declname=%s,\n' % quote_python(self.declname).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('defname=%s,\n' % quote_python(self.defname).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('array=%s,\n' % quote_python(self.array).encode(ExternalEncoding))
+ if self.defval:
+ showIndent(outfile, level)
+ outfile.write('defval=model_.linkedTextType(\n')
+ self.defval.exportLiteral(outfile, level, name_='defval')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ if self.briefdescription:
+ showIndent(outfile, level)
+ outfile.write('briefdescription=model_.descriptionType(\n')
+ self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'type':
+ obj_ = linkedTextType.factory()
+ obj_.build(child_)
+ self.set_type(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'declname':
+ declname_ = ''
+ for text__content_ in child_.childNodes:
+ declname_ += text__content_.nodeValue
+ self.declname = declname_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'defname':
+ defname_ = ''
+ for text__content_ in child_.childNodes:
+ defname_ += text__content_.nodeValue
+ self.defname = defname_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'array':
+ array_ = ''
+ for text__content_ in child_.childNodes:
+ array_ += text__content_.nodeValue
+ self.array = array_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'defval':
+ obj_ = linkedTextType.factory()
+ obj_.build(child_)
+ self.set_defval(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'briefdescription':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_briefdescription(obj_)
+# end class paramType
+
+
+class declname(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if declname.subclass:
+ return declname.subclass(*args_, **kwargs_)
+ else:
+ return declname(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='declname', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='declname')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='declname'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='declname'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='declname'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class declname
+
+
+class defname(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if defname.subclass:
+ return defname.subclass(*args_, **kwargs_)
+ else:
+ return defname(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='defname', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='defname')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='defname'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='defname'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='defname'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class defname
+
+
+class array(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if array.subclass:
+ return array.subclass(*args_, **kwargs_)
+ else:
+ return array(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='array', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='array')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='array'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='array'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='array'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class array
+
+
+class linkedTextType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, ref=None, mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if linkedTextType.subclass:
+ return linkedTextType.subclass(*args_, **kwargs_)
+ else:
+ return linkedTextType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_ref(self): return self.ref
+ def set_ref(self, ref): self.ref = ref
+ def add_ref(self, value): self.ref.append(value)
+ def insert_ref(self, index, value): self.ref[index] = value
+ def export(self, outfile, level, namespace_='', name_='linkedTextType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='linkedTextType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='linkedTextType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='linkedTextType'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.ref is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='linkedTextType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'ref':
+ childobj_ = docRefTextType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'ref', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class linkedTextType
+
+
+class graphType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, node=None):
+ if node is None:
+ self.node = []
+ else:
+ self.node = node
+ def factory(*args_, **kwargs_):
+ if graphType.subclass:
+ return graphType.subclass(*args_, **kwargs_)
+ else:
+ return graphType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_node(self): return self.node
+ def set_node(self, node): self.node = node
+ def add_node(self, value): self.node.append(value)
+ def insert_node(self, index, value): self.node[index] = value
+ def export(self, outfile, level, namespace_='', name_='graphType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='graphType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='graphType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='graphType'):
+ for node_ in self.node:
+ node_.export(outfile, level, namespace_, name_='node')
+ def hasContent_(self):
+ if (
+ self.node is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='graphType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('node=[\n')
+ level += 1
+ for node in self.node:
+ showIndent(outfile, level)
+ outfile.write('model_.node(\n')
+ node.exportLiteral(outfile, level, name_='node')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'node':
+ obj_ = nodeType.factory()
+ obj_.build(child_)
+ self.node.append(obj_)
+# end class graphType
+
+
+class nodeType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, label=None, link=None, childnode=None):
+ self.id = id
+ self.label = label
+ self.link = link
+ if childnode is None:
+ self.childnode = []
+ else:
+ self.childnode = childnode
+ def factory(*args_, **kwargs_):
+ if nodeType.subclass:
+ return nodeType.subclass(*args_, **kwargs_)
+ else:
+ return nodeType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_label(self): return self.label
+ def set_label(self, label): self.label = label
+ def get_link(self): return self.link
+ def set_link(self, link): self.link = link
+ def get_childnode(self): return self.childnode
+ def set_childnode(self, childnode): self.childnode = childnode
+ def add_childnode(self, value): self.childnode.append(value)
+ def insert_childnode(self, index, value): self.childnode[index] = value
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='nodeType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='nodeType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='nodeType'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='nodeType'):
+ if self.label is not None:
+ showIndent(outfile, level)
+ outfile.write('<%slabel>%s</%slabel>\n' % (namespace_, self.format_string(quote_xml(self.label).encode(ExternalEncoding), input_name='label'), namespace_))
+ if self.link:
+ self.link.export(outfile, level, namespace_, name_='link')
+ for childnode_ in self.childnode:
+ childnode_.export(outfile, level, namespace_, name_='childnode')
+ def hasContent_(self):
+ if (
+ self.label is not None or
+ self.link is not None or
+ self.childnode is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='nodeType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('label=%s,\n' % quote_python(self.label).encode(ExternalEncoding))
+ if self.link:
+ showIndent(outfile, level)
+ outfile.write('link=model_.linkType(\n')
+ self.link.exportLiteral(outfile, level, name_='link')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('childnode=[\n')
+ level += 1
+ for childnode in self.childnode:
+ showIndent(outfile, level)
+ outfile.write('model_.childnode(\n')
+ childnode.exportLiteral(outfile, level, name_='childnode')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'label':
+ label_ = ''
+ for text__content_ in child_.childNodes:
+ label_ += text__content_.nodeValue
+ self.label = label_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'link':
+ obj_ = linkType.factory()
+ obj_.build(child_)
+ self.set_link(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'childnode':
+ obj_ = childnodeType.factory()
+ obj_.build(child_)
+ self.childnode.append(obj_)
+# end class nodeType
+
+
+class label(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if label.subclass:
+ return label.subclass(*args_, **kwargs_)
+ else:
+ return label(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='label', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='label')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='label'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='label'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='label'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class label
+
+
+class childnodeType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, relation=None, refid=None, edgelabel=None):
+ self.relation = relation
+ self.refid = refid
+ if edgelabel is None:
+ self.edgelabel = []
+ else:
+ self.edgelabel = edgelabel
+ def factory(*args_, **kwargs_):
+ if childnodeType.subclass:
+ return childnodeType.subclass(*args_, **kwargs_)
+ else:
+ return childnodeType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_edgelabel(self): return self.edgelabel
+ def set_edgelabel(self, edgelabel): self.edgelabel = edgelabel
+ def add_edgelabel(self, value): self.edgelabel.append(value)
+ def insert_edgelabel(self, index, value): self.edgelabel[index] = value
+ def get_relation(self): return self.relation
+ def set_relation(self, relation): self.relation = relation
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def export(self, outfile, level, namespace_='', name_='childnodeType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='childnodeType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='childnodeType'):
+ if self.relation is not None:
+ outfile.write(' relation=%s' % (quote_attrib(self.relation), ))
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='childnodeType'):
+ for edgelabel_ in self.edgelabel:
+ showIndent(outfile, level)
+ outfile.write('<%sedgelabel>%s</%sedgelabel>\n' % (namespace_, self.format_string(quote_xml(edgelabel_).encode(ExternalEncoding), input_name='edgelabel'), namespace_))
+ def hasContent_(self):
+ if (
+ self.edgelabel is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='childnodeType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.relation is not None:
+ showIndent(outfile, level)
+ outfile.write('relation = "%s",\n' % (self.relation,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('edgelabel=[\n')
+ level += 1
+ for edgelabel in self.edgelabel:
+ showIndent(outfile, level)
+ outfile.write('%s,\n' % quote_python(edgelabel).encode(ExternalEncoding))
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('relation'):
+ self.relation = attrs.get('relation').value
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'edgelabel':
+ edgelabel_ = ''
+ for text__content_ in child_.childNodes:
+ edgelabel_ += text__content_.nodeValue
+ self.edgelabel.append(edgelabel_)
+# end class childnodeType
+
+
+class edgelabel(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if edgelabel.subclass:
+ return edgelabel.subclass(*args_, **kwargs_)
+ else:
+ return edgelabel(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='edgelabel', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='edgelabel')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='edgelabel'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='edgelabel'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='edgelabel'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class edgelabel
+
+
+class linkType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, refid=None, external=None, valueOf_=''):
+ self.refid = refid
+ self.external = external
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if linkType.subclass:
+ return linkType.subclass(*args_, **kwargs_)
+ else:
+ return linkType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def get_external(self): return self.external
+ def set_external(self, external): self.external = external
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='linkType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='linkType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='linkType'):
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ if self.external is not None:
+ outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='linkType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='linkType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ if self.external is not None:
+ showIndent(outfile, level)
+ outfile.write('external = %s,\n' % (self.external,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ if attrs.get('external'):
+ self.external = attrs.get('external').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class linkType
+
+
+class listingType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, codeline=None):
+ if codeline is None:
+ self.codeline = []
+ else:
+ self.codeline = codeline
+ def factory(*args_, **kwargs_):
+ if listingType.subclass:
+ return listingType.subclass(*args_, **kwargs_)
+ else:
+ return listingType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_codeline(self): return self.codeline
+ def set_codeline(self, codeline): self.codeline = codeline
+ def add_codeline(self, value): self.codeline.append(value)
+ def insert_codeline(self, index, value): self.codeline[index] = value
+ def export(self, outfile, level, namespace_='', name_='listingType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='listingType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='listingType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='listingType'):
+ for codeline_ in self.codeline:
+ codeline_.export(outfile, level, namespace_, name_='codeline')
+ def hasContent_(self):
+ if (
+ self.codeline is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='listingType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('codeline=[\n')
+ level += 1
+ for codeline in self.codeline:
+ showIndent(outfile, level)
+ outfile.write('model_.codeline(\n')
+ codeline.exportLiteral(outfile, level, name_='codeline')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'codeline':
+ obj_ = codelineType.factory()
+ obj_.build(child_)
+ self.codeline.append(obj_)
+# end class listingType
+
+
+class codelineType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None):
+ self.external = external
+ self.lineno = lineno
+ self.refkind = refkind
+ self.refid = refid
+ if highlight is None:
+ self.highlight = []
+ else:
+ self.highlight = highlight
+ def factory(*args_, **kwargs_):
+ if codelineType.subclass:
+ return codelineType.subclass(*args_, **kwargs_)
+ else:
+ return codelineType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_highlight(self): return self.highlight
+ def set_highlight(self, highlight): self.highlight = highlight
+ def add_highlight(self, value): self.highlight.append(value)
+ def insert_highlight(self, index, value): self.highlight[index] = value
+ def get_external(self): return self.external
+ def set_external(self, external): self.external = external
+ def get_lineno(self): return self.lineno
+ def set_lineno(self, lineno): self.lineno = lineno
+ def get_refkind(self): return self.refkind
+ def set_refkind(self, refkind): self.refkind = refkind
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def export(self, outfile, level, namespace_='', name_='codelineType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='codelineType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='codelineType'):
+ if self.external is not None:
+ outfile.write(' external=%s' % (quote_attrib(self.external), ))
+ if self.lineno is not None:
+ outfile.write(' lineno="%s"' % self.format_integer(self.lineno, input_name='lineno'))
+ if self.refkind is not None:
+ outfile.write(' refkind=%s' % (quote_attrib(self.refkind), ))
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='codelineType'):
+ for highlight_ in self.highlight:
+ highlight_.export(outfile, level, namespace_, name_='highlight')
+ def hasContent_(self):
+ if (
+ self.highlight is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='codelineType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.external is not None:
+ showIndent(outfile, level)
+ outfile.write('external = "%s",\n' % (self.external,))
+ if self.lineno is not None:
+ showIndent(outfile, level)
+ outfile.write('lineno = %s,\n' % (self.lineno,))
+ if self.refkind is not None:
+ showIndent(outfile, level)
+ outfile.write('refkind = "%s",\n' % (self.refkind,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('highlight=[\n')
+ level += 1
+ for highlight in self.highlight:
+ showIndent(outfile, level)
+ outfile.write('model_.highlight(\n')
+ highlight.exportLiteral(outfile, level, name_='highlight')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('external'):
+ self.external = attrs.get('external').value
+ if attrs.get('lineno'):
+ try:
+ self.lineno = int(attrs.get('lineno').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (lineno): %s' % exp)
+ if attrs.get('refkind'):
+ self.refkind = attrs.get('refkind').value
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'highlight':
+ obj_ = highlightType.factory()
+ obj_.build(child_)
+ self.highlight.append(obj_)
+# end class codelineType
+
+
+class highlightType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, classxx=None, sp=None, ref=None, mixedclass_=None, content_=None):
+ self.classxx = classxx
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if highlightType.subclass:
+ return highlightType.subclass(*args_, **kwargs_)
+ else:
+ return highlightType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_sp(self): return self.sp
+ def set_sp(self, sp): self.sp = sp
+ def add_sp(self, value): self.sp.append(value)
+ def insert_sp(self, index, value): self.sp[index] = value
+ def get_ref(self): return self.ref
+ def set_ref(self, ref): self.ref = ref
+ def add_ref(self, value): self.ref.append(value)
+ def insert_ref(self, index, value): self.ref[index] = value
+ def get_class(self): return self.classxx
+ def set_class(self, classxx): self.classxx = classxx
+ def export(self, outfile, level, namespace_='', name_='highlightType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='highlightType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='highlightType'):
+ if self.classxx is not None:
+ outfile.write(' class=%s' % (quote_attrib(self.classxx), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='highlightType'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.sp is not None or
+ self.ref is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='highlightType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.classxx is not None:
+ showIndent(outfile, level)
+ outfile.write('classxx = "%s",\n' % (self.classxx,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('class'):
+ self.classxx = attrs.get('class').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sp':
+ value_ = []
+ for text_ in child_.childNodes:
+ value_.append(text_.nodeValue)
+ valuestr_ = ''.join(value_)
+ obj_ = self.mixedclass_(MixedContainer.CategorySimple,
+ MixedContainer.TypeString, 'sp', valuestr_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'ref':
+ childobj_ = docRefTextType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'ref', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class highlightType
+
+
+class sp(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if sp.subclass:
+ return sp.subclass(*args_, **kwargs_)
+ else:
+ return sp(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='sp', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='sp')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='sp'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='sp'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='sp'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class sp
+
+
+class referenceType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None):
+ self.endline = endline
+ self.startline = startline
+ self.refid = refid
+ self.compoundref = compoundref
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if referenceType.subclass:
+ return referenceType.subclass(*args_, **kwargs_)
+ else:
+ return referenceType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_endline(self): return self.endline
+ def set_endline(self, endline): self.endline = endline
+ def get_startline(self): return self.startline
+ def set_startline(self, startline): self.startline = startline
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def get_compoundref(self): return self.compoundref
+ def set_compoundref(self, compoundref): self.compoundref = compoundref
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='referenceType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='referenceType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='referenceType'):
+ if self.endline is not None:
+ outfile.write(' endline="%s"' % self.format_integer(self.endline, input_name='endline'))
+ if self.startline is not None:
+ outfile.write(' startline="%s"' % self.format_integer(self.startline, input_name='startline'))
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ if self.compoundref is not None:
+ outfile.write(' compoundref=%s' % (self.format_string(quote_attrib(self.compoundref).encode(ExternalEncoding), input_name='compoundref'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='referenceType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='referenceType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.endline is not None:
+ showIndent(outfile, level)
+ outfile.write('endline = %s,\n' % (self.endline,))
+ if self.startline is not None:
+ showIndent(outfile, level)
+ outfile.write('startline = %s,\n' % (self.startline,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ if self.compoundref is not None:
+ showIndent(outfile, level)
+ outfile.write('compoundref = %s,\n' % (self.compoundref,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('endline'):
+ try:
+ self.endline = int(attrs.get('endline').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (endline): %s' % exp)
+ if attrs.get('startline'):
+ try:
+ self.startline = int(attrs.get('startline').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (startline): %s' % exp)
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ if attrs.get('compoundref'):
+ self.compoundref = attrs.get('compoundref').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class referenceType
+
+
+class locationType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''):
+ self.bodystart = bodystart
+ self.line = line
+ self.bodyend = bodyend
+ self.bodyfile = bodyfile
+ self.file = file
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if locationType.subclass:
+ return locationType.subclass(*args_, **kwargs_)
+ else:
+ return locationType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_bodystart(self): return self.bodystart
+ def set_bodystart(self, bodystart): self.bodystart = bodystart
+ def get_line(self): return self.line
+ def set_line(self, line): self.line = line
+ def get_bodyend(self): return self.bodyend
+ def set_bodyend(self, bodyend): self.bodyend = bodyend
+ def get_bodyfile(self): return self.bodyfile
+ def set_bodyfile(self, bodyfile): self.bodyfile = bodyfile
+ def get_file(self): return self.file
+ def set_file(self, file): self.file = file
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='locationType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='locationType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='locationType'):
+ if self.bodystart is not None:
+ outfile.write(' bodystart="%s"' % self.format_integer(self.bodystart, input_name='bodystart'))
+ if self.line is not None:
+ outfile.write(' line="%s"' % self.format_integer(self.line, input_name='line'))
+ if self.bodyend is not None:
+ outfile.write(' bodyend="%s"' % self.format_integer(self.bodyend, input_name='bodyend'))
+ if self.bodyfile is not None:
+ outfile.write(' bodyfile=%s' % (self.format_string(quote_attrib(self.bodyfile).encode(ExternalEncoding), input_name='bodyfile'), ))
+ if self.file is not None:
+ outfile.write(' file=%s' % (self.format_string(quote_attrib(self.file).encode(ExternalEncoding), input_name='file'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='locationType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='locationType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.bodystart is not None:
+ showIndent(outfile, level)
+ outfile.write('bodystart = %s,\n' % (self.bodystart,))
+ if self.line is not None:
+ showIndent(outfile, level)
+ outfile.write('line = %s,\n' % (self.line,))
+ if self.bodyend is not None:
+ showIndent(outfile, level)
+ outfile.write('bodyend = %s,\n' % (self.bodyend,))
+ if self.bodyfile is not None:
+ showIndent(outfile, level)
+ outfile.write('bodyfile = %s,\n' % (self.bodyfile,))
+ if self.file is not None:
+ showIndent(outfile, level)
+ outfile.write('file = %s,\n' % (self.file,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('bodystart'):
+ try:
+ self.bodystart = int(attrs.get('bodystart').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (bodystart): %s' % exp)
+ if attrs.get('line'):
+ try:
+ self.line = int(attrs.get('line').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (line): %s' % exp)
+ if attrs.get('bodyend'):
+ try:
+ self.bodyend = int(attrs.get('bodyend').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (bodyend): %s' % exp)
+ if attrs.get('bodyfile'):
+ self.bodyfile = attrs.get('bodyfile').value
+ if attrs.get('file'):
+ self.file = attrs.get('file').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class locationType
+
+
+class docSect1Type(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, title=None, para=None, sect2=None, internal=None, mixedclass_=None, content_=None):
+ self.id = id
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docSect1Type.subclass:
+ return docSect1Type.subclass(*args_, **kwargs_)
+ else:
+ return docSect1Type(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_title(self): return self.title
+ def set_title(self, title): self.title = title
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect2(self): return self.sect2
+ def set_sect2(self, sect2): self.sect2 = sect2
+ def add_sect2(self, value): self.sect2.append(value)
+ def insert_sect2(self, index, value): self.sect2[index] = value
+ def get_internal(self): return self.internal
+ def set_internal(self, internal): self.internal = internal
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='docSect1Type', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docSect1Type')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docSect1Type'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docSect1Type'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.title is not None or
+ self.para is not None or
+ self.sect2 is not None or
+ self.internal is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docSect1Type'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'title':
+ childobj_ = docTitleType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'title', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect2':
+ childobj_ = docSect2Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'sect2', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'internal':
+ childobj_ = docInternalS1Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'internal', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docSect1Type
+
+
+class docSect2Type(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, title=None, para=None, sect3=None, internal=None, mixedclass_=None, content_=None):
+ self.id = id
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docSect2Type.subclass:
+ return docSect2Type.subclass(*args_, **kwargs_)
+ else:
+ return docSect2Type(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_title(self): return self.title
+ def set_title(self, title): self.title = title
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect3(self): return self.sect3
+ def set_sect3(self, sect3): self.sect3 = sect3
+ def add_sect3(self, value): self.sect3.append(value)
+ def insert_sect3(self, index, value): self.sect3[index] = value
+ def get_internal(self): return self.internal
+ def set_internal(self, internal): self.internal = internal
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='docSect2Type', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docSect2Type')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docSect2Type'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docSect2Type'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.title is not None or
+ self.para is not None or
+ self.sect3 is not None or
+ self.internal is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docSect2Type'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'title':
+ childobj_ = docTitleType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'title', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect3':
+ childobj_ = docSect3Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'sect3', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'internal':
+ childobj_ = docInternalS2Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'internal', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docSect2Type
+
+
+class docSect3Type(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, title=None, para=None, sect4=None, internal=None, mixedclass_=None, content_=None):
+ self.id = id
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docSect3Type.subclass:
+ return docSect3Type.subclass(*args_, **kwargs_)
+ else:
+ return docSect3Type(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_title(self): return self.title
+ def set_title(self, title): self.title = title
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect4(self): return self.sect4
+ def set_sect4(self, sect4): self.sect4 = sect4
+ def add_sect4(self, value): self.sect4.append(value)
+ def insert_sect4(self, index, value): self.sect4[index] = value
+ def get_internal(self): return self.internal
+ def set_internal(self, internal): self.internal = internal
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='docSect3Type', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docSect3Type')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docSect3Type'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docSect3Type'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.title is not None or
+ self.para is not None or
+ self.sect4 is not None or
+ self.internal is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docSect3Type'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'title':
+ childobj_ = docTitleType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'title', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect4':
+ childobj_ = docSect4Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'sect4', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'internal':
+ childobj_ = docInternalS3Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'internal', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docSect3Type
+
+
+class docSect4Type(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, title=None, para=None, internal=None, mixedclass_=None, content_=None):
+ self.id = id
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docSect4Type.subclass:
+ return docSect4Type.subclass(*args_, **kwargs_)
+ else:
+ return docSect4Type(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_title(self): return self.title
+ def set_title(self, title): self.title = title
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_internal(self): return self.internal
+ def set_internal(self, internal): self.internal = internal
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='docSect4Type', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docSect4Type')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docSect4Type'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docSect4Type'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.title is not None or
+ self.para is not None or
+ self.internal is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docSect4Type'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'title':
+ childobj_ = docTitleType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'title', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'internal':
+ childobj_ = docInternalS4Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'internal', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docSect4Type
+
+
+class docInternalType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docInternalType.subclass:
+ return docInternalType.subclass(*args_, **kwargs_)
+ else:
+ return docInternalType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect1(self): return self.sect1
+ def set_sect1(self, sect1): self.sect1 = sect1
+ def add_sect1(self, value): self.sect1.append(value)
+ def insert_sect1(self, index, value): self.sect1[index] = value
+ def export(self, outfile, level, namespace_='', name_='docInternalType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docInternalType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docInternalType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docInternalType'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.para is not None or
+ self.sect1 is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docInternalType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect1':
+ childobj_ = docSect1Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'sect1', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docInternalType
+
+
+class docInternalS1Type(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docInternalS1Type.subclass:
+ return docInternalS1Type.subclass(*args_, **kwargs_)
+ else:
+ return docInternalS1Type(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect2(self): return self.sect2
+ def set_sect2(self, sect2): self.sect2 = sect2
+ def add_sect2(self, value): self.sect2.append(value)
+ def insert_sect2(self, index, value): self.sect2[index] = value
+ def export(self, outfile, level, namespace_='', name_='docInternalS1Type', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docInternalS1Type')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS1Type'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docInternalS1Type'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.para is not None or
+ self.sect2 is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docInternalS1Type'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect2':
+ childobj_ = docSect2Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'sect2', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docInternalS1Type
+
+
+class docInternalS2Type(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docInternalS2Type.subclass:
+ return docInternalS2Type.subclass(*args_, **kwargs_)
+ else:
+ return docInternalS2Type(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect3(self): return self.sect3
+ def set_sect3(self, sect3): self.sect3 = sect3
+ def add_sect3(self, value): self.sect3.append(value)
+ def insert_sect3(self, index, value): self.sect3[index] = value
+ def export(self, outfile, level, namespace_='', name_='docInternalS2Type', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docInternalS2Type')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS2Type'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docInternalS2Type'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.para is not None or
+ self.sect3 is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docInternalS2Type'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect3':
+ childobj_ = docSect3Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'sect3', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docInternalS2Type
+
+
+class docInternalS3Type(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docInternalS3Type.subclass:
+ return docInternalS3Type.subclass(*args_, **kwargs_)
+ else:
+ return docInternalS3Type(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect3(self): return self.sect3
+ def set_sect3(self, sect3): self.sect3 = sect3
+ def add_sect3(self, value): self.sect3.append(value)
+ def insert_sect3(self, index, value): self.sect3[index] = value
+ def export(self, outfile, level, namespace_='', name_='docInternalS3Type', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docInternalS3Type')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS3Type'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docInternalS3Type'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.para is not None or
+ self.sect3 is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docInternalS3Type'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect3':
+ childobj_ = docSect4Type.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'sect3', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docInternalS3Type
+
+
+class docInternalS4Type(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, para=None, mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docInternalS4Type.subclass:
+ return docInternalS4Type.subclass(*args_, **kwargs_)
+ else:
+ return docInternalS4Type(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def export(self, outfile, level, namespace_='', name_='docInternalS4Type', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docInternalS4Type')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS4Type'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docInternalS4Type'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.para is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docInternalS4Type'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ childobj_ = docParaType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'para', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docInternalS4Type
+
+
+class docTitleType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_='', mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docTitleType.subclass:
+ return docTitleType.subclass(*args_, **kwargs_)
+ else:
+ return docTitleType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docTitleType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docTitleType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docTitleType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docTitleType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docTitleType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docTitleType
+
+
+class docParaType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_='', mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docParaType.subclass:
+ return docParaType.subclass(*args_, **kwargs_)
+ else:
+ return docParaType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docParaType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docParaType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docParaType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docParaType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docParaType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docParaType
+
+
+class docMarkupType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_='', mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docMarkupType.subclass:
+ return docMarkupType.subclass(*args_, **kwargs_)
+ else:
+ return docMarkupType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docMarkupType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docMarkupType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docMarkupType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docMarkupType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docMarkupType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docMarkupType
+
+
+class docURLLink(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None):
+ self.url = url
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docURLLink.subclass:
+ return docURLLink.subclass(*args_, **kwargs_)
+ else:
+ return docURLLink(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_url(self): return self.url
+ def set_url(self, url): self.url = url
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docURLLink', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docURLLink')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docURLLink'):
+ if self.url is not None:
+ outfile.write(' url=%s' % (self.format_string(quote_attrib(self.url).encode(ExternalEncoding), input_name='url'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docURLLink'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docURLLink'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.url is not None:
+ showIndent(outfile, level)
+ outfile.write('url = %s,\n' % (self.url,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('url'):
+ self.url = attrs.get('url').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docURLLink
+
+
+class docAnchorType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
+ self.id = id
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docAnchorType.subclass:
+ return docAnchorType.subclass(*args_, **kwargs_)
+ else:
+ return docAnchorType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docAnchorType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docAnchorType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docAnchorType'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docAnchorType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docAnchorType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docAnchorType
+
+
+class docFormulaType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
+ self.id = id
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docFormulaType.subclass:
+ return docFormulaType.subclass(*args_, **kwargs_)
+ else:
+ return docFormulaType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docFormulaType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docFormulaType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docFormulaType'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docFormulaType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docFormulaType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docFormulaType
+
+
+class docIndexEntryType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, primaryie=None, secondaryie=None):
+ self.primaryie = primaryie
+ self.secondaryie = secondaryie
+ def factory(*args_, **kwargs_):
+ if docIndexEntryType.subclass:
+ return docIndexEntryType.subclass(*args_, **kwargs_)
+ else:
+ return docIndexEntryType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_primaryie(self): return self.primaryie
+ def set_primaryie(self, primaryie): self.primaryie = primaryie
+ def get_secondaryie(self): return self.secondaryie
+ def set_secondaryie(self, secondaryie): self.secondaryie = secondaryie
+ def export(self, outfile, level, namespace_='', name_='docIndexEntryType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docIndexEntryType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docIndexEntryType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docIndexEntryType'):
+ if self.primaryie is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sprimaryie>%s</%sprimaryie>\n' % (namespace_, self.format_string(quote_xml(self.primaryie).encode(ExternalEncoding), input_name='primaryie'), namespace_))
+ if self.secondaryie is not None:
+ showIndent(outfile, level)
+ outfile.write('<%ssecondaryie>%s</%ssecondaryie>\n' % (namespace_, self.format_string(quote_xml(self.secondaryie).encode(ExternalEncoding), input_name='secondaryie'), namespace_))
+ def hasContent_(self):
+ if (
+ self.primaryie is not None or
+ self.secondaryie is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docIndexEntryType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('primaryie=%s,\n' % quote_python(self.primaryie).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('secondaryie=%s,\n' % quote_python(self.secondaryie).encode(ExternalEncoding))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'primaryie':
+ primaryie_ = ''
+ for text__content_ in child_.childNodes:
+ primaryie_ += text__content_.nodeValue
+ self.primaryie = primaryie_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'secondaryie':
+ secondaryie_ = ''
+ for text__content_ in child_.childNodes:
+ secondaryie_ += text__content_.nodeValue
+ self.secondaryie = secondaryie_
+# end class docIndexEntryType
+
+
+class docListType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, listitem=None):
+ if listitem is None:
+ self.listitem = []
+ else:
+ self.listitem = listitem
+ def factory(*args_, **kwargs_):
+ if docListType.subclass:
+ return docListType.subclass(*args_, **kwargs_)
+ else:
+ return docListType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_listitem(self): return self.listitem
+ def set_listitem(self, listitem): self.listitem = listitem
+ def add_listitem(self, value): self.listitem.append(value)
+ def insert_listitem(self, index, value): self.listitem[index] = value
+ def export(self, outfile, level, namespace_='', name_='docListType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docListType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docListType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docListType'):
+ for listitem_ in self.listitem:
+ listitem_.export(outfile, level, namespace_, name_='listitem')
+ def hasContent_(self):
+ if (
+ self.listitem is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docListType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('listitem=[\n')
+ level += 1
+ for listitem in self.listitem:
+ showIndent(outfile, level)
+ outfile.write('model_.listitem(\n')
+ listitem.exportLiteral(outfile, level, name_='listitem')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'listitem':
+ obj_ = docListItemType.factory()
+ obj_.build(child_)
+ self.listitem.append(obj_)
+# end class docListType
+
+
+class docListItemType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, para=None):
+ if para is None:
+ self.para = []
+ else:
+ self.para = para
+ def factory(*args_, **kwargs_):
+ if docListItemType.subclass:
+ return docListItemType.subclass(*args_, **kwargs_)
+ else:
+ return docListItemType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def export(self, outfile, level, namespace_='', name_='docListItemType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docListItemType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docListItemType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docListItemType'):
+ for para_ in self.para:
+ para_.export(outfile, level, namespace_, name_='para')
+ def hasContent_(self):
+ if (
+ self.para is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docListItemType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('para=[\n')
+ level += 1
+ for para in self.para:
+ showIndent(outfile, level)
+ outfile.write('model_.para(\n')
+ para.exportLiteral(outfile, level, name_='para')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ obj_ = docParaType.factory()
+ obj_.build(child_)
+ self.para.append(obj_)
+# end class docListItemType
+
+
+class docSimpleSectType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, kind=None, title=None, para=None):
+ self.kind = kind
+ self.title = title
+ if para is None:
+ self.para = []
+ else:
+ self.para = para
+ def factory(*args_, **kwargs_):
+ if docSimpleSectType.subclass:
+ return docSimpleSectType.subclass(*args_, **kwargs_)
+ else:
+ return docSimpleSectType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_title(self): return self.title
+ def set_title(self, title): self.title = title
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_kind(self): return self.kind
+ def set_kind(self, kind): self.kind = kind
+ def export(self, outfile, level, namespace_='', name_='docSimpleSectType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docSimpleSectType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docSimpleSectType'):
+ if self.kind is not None:
+ outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docSimpleSectType'):
+ if self.title:
+ self.title.export(outfile, level, namespace_, name_='title')
+ for para_ in self.para:
+ para_.export(outfile, level, namespace_, name_='para')
+ def hasContent_(self):
+ if (
+ self.title is not None or
+ self.para is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docSimpleSectType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.kind is not None:
+ showIndent(outfile, level)
+ outfile.write('kind = "%s",\n' % (self.kind,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ if self.title:
+ showIndent(outfile, level)
+ outfile.write('title=model_.docTitleType(\n')
+ self.title.exportLiteral(outfile, level, name_='title')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ showIndent(outfile, level)
+ outfile.write('para=[\n')
+ level += 1
+ for para in self.para:
+ showIndent(outfile, level)
+ outfile.write('model_.para(\n')
+ para.exportLiteral(outfile, level, name_='para')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('kind'):
+ self.kind = attrs.get('kind').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'title':
+ obj_ = docTitleType.factory()
+ obj_.build(child_)
+ self.set_title(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ obj_ = docParaType.factory()
+ obj_.build(child_)
+ self.para.append(obj_)
+# end class docSimpleSectType
+
+
+class docVarListEntryType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, term=None):
+ self.term = term
+ def factory(*args_, **kwargs_):
+ if docVarListEntryType.subclass:
+ return docVarListEntryType.subclass(*args_, **kwargs_)
+ else:
+ return docVarListEntryType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_term(self): return self.term
+ def set_term(self, term): self.term = term
+ def export(self, outfile, level, namespace_='', name_='docVarListEntryType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docVarListEntryType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docVarListEntryType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docVarListEntryType'):
+ if self.term:
+ self.term.export(outfile, level, namespace_, name_='term', )
+ def hasContent_(self):
+ if (
+ self.term is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docVarListEntryType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ if self.term:
+ showIndent(outfile, level)
+ outfile.write('term=model_.docTitleType(\n')
+ self.term.exportLiteral(outfile, level, name_='term')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'term':
+ obj_ = docTitleType.factory()
+ obj_.build(child_)
+ self.set_term(obj_)
+# end class docVarListEntryType
+
+
+class docVariableListType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if docVariableListType.subclass:
+ return docVariableListType.subclass(*args_, **kwargs_)
+ else:
+ return docVariableListType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docVariableListType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docVariableListType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docVariableListType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docVariableListType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docVariableListType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docVariableListType
+
+
+class docRefTextType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
+ self.refid = refid
+ self.kindref = kindref
+ self.external = external
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docRefTextType.subclass:
+ return docRefTextType.subclass(*args_, **kwargs_)
+ else:
+ return docRefTextType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def get_kindref(self): return self.kindref
+ def set_kindref(self, kindref): self.kindref = kindref
+ def get_external(self): return self.external
+ def set_external(self, external): self.external = external
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docRefTextType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docRefTextType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docRefTextType'):
+ if self.refid is not None:
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ if self.kindref is not None:
+ outfile.write(' kindref=%s' % (quote_attrib(self.kindref), ))
+ if self.external is not None:
+ outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docRefTextType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docRefTextType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ if self.kindref is not None:
+ showIndent(outfile, level)
+ outfile.write('kindref = "%s",\n' % (self.kindref,))
+ if self.external is not None:
+ showIndent(outfile, level)
+ outfile.write('external = %s,\n' % (self.external,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ if attrs.get('kindref'):
+ self.kindref = attrs.get('kindref').value
+ if attrs.get('external'):
+ self.external = attrs.get('external').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docRefTextType
+
+
+class docTableType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, rows=None, cols=None, row=None, caption=None):
+ self.rows = rows
+ self.cols = cols
+ if row is None:
+ self.row = []
+ else:
+ self.row = row
+ self.caption = caption
+ def factory(*args_, **kwargs_):
+ if docTableType.subclass:
+ return docTableType.subclass(*args_, **kwargs_)
+ else:
+ return docTableType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_row(self): return self.row
+ def set_row(self, row): self.row = row
+ def add_row(self, value): self.row.append(value)
+ def insert_row(self, index, value): self.row[index] = value
+ def get_caption(self): return self.caption
+ def set_caption(self, caption): self.caption = caption
+ def get_rows(self): return self.rows
+ def set_rows(self, rows): self.rows = rows
+ def get_cols(self): return self.cols
+ def set_cols(self, cols): self.cols = cols
+ def export(self, outfile, level, namespace_='', name_='docTableType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docTableType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docTableType'):
+ if self.rows is not None:
+ outfile.write(' rows="%s"' % self.format_integer(self.rows, input_name='rows'))
+ if self.cols is not None:
+ outfile.write(' cols="%s"' % self.format_integer(self.cols, input_name='cols'))
+ def exportChildren(self, outfile, level, namespace_='', name_='docTableType'):
+ for row_ in self.row:
+ row_.export(outfile, level, namespace_, name_='row')
+ if self.caption:
+ self.caption.export(outfile, level, namespace_, name_='caption')
+ def hasContent_(self):
+ if (
+ self.row is not None or
+ self.caption is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docTableType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.rows is not None:
+ showIndent(outfile, level)
+ outfile.write('rows = %s,\n' % (self.rows,))
+ if self.cols is not None:
+ showIndent(outfile, level)
+ outfile.write('cols = %s,\n' % (self.cols,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('row=[\n')
+ level += 1
+ for row in self.row:
+ showIndent(outfile, level)
+ outfile.write('model_.row(\n')
+ row.exportLiteral(outfile, level, name_='row')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ if self.caption:
+ showIndent(outfile, level)
+ outfile.write('caption=model_.docCaptionType(\n')
+ self.caption.exportLiteral(outfile, level, name_='caption')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('rows'):
+ try:
+ self.rows = int(attrs.get('rows').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (rows): %s' % exp)
+ if attrs.get('cols'):
+ try:
+ self.cols = int(attrs.get('cols').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (cols): %s' % exp)
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'row':
+ obj_ = docRowType.factory()
+ obj_.build(child_)
+ self.row.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'caption':
+ obj_ = docCaptionType.factory()
+ obj_.build(child_)
+ self.set_caption(obj_)
+# end class docTableType
+
+
+class docRowType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, entry=None):
+ if entry is None:
+ self.entry = []
+ else:
+ self.entry = entry
+ def factory(*args_, **kwargs_):
+ if docRowType.subclass:
+ return docRowType.subclass(*args_, **kwargs_)
+ else:
+ return docRowType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_entry(self): return self.entry
+ def set_entry(self, entry): self.entry = entry
+ def add_entry(self, value): self.entry.append(value)
+ def insert_entry(self, index, value): self.entry[index] = value
+ def export(self, outfile, level, namespace_='', name_='docRowType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docRowType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docRowType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docRowType'):
+ for entry_ in self.entry:
+ entry_.export(outfile, level, namespace_, name_='entry')
+ def hasContent_(self):
+ if (
+ self.entry is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docRowType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('entry=[\n')
+ level += 1
+ for entry in self.entry:
+ showIndent(outfile, level)
+ outfile.write('model_.entry(\n')
+ entry.exportLiteral(outfile, level, name_='entry')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'entry':
+ obj_ = docEntryType.factory()
+ obj_.build(child_)
+ self.entry.append(obj_)
+# end class docRowType
+
+
+class docEntryType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, thead=None, para=None):
+ self.thead = thead
+ if para is None:
+ self.para = []
+ else:
+ self.para = para
+ def factory(*args_, **kwargs_):
+ if docEntryType.subclass:
+ return docEntryType.subclass(*args_, **kwargs_)
+ else:
+ return docEntryType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_thead(self): return self.thead
+ def set_thead(self, thead): self.thead = thead
+ def export(self, outfile, level, namespace_='', name_='docEntryType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docEntryType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docEntryType'):
+ if self.thead is not None:
+ outfile.write(' thead=%s' % (quote_attrib(self.thead), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docEntryType'):
+ for para_ in self.para:
+ para_.export(outfile, level, namespace_, name_='para')
+ def hasContent_(self):
+ if (
+ self.para is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docEntryType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.thead is not None:
+ showIndent(outfile, level)
+ outfile.write('thead = "%s",\n' % (self.thead,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('para=[\n')
+ level += 1
+ for para in self.para:
+ showIndent(outfile, level)
+ outfile.write('model_.para(\n')
+ para.exportLiteral(outfile, level, name_='para')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('thead'):
+ self.thead = attrs.get('thead').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ obj_ = docParaType.factory()
+ obj_.build(child_)
+ self.para.append(obj_)
+# end class docEntryType
+
+
+class docCaptionType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_='', mixedclass_=None, content_=None):
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docCaptionType.subclass:
+ return docCaptionType.subclass(*args_, **kwargs_)
+ else:
+ return docCaptionType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docCaptionType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docCaptionType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docCaptionType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docCaptionType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docCaptionType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docCaptionType
+
+
+class docHeadingType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None):
+ self.level = level
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docHeadingType.subclass:
+ return docHeadingType.subclass(*args_, **kwargs_)
+ else:
+ return docHeadingType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_level(self): return self.level
+ def set_level(self, level): self.level = level
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docHeadingType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docHeadingType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docHeadingType'):
+ if self.level is not None:
+ outfile.write(' level="%s"' % self.format_integer(self.level, input_name='level'))
+ def exportChildren(self, outfile, level, namespace_='', name_='docHeadingType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docHeadingType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.level is not None:
+ showIndent(outfile, level)
+ outfile.write('level = %s,\n' % (self.level,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('level'):
+ try:
+ self.level = int(attrs.get('level').value)
+ except ValueError, exp:
+ raise ValueError('Bad integer attribute (level): %s' % exp)
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docHeadingType
+
+
+class docImageType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None):
+ self.width = width
+ self.type_ = type_
+ self.name = name
+ self.height = height
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docImageType.subclass:
+ return docImageType.subclass(*args_, **kwargs_)
+ else:
+ return docImageType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_width(self): return self.width
+ def set_width(self, width): self.width = width
+ def get_type(self): return self.type_
+ def set_type(self, type_): self.type_ = type_
+ def get_name(self): return self.name
+ def set_name(self, name): self.name = name
+ def get_height(self): return self.height
+ def set_height(self, height): self.height = height
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docImageType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docImageType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docImageType'):
+ if self.width is not None:
+ outfile.write(' width=%s' % (self.format_string(quote_attrib(self.width).encode(ExternalEncoding), input_name='width'), ))
+ if self.type_ is not None:
+ outfile.write(' type=%s' % (quote_attrib(self.type_), ))
+ if self.name is not None:
+ outfile.write(' name=%s' % (self.format_string(quote_attrib(self.name).encode(ExternalEncoding), input_name='name'), ))
+ if self.height is not None:
+ outfile.write(' height=%s' % (self.format_string(quote_attrib(self.height).encode(ExternalEncoding), input_name='height'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docImageType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docImageType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.width is not None:
+ showIndent(outfile, level)
+ outfile.write('width = %s,\n' % (self.width,))
+ if self.type_ is not None:
+ showIndent(outfile, level)
+ outfile.write('type_ = "%s",\n' % (self.type_,))
+ if self.name is not None:
+ showIndent(outfile, level)
+ outfile.write('name = %s,\n' % (self.name,))
+ if self.height is not None:
+ showIndent(outfile, level)
+ outfile.write('height = %s,\n' % (self.height,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('width'):
+ self.width = attrs.get('width').value
+ if attrs.get('type'):
+ self.type_ = attrs.get('type').value
+ if attrs.get('name'):
+ self.name = attrs.get('name').value
+ if attrs.get('height'):
+ self.height = attrs.get('height').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docImageType
+
+
+class docDotFileType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None):
+ self.name = name
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docDotFileType.subclass:
+ return docDotFileType.subclass(*args_, **kwargs_)
+ else:
+ return docDotFileType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_name(self): return self.name
+ def set_name(self, name): self.name = name
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docDotFileType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docDotFileType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docDotFileType'):
+ if self.name is not None:
+ outfile.write(' name=%s' % (self.format_string(quote_attrib(self.name).encode(ExternalEncoding), input_name='name'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docDotFileType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docDotFileType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.name is not None:
+ showIndent(outfile, level)
+ outfile.write('name = %s,\n' % (self.name,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('name'):
+ self.name = attrs.get('name').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docDotFileType
+
+
+class docTocItemType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
+ self.id = id
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docTocItemType.subclass:
+ return docTocItemType.subclass(*args_, **kwargs_)
+ else:
+ return docTocItemType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docTocItemType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docTocItemType')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docTocItemType'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docTocItemType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docTocItemType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docTocItemType
+
+
+class docTocListType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, tocitem=None):
+ if tocitem is None:
+ self.tocitem = []
+ else:
+ self.tocitem = tocitem
+ def factory(*args_, **kwargs_):
+ if docTocListType.subclass:
+ return docTocListType.subclass(*args_, **kwargs_)
+ else:
+ return docTocListType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_tocitem(self): return self.tocitem
+ def set_tocitem(self, tocitem): self.tocitem = tocitem
+ def add_tocitem(self, value): self.tocitem.append(value)
+ def insert_tocitem(self, index, value): self.tocitem[index] = value
+ def export(self, outfile, level, namespace_='', name_='docTocListType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docTocListType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docTocListType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docTocListType'):
+ for tocitem_ in self.tocitem:
+ tocitem_.export(outfile, level, namespace_, name_='tocitem')
+ def hasContent_(self):
+ if (
+ self.tocitem is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docTocListType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('tocitem=[\n')
+ level += 1
+ for tocitem in self.tocitem:
+ showIndent(outfile, level)
+ outfile.write('model_.tocitem(\n')
+ tocitem.exportLiteral(outfile, level, name_='tocitem')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'tocitem':
+ obj_ = docTocItemType.factory()
+ obj_.build(child_)
+ self.tocitem.append(obj_)
+# end class docTocListType
+
+
+class docLanguageType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, langid=None, para=None):
+ self.langid = langid
+ if para is None:
+ self.para = []
+ else:
+ self.para = para
+ def factory(*args_, **kwargs_):
+ if docLanguageType.subclass:
+ return docLanguageType.subclass(*args_, **kwargs_)
+ else:
+ return docLanguageType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_langid(self): return self.langid
+ def set_langid(self, langid): self.langid = langid
+ def export(self, outfile, level, namespace_='', name_='docLanguageType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docLanguageType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docLanguageType'):
+ if self.langid is not None:
+ outfile.write(' langid=%s' % (self.format_string(quote_attrib(self.langid).encode(ExternalEncoding), input_name='langid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docLanguageType'):
+ for para_ in self.para:
+ para_.export(outfile, level, namespace_, name_='para')
+ def hasContent_(self):
+ if (
+ self.para is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docLanguageType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.langid is not None:
+ showIndent(outfile, level)
+ outfile.write('langid = %s,\n' % (self.langid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('para=[\n')
+ level += 1
+ for para in self.para:
+ showIndent(outfile, level)
+ outfile.write('model_.para(\n')
+ para.exportLiteral(outfile, level, name_='para')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('langid'):
+ self.langid = attrs.get('langid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ obj_ = docParaType.factory()
+ obj_.build(child_)
+ self.para.append(obj_)
+# end class docLanguageType
+
+
+class docParamListType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, kind=None, parameteritem=None):
+ self.kind = kind
+ if parameteritem is None:
+ self.parameteritem = []
+ else:
+ self.parameteritem = parameteritem
+ def factory(*args_, **kwargs_):
+ if docParamListType.subclass:
+ return docParamListType.subclass(*args_, **kwargs_)
+ else:
+ return docParamListType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_parameteritem(self): return self.parameteritem
+ def set_parameteritem(self, parameteritem): self.parameteritem = parameteritem
+ def add_parameteritem(self, value): self.parameteritem.append(value)
+ def insert_parameteritem(self, index, value): self.parameteritem[index] = value
+ def get_kind(self): return self.kind
+ def set_kind(self, kind): self.kind = kind
+ def export(self, outfile, level, namespace_='', name_='docParamListType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docParamListType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docParamListType'):
+ if self.kind is not None:
+ outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docParamListType'):
+ for parameteritem_ in self.parameteritem:
+ parameteritem_.export(outfile, level, namespace_, name_='parameteritem')
+ def hasContent_(self):
+ if (
+ self.parameteritem is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docParamListType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.kind is not None:
+ showIndent(outfile, level)
+ outfile.write('kind = "%s",\n' % (self.kind,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('parameteritem=[\n')
+ level += 1
+ for parameteritem in self.parameteritem:
+ showIndent(outfile, level)
+ outfile.write('model_.parameteritem(\n')
+ parameteritem.exportLiteral(outfile, level, name_='parameteritem')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('kind'):
+ self.kind = attrs.get('kind').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'parameteritem':
+ obj_ = docParamListItem.factory()
+ obj_.build(child_)
+ self.parameteritem.append(obj_)
+# end class docParamListType
+
+
+class docParamListItem(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, parameternamelist=None, parameterdescription=None):
+ if parameternamelist is None:
+ self.parameternamelist = []
+ else:
+ self.parameternamelist = parameternamelist
+ self.parameterdescription = parameterdescription
+ def factory(*args_, **kwargs_):
+ if docParamListItem.subclass:
+ return docParamListItem.subclass(*args_, **kwargs_)
+ else:
+ return docParamListItem(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_parameternamelist(self): return self.parameternamelist
+ def set_parameternamelist(self, parameternamelist): self.parameternamelist = parameternamelist
+ def add_parameternamelist(self, value): self.parameternamelist.append(value)
+ def insert_parameternamelist(self, index, value): self.parameternamelist[index] = value
+ def get_parameterdescription(self): return self.parameterdescription
+ def set_parameterdescription(self, parameterdescription): self.parameterdescription = parameterdescription
+ def export(self, outfile, level, namespace_='', name_='docParamListItem', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docParamListItem')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docParamListItem'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docParamListItem'):
+ for parameternamelist_ in self.parameternamelist:
+ parameternamelist_.export(outfile, level, namespace_, name_='parameternamelist')
+ if self.parameterdescription:
+ self.parameterdescription.export(outfile, level, namespace_, name_='parameterdescription', )
+ def hasContent_(self):
+ if (
+ self.parameternamelist is not None or
+ self.parameterdescription is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docParamListItem'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('parameternamelist=[\n')
+ level += 1
+ for parameternamelist in self.parameternamelist:
+ showIndent(outfile, level)
+ outfile.write('model_.parameternamelist(\n')
+ parameternamelist.exportLiteral(outfile, level, name_='parameternamelist')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ if self.parameterdescription:
+ showIndent(outfile, level)
+ outfile.write('parameterdescription=model_.descriptionType(\n')
+ self.parameterdescription.exportLiteral(outfile, level, name_='parameterdescription')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'parameternamelist':
+ obj_ = docParamNameList.factory()
+ obj_.build(child_)
+ self.parameternamelist.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'parameterdescription':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_parameterdescription(obj_)
+# end class docParamListItem
+
+
+class docParamNameList(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, parametername=None):
+ if parametername is None:
+ self.parametername = []
+ else:
+ self.parametername = parametername
+ def factory(*args_, **kwargs_):
+ if docParamNameList.subclass:
+ return docParamNameList.subclass(*args_, **kwargs_)
+ else:
+ return docParamNameList(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_parametername(self): return self.parametername
+ def set_parametername(self, parametername): self.parametername = parametername
+ def add_parametername(self, value): self.parametername.append(value)
+ def insert_parametername(self, index, value): self.parametername[index] = value
+ def export(self, outfile, level, namespace_='', name_='docParamNameList', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docParamNameList')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docParamNameList'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docParamNameList'):
+ for parametername_ in self.parametername:
+ parametername_.export(outfile, level, namespace_, name_='parametername')
+ def hasContent_(self):
+ if (
+ self.parametername is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docParamNameList'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('parametername=[\n')
+ level += 1
+ for parametername in self.parametername:
+ showIndent(outfile, level)
+ outfile.write('model_.parametername(\n')
+ parametername.exportLiteral(outfile, level, name_='parametername')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'parametername':
+ obj_ = docParamName.factory()
+ obj_.build(child_)
+ self.parametername.append(obj_)
+# end class docParamNameList
+
+
+class docParamName(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None):
+ self.direction = direction
+ if mixedclass_ is None:
+ self.mixedclass_ = MixedContainer
+ else:
+ self.mixedclass_ = mixedclass_
+ if content_ is None:
+ self.content_ = []
+ else:
+ self.content_ = content_
+ def factory(*args_, **kwargs_):
+ if docParamName.subclass:
+ return docParamName.subclass(*args_, **kwargs_)
+ else:
+ return docParamName(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_ref(self): return self.ref
+ def set_ref(self, ref): self.ref = ref
+ def get_direction(self): return self.direction
+ def set_direction(self, direction): self.direction = direction
+ def export(self, outfile, level, namespace_='', name_='docParamName', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docParamName')
+ outfile.write('>')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ def exportAttributes(self, outfile, level, namespace_='', name_='docParamName'):
+ if self.direction is not None:
+ outfile.write(' direction=%s' % (quote_attrib(self.direction), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docParamName'):
+ for item_ in self.content_:
+ item_.export(outfile, level, item_.name, namespace_)
+ def hasContent_(self):
+ if (
+ self.ref is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docParamName'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.direction is not None:
+ showIndent(outfile, level)
+ outfile.write('direction = "%s",\n' % (self.direction,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('content_ = [\n')
+ for item_ in self.content_:
+ item_.exportLiteral(outfile, level, name_)
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('direction'):
+ self.direction = attrs.get('direction').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'ref':
+ childobj_ = docRefTextType.factory()
+ childobj_.build(child_)
+ obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
+ MixedContainer.TypeNone, 'ref', childobj_)
+ self.content_.append(obj_)
+ elif child_.nodeType == Node.TEXT_NODE:
+ obj_ = self.mixedclass_(MixedContainer.CategoryText,
+ MixedContainer.TypeNone, '', child_.nodeValue)
+ self.content_.append(obj_)
+# end class docParamName
+
+
+class docXRefSectType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, id=None, xreftitle=None, xrefdescription=None):
+ self.id = id
+ if xreftitle is None:
+ self.xreftitle = []
+ else:
+ self.xreftitle = xreftitle
+ self.xrefdescription = xrefdescription
+ def factory(*args_, **kwargs_):
+ if docXRefSectType.subclass:
+ return docXRefSectType.subclass(*args_, **kwargs_)
+ else:
+ return docXRefSectType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_xreftitle(self): return self.xreftitle
+ def set_xreftitle(self, xreftitle): self.xreftitle = xreftitle
+ def add_xreftitle(self, value): self.xreftitle.append(value)
+ def insert_xreftitle(self, index, value): self.xreftitle[index] = value
+ def get_xrefdescription(self): return self.xrefdescription
+ def set_xrefdescription(self, xrefdescription): self.xrefdescription = xrefdescription
+ def get_id(self): return self.id
+ def set_id(self, id): self.id = id
+ def export(self, outfile, level, namespace_='', name_='docXRefSectType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docXRefSectType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docXRefSectType'):
+ if self.id is not None:
+ outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docXRefSectType'):
+ for xreftitle_ in self.xreftitle:
+ showIndent(outfile, level)
+ outfile.write('<%sxreftitle>%s</%sxreftitle>\n' % (namespace_, self.format_string(quote_xml(xreftitle_).encode(ExternalEncoding), input_name='xreftitle'), namespace_))
+ if self.xrefdescription:
+ self.xrefdescription.export(outfile, level, namespace_, name_='xrefdescription', )
+ def hasContent_(self):
+ if (
+ self.xreftitle is not None or
+ self.xrefdescription is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docXRefSectType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.id is not None:
+ showIndent(outfile, level)
+ outfile.write('id = %s,\n' % (self.id,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('xreftitle=[\n')
+ level += 1
+ for xreftitle in self.xreftitle:
+ showIndent(outfile, level)
+ outfile.write('%s,\n' % quote_python(xreftitle).encode(ExternalEncoding))
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ if self.xrefdescription:
+ showIndent(outfile, level)
+ outfile.write('xrefdescription=model_.descriptionType(\n')
+ self.xrefdescription.exportLiteral(outfile, level, name_='xrefdescription')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('id'):
+ self.id = attrs.get('id').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'xreftitle':
+ xreftitle_ = ''
+ for text__content_ in child_.childNodes:
+ xreftitle_ += text__content_.nodeValue
+ self.xreftitle.append(xreftitle_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'xrefdescription':
+ obj_ = descriptionType.factory()
+ obj_.build(child_)
+ self.set_xrefdescription(obj_)
+# end class docXRefSectType
+
+
+class docCopyType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, link=None, para=None, sect1=None, internal=None):
+ self.link = link
+ if para is None:
+ self.para = []
+ else:
+ self.para = para
+ if sect1 is None:
+ self.sect1 = []
+ else:
+ self.sect1 = sect1
+ self.internal = internal
+ def factory(*args_, **kwargs_):
+ if docCopyType.subclass:
+ return docCopyType.subclass(*args_, **kwargs_)
+ else:
+ return docCopyType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_para(self): return self.para
+ def set_para(self, para): self.para = para
+ def add_para(self, value): self.para.append(value)
+ def insert_para(self, index, value): self.para[index] = value
+ def get_sect1(self): return self.sect1
+ def set_sect1(self, sect1): self.sect1 = sect1
+ def add_sect1(self, value): self.sect1.append(value)
+ def insert_sect1(self, index, value): self.sect1[index] = value
+ def get_internal(self): return self.internal
+ def set_internal(self, internal): self.internal = internal
+ def get_link(self): return self.link
+ def set_link(self, link): self.link = link
+ def export(self, outfile, level, namespace_='', name_='docCopyType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docCopyType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docCopyType'):
+ if self.link is not None:
+ outfile.write(' link=%s' % (self.format_string(quote_attrib(self.link).encode(ExternalEncoding), input_name='link'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docCopyType'):
+ for para_ in self.para:
+ para_.export(outfile, level, namespace_, name_='para')
+ for sect1_ in self.sect1:
+ sect1_.export(outfile, level, namespace_, name_='sect1')
+ if self.internal:
+ self.internal.export(outfile, level, namespace_, name_='internal')
+ def hasContent_(self):
+ if (
+ self.para is not None or
+ self.sect1 is not None or
+ self.internal is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docCopyType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.link is not None:
+ showIndent(outfile, level)
+ outfile.write('link = %s,\n' % (self.link,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('para=[\n')
+ level += 1
+ for para in self.para:
+ showIndent(outfile, level)
+ outfile.write('model_.para(\n')
+ para.exportLiteral(outfile, level, name_='para')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ showIndent(outfile, level)
+ outfile.write('sect1=[\n')
+ level += 1
+ for sect1 in self.sect1:
+ showIndent(outfile, level)
+ outfile.write('model_.sect1(\n')
+ sect1.exportLiteral(outfile, level, name_='sect1')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ if self.internal:
+ showIndent(outfile, level)
+ outfile.write('internal=model_.docInternalType(\n')
+ self.internal.exportLiteral(outfile, level, name_='internal')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('link'):
+ self.link = attrs.get('link').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'para':
+ obj_ = docParaType.factory()
+ obj_.build(child_)
+ self.para.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'sect1':
+ obj_ = docSect1Type.factory()
+ obj_.build(child_)
+ self.sect1.append(obj_)
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'internal':
+ obj_ = docInternalType.factory()
+ obj_.build(child_)
+ self.set_internal(obj_)
+# end class docCopyType
+
+
+class docCharType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, char=None, valueOf_=''):
+ self.char = char
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if docCharType.subclass:
+ return docCharType.subclass(*args_, **kwargs_)
+ else:
+ return docCharType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_char(self): return self.char
+ def set_char(self, char): self.char = char
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docCharType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docCharType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docCharType'):
+ if self.char is not None:
+ outfile.write(' char=%s' % (quote_attrib(self.char), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='docCharType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docCharType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.char is not None:
+ showIndent(outfile, level)
+ outfile.write('char = "%s",\n' % (self.char,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('char'):
+ self.char = attrs.get('char').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docCharType
+
+
+class docEmptyType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, valueOf_=''):
+ self.valueOf_ = valueOf_
+ def factory(*args_, **kwargs_):
+ if docEmptyType.subclass:
+ return docEmptyType.subclass(*args_, **kwargs_)
+ else:
+ return docEmptyType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def getValueOf_(self): return self.valueOf_
+ def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
+ def export(self, outfile, level, namespace_='', name_='docEmptyType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='docEmptyType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='docEmptyType'):
+ pass
+ def exportChildren(self, outfile, level, namespace_='', name_='docEmptyType'):
+ if self.valueOf_.find('![CDATA')>-1:
+ value=quote_xml('%s' % self.valueOf_)
+ value=value.replace('![CDATA','<![CDATA')
+ value=value.replace(']]',']]>')
+ outfile.write(value)
+ else:
+ outfile.write(quote_xml('%s' % self.valueOf_))
+ def hasContent_(self):
+ if (
+ self.valueOf_ is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='docEmptyType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ pass
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ self.valueOf_ = ''
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ pass
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.TEXT_NODE:
+ self.valueOf_ += child_.nodeValue
+ elif child_.nodeType == Node.CDATA_SECTION_NODE:
+ self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
+# end class docEmptyType
+
+
+USAGE_TEXT = """
+Usage: python <Parser>.py [ -s ] <in_xml_file>
+Options:
+ -s Use the SAX parser, not the minidom parser.
+"""
+
+def usage():
+ print USAGE_TEXT
+ sys.exit(1)
+
+
+def parse(inFileName):
+ doc = minidom.parse(inFileName)
+ rootNode = doc.documentElement
+ rootObj = DoxygenType.factory()
+ rootObj.build(rootNode)
+ # Enable Python to collect the space used by the DOM.
+ doc = None
+ sys.stdout.write('<?xml version="1.0" ?>\n')
+ rootObj.export(sys.stdout, 0, name_="doxygen",
+ namespacedef_='')
+ return rootObj
+
+
+def parseString(inString):
+ doc = minidom.parseString(inString)
+ rootNode = doc.documentElement
+ rootObj = DoxygenType.factory()
+ rootObj.build(rootNode)
+ # Enable Python to collect the space used by the DOM.
+ doc = None
+ sys.stdout.write('<?xml version="1.0" ?>\n')
+ rootObj.export(sys.stdout, 0, name_="doxygen",
+ namespacedef_='')
+ return rootObj
+
+
+def parseLiteral(inFileName):
+ doc = minidom.parse(inFileName)
+ rootNode = doc.documentElement
+ rootObj = DoxygenType.factory()
+ rootObj.build(rootNode)
+ # Enable Python to collect the space used by the DOM.
+ doc = None
+ sys.stdout.write('from compound import *\n\n')
+ sys.stdout.write('rootObj = doxygen(\n')
+ rootObj.exportLiteral(sys.stdout, 0, name_="doxygen")
+ sys.stdout.write(')\n')
+ return rootObj
+
+
+def main():
+ args = sys.argv[1:]
+ if len(args) == 1:
+ parse(args[0])
+ else:
+ usage()
+
+
+if __name__ == '__main__':
+ main()
+ #import pdb
+ #pdb.run('main()')
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/index.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/index.py
new file mode 100644
index 000000000..7a70e14a1
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/index.py
@@ -0,0 +1,77 @@
+#!/usr/bin/env python
+
+"""
+Generated Mon Feb 9 19:08:05 2009 by generateDS.py.
+"""
+
+from xml.dom import minidom
+
+import os
+import sys
+import compound
+
+import indexsuper as supermod
+
+class DoxygenTypeSub(supermod.DoxygenType):
+ def __init__(self, version=None, compound=None):
+ supermod.DoxygenType.__init__(self, version, compound)
+
+ def find_compounds_and_members(self, details):
+ """
+ Returns a list of all compounds and their members which match details
+ """
+
+ results = []
+ for compound in self.compound:
+ members = compound.find_members(details)
+ if members:
+ results.append([compound, members])
+ else:
+ if details.match(compound):
+ results.append([compound, []])
+
+ return results
+
+supermod.DoxygenType.subclass = DoxygenTypeSub
+# end class DoxygenTypeSub
+
+
+class CompoundTypeSub(supermod.CompoundType):
+ def __init__(self, kind=None, refid=None, name='', member=None):
+ supermod.CompoundType.__init__(self, kind, refid, name, member)
+
+ def find_members(self, details):
+ """
+ Returns a list of all members which match details
+ """
+
+ results = []
+
+ for member in self.member:
+ if details.match(member):
+ results.append(member)
+
+ return results
+
+supermod.CompoundType.subclass = CompoundTypeSub
+# end class CompoundTypeSub
+
+
+class MemberTypeSub(supermod.MemberType):
+
+ def __init__(self, kind=None, refid=None, name=''):
+ supermod.MemberType.__init__(self, kind, refid, name)
+
+supermod.MemberType.subclass = MemberTypeSub
+# end class MemberTypeSub
+
+
+def parse(inFilename):
+
+ doc = minidom.parse(inFilename)
+ rootNode = doc.documentElement
+ rootObj = supermod.DoxygenType.factory()
+ rootObj.build(rootNode)
+
+ return rootObj
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/indexsuper.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/indexsuper.py
new file mode 100644
index 000000000..a99153019
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/generated/indexsuper.py
@@ -0,0 +1,523 @@
+#!/usr/bin/env python
+
+#
+# Generated Thu Jun 11 18:43:54 2009 by generateDS.py.
+#
+
+import sys
+import getopt
+from string import lower as str_lower
+from xml.dom import minidom
+from xml.dom import Node
+
+#
+# User methods
+#
+# Calls to the methods in these classes are generated by generateDS.py.
+# You can replace these methods by re-implementing the following class
+# in a module named generatedssuper.py.
+
+try:
+ from generatedssuper import GeneratedsSuper
+except ImportError, exp:
+
+ class GeneratedsSuper:
+ def format_string(self, input_data, input_name=''):
+ return input_data
+ def format_integer(self, input_data, input_name=''):
+ return '%d' % input_data
+ def format_float(self, input_data, input_name=''):
+ return '%f' % input_data
+ def format_double(self, input_data, input_name=''):
+ return '%e' % input_data
+ def format_boolean(self, input_data, input_name=''):
+ return '%s' % input_data
+
+
+#
+# If you have installed IPython you can uncomment and use the following.
+# IPython is available from http://ipython.scipy.org/.
+#
+
+## from IPython.Shell import IPShellEmbed
+## args = ''
+## ipshell = IPShellEmbed(args,
+## banner = 'Dropping into IPython',
+## exit_msg = 'Leaving Interpreter, back to program.')
+
+# Then use the following line where and when you want to drop into the
+# IPython shell:
+# ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
+
+#
+# Globals
+#
+
+ExternalEncoding = 'ascii'
+
+#
+# Support/utility functions.
+#
+
+def showIndent(outfile, level):
+ for idx in range(level):
+ outfile.write(' ')
+
+def quote_xml(inStr):
+ s1 = (isinstance(inStr, basestring) and inStr or
+ '%s' % inStr)
+ s1 = s1.replace('&', '&amp;')
+ s1 = s1.replace('<', '&lt;')
+ s1 = s1.replace('>', '&gt;')
+ return s1
+
+def quote_attrib(inStr):
+ s1 = (isinstance(inStr, basestring) and inStr or
+ '%s' % inStr)
+ s1 = s1.replace('&', '&amp;')
+ s1 = s1.replace('<', '&lt;')
+ s1 = s1.replace('>', '&gt;')
+ if '"' in s1:
+ if "'" in s1:
+ s1 = '"%s"' % s1.replace('"', "&quot;")
+ else:
+ s1 = "'%s'" % s1
+ else:
+ s1 = '"%s"' % s1
+ return s1
+
+def quote_python(inStr):
+ s1 = inStr
+ if s1.find("'") == -1:
+ if s1.find('\n') == -1:
+ return "'%s'" % s1
+ else:
+ return "'''%s'''" % s1
+ else:
+ if s1.find('"') != -1:
+ s1 = s1.replace('"', '\\"')
+ if s1.find('\n') == -1:
+ return '"%s"' % s1
+ else:
+ return '"""%s"""' % s1
+
+
+class MixedContainer:
+ # Constants for category:
+ CategoryNone = 0
+ CategoryText = 1
+ CategorySimple = 2
+ CategoryComplex = 3
+ # Constants for content_type:
+ TypeNone = 0
+ TypeText = 1
+ TypeString = 2
+ TypeInteger = 3
+ TypeFloat = 4
+ TypeDecimal = 5
+ TypeDouble = 6
+ TypeBoolean = 7
+ def __init__(self, category, content_type, name, value):
+ self.category = category
+ self.content_type = content_type
+ self.name = name
+ self.value = value
+ def getCategory(self):
+ return self.category
+ def getContenttype(self, content_type):
+ return self.content_type
+ def getValue(self):
+ return self.value
+ def getName(self):
+ return self.name
+ def export(self, outfile, level, name, namespace):
+ if self.category == MixedContainer.CategoryText:
+ outfile.write(self.value)
+ elif self.category == MixedContainer.CategorySimple:
+ self.exportSimple(outfile, level, name)
+ else: # category == MixedContainer.CategoryComplex
+ self.value.export(outfile, level, namespace,name)
+ def exportSimple(self, outfile, level, name):
+ if self.content_type == MixedContainer.TypeString:
+ outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name))
+ elif self.content_type == MixedContainer.TypeInteger or \
+ self.content_type == MixedContainer.TypeBoolean:
+ outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name))
+ elif self.content_type == MixedContainer.TypeFloat or \
+ self.content_type == MixedContainer.TypeDecimal:
+ outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name))
+ elif self.content_type == MixedContainer.TypeDouble:
+ outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name))
+ def exportLiteral(self, outfile, level, name):
+ if self.category == MixedContainer.CategoryText:
+ showIndent(outfile, level)
+ outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
+ (self.category, self.content_type, self.name, self.value))
+ elif self.category == MixedContainer.CategorySimple:
+ showIndent(outfile, level)
+ outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
+ (self.category, self.content_type, self.name, self.value))
+ else: # category == MixedContainer.CategoryComplex
+ showIndent(outfile, level)
+ outfile.write('MixedContainer(%d, %d, "%s",\n' % \
+ (self.category, self.content_type, self.name,))
+ self.value.exportLiteral(outfile, level + 1)
+ showIndent(outfile, level)
+ outfile.write(')\n')
+
+
+class _MemberSpec(object):
+ def __init__(self, name='', data_type='', container=0):
+ self.name = name
+ self.data_type = data_type
+ self.container = container
+ def set_name(self, name): self.name = name
+ def get_name(self): return self.name
+ def set_data_type(self, data_type): self.data_type = data_type
+ def get_data_type(self): return self.data_type
+ def set_container(self, container): self.container = container
+ def get_container(self): return self.container
+
+
+#
+# Data representation classes.
+#
+
+class DoxygenType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, version=None, compound=None):
+ self.version = version
+ if compound is None:
+ self.compound = []
+ else:
+ self.compound = compound
+ def factory(*args_, **kwargs_):
+ if DoxygenType.subclass:
+ return DoxygenType.subclass(*args_, **kwargs_)
+ else:
+ return DoxygenType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_compound(self): return self.compound
+ def set_compound(self, compound): self.compound = compound
+ def add_compound(self, value): self.compound.append(value)
+ def insert_compound(self, index, value): self.compound[index] = value
+ def get_version(self): return self.version
+ def set_version(self, version): self.version = version
+ def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='DoxygenType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'):
+ outfile.write(' version=%s' % (self.format_string(quote_attrib(self.version).encode(ExternalEncoding), input_name='version'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'):
+ for compound_ in self.compound:
+ compound_.export(outfile, level, namespace_, name_='compound')
+ def hasContent_(self):
+ if (
+ self.compound is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='DoxygenType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.version is not None:
+ showIndent(outfile, level)
+ outfile.write('version = %s,\n' % (self.version,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('compound=[\n')
+ level += 1
+ for compound in self.compound:
+ showIndent(outfile, level)
+ outfile.write('model_.compound(\n')
+ compound.exportLiteral(outfile, level, name_='compound')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('version'):
+ self.version = attrs.get('version').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'compound':
+ obj_ = CompoundType.factory()
+ obj_.build(child_)
+ self.compound.append(obj_)
+# end class DoxygenType
+
+
+class CompoundType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, kind=None, refid=None, name=None, member=None):
+ self.kind = kind
+ self.refid = refid
+ self.name = name
+ if member is None:
+ self.member = []
+ else:
+ self.member = member
+ def factory(*args_, **kwargs_):
+ if CompoundType.subclass:
+ return CompoundType.subclass(*args_, **kwargs_)
+ else:
+ return CompoundType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_name(self): return self.name
+ def set_name(self, name): self.name = name
+ def get_member(self): return self.member
+ def set_member(self, member): self.member = member
+ def add_member(self, value): self.member.append(value)
+ def insert_member(self, index, value): self.member[index] = value
+ def get_kind(self): return self.kind
+ def set_kind(self, kind): self.kind = kind
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def export(self, outfile, level, namespace_='', name_='CompoundType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='CompoundType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='CompoundType'):
+ outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='CompoundType'):
+ if self.name is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
+ for member_ in self.member:
+ member_.export(outfile, level, namespace_, name_='member')
+ def hasContent_(self):
+ if (
+ self.name is not None or
+ self.member is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='CompoundType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.kind is not None:
+ showIndent(outfile, level)
+ outfile.write('kind = "%s",\n' % (self.kind,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
+ showIndent(outfile, level)
+ outfile.write('member=[\n')
+ level += 1
+ for member in self.member:
+ showIndent(outfile, level)
+ outfile.write('model_.member(\n')
+ member.exportLiteral(outfile, level, name_='member')
+ showIndent(outfile, level)
+ outfile.write('),\n')
+ level -= 1
+ showIndent(outfile, level)
+ outfile.write('],\n')
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('kind'):
+ self.kind = attrs.get('kind').value
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'name':
+ name_ = ''
+ for text__content_ in child_.childNodes:
+ name_ += text__content_.nodeValue
+ self.name = name_
+ elif child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'member':
+ obj_ = MemberType.factory()
+ obj_.build(child_)
+ self.member.append(obj_)
+# end class CompoundType
+
+
+class MemberType(GeneratedsSuper):
+ subclass = None
+ superclass = None
+ def __init__(self, kind=None, refid=None, name=None):
+ self.kind = kind
+ self.refid = refid
+ self.name = name
+ def factory(*args_, **kwargs_):
+ if MemberType.subclass:
+ return MemberType.subclass(*args_, **kwargs_)
+ else:
+ return MemberType(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_name(self): return self.name
+ def set_name(self, name): self.name = name
+ def get_kind(self): return self.kind
+ def set_kind(self, kind): self.kind = kind
+ def get_refid(self): return self.refid
+ def set_refid(self, refid): self.refid = refid
+ def export(self, outfile, level, namespace_='', name_='MemberType', namespacedef_=''):
+ showIndent(outfile, level)
+ outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
+ self.exportAttributes(outfile, level, namespace_, name_='MemberType')
+ if self.hasContent_():
+ outfile.write('>\n')
+ self.exportChildren(outfile, level + 1, namespace_, name_)
+ showIndent(outfile, level)
+ outfile.write('</%s%s>\n' % (namespace_, name_))
+ else:
+ outfile.write(' />\n')
+ def exportAttributes(self, outfile, level, namespace_='', name_='MemberType'):
+ outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
+ outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
+ def exportChildren(self, outfile, level, namespace_='', name_='MemberType'):
+ if self.name is not None:
+ showIndent(outfile, level)
+ outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
+ def hasContent_(self):
+ if (
+ self.name is not None
+ ):
+ return True
+ else:
+ return False
+ def exportLiteral(self, outfile, level, name_='MemberType'):
+ level += 1
+ self.exportLiteralAttributes(outfile, level, name_)
+ if self.hasContent_():
+ self.exportLiteralChildren(outfile, level, name_)
+ def exportLiteralAttributes(self, outfile, level, name_):
+ if self.kind is not None:
+ showIndent(outfile, level)
+ outfile.write('kind = "%s",\n' % (self.kind,))
+ if self.refid is not None:
+ showIndent(outfile, level)
+ outfile.write('refid = %s,\n' % (self.refid,))
+ def exportLiteralChildren(self, outfile, level, name_):
+ showIndent(outfile, level)
+ outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
+ def build(self, node_):
+ attrs = node_.attributes
+ self.buildAttributes(attrs)
+ for child_ in node_.childNodes:
+ nodeName_ = child_.nodeName.split(':')[-1]
+ self.buildChildren(child_, nodeName_)
+ def buildAttributes(self, attrs):
+ if attrs.get('kind'):
+ self.kind = attrs.get('kind').value
+ if attrs.get('refid'):
+ self.refid = attrs.get('refid').value
+ def buildChildren(self, child_, nodeName_):
+ if child_.nodeType == Node.ELEMENT_NODE and \
+ nodeName_ == 'name':
+ name_ = ''
+ for text__content_ in child_.childNodes:
+ name_ += text__content_.nodeValue
+ self.name = name_
+# end class MemberType
+
+
+USAGE_TEXT = """
+Usage: python <Parser>.py [ -s ] <in_xml_file>
+Options:
+ -s Use the SAX parser, not the minidom parser.
+"""
+
+def usage():
+ print USAGE_TEXT
+ sys.exit(1)
+
+
+def parse(inFileName):
+ doc = minidom.parse(inFileName)
+ rootNode = doc.documentElement
+ rootObj = DoxygenType.factory()
+ rootObj.build(rootNode)
+ # Enable Python to collect the space used by the DOM.
+ doc = None
+ sys.stdout.write('<?xml version="1.0" ?>\n')
+ rootObj.export(sys.stdout, 0, name_="doxygenindex",
+ namespacedef_='')
+ return rootObj
+
+
+def parseString(inString):
+ doc = minidom.parseString(inString)
+ rootNode = doc.documentElement
+ rootObj = DoxygenType.factory()
+ rootObj.build(rootNode)
+ # Enable Python to collect the space used by the DOM.
+ doc = None
+ sys.stdout.write('<?xml version="1.0" ?>\n')
+ rootObj.export(sys.stdout, 0, name_="doxygenindex",
+ namespacedef_='')
+ return rootObj
+
+
+def parseLiteral(inFileName):
+ doc = minidom.parse(inFileName)
+ rootNode = doc.documentElement
+ rootObj = DoxygenType.factory()
+ rootObj.build(rootNode)
+ # Enable Python to collect the space used by the DOM.
+ doc = None
+ sys.stdout.write('from index import *\n\n')
+ sys.stdout.write('rootObj = doxygenindex(\n')
+ rootObj.exportLiteral(sys.stdout, 0, name_="doxygenindex")
+ sys.stdout.write(')\n')
+ return rootObj
+
+
+def main():
+ args = sys.argv[1:]
+ if len(args) == 1:
+ parse(args[0])
+ else:
+ usage()
+
+
+
+
+if __name__ == '__main__':
+ main()
+ #import pdb
+ #pdb.run('main()')
+
diff --git a/gnuradio-core/src/python/gnuradio/utils/doxyxml/text.py b/gnuradio-core/src/python/gnuradio/utils/doxyxml/text.py
new file mode 100644
index 000000000..6705cd1da
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/doxyxml/text.py
@@ -0,0 +1,36 @@
+"""
+Utilities for extracting text from generated classes.
+"""
+
+def is_string(txt):
+ if isinstance(txt, str):
+ return True
+ try:
+ if isinstance(txt, unicode):
+ return True
+ except NameError:
+ pass
+ return False
+
+def description(obj):
+ if obj is None:
+ return None
+ return description_bit(obj).strip()
+
+def description_bit(obj):
+ if hasattr(obj, 'content'):
+ contents = [description_bit(item) for item in obj.content]
+ result = ''.join(contents)
+ elif hasattr(obj, 'content_'):
+ contents = [description_bit(item) for item in obj.content_]
+ result = ''.join(contents)
+ elif hasattr(obj, 'value'):
+ result = description_bit(obj.value)
+ elif is_string(obj):
+ return obj
+ else:
+ raise StandardError('Expecting a string or something with content, content_ or value attribute')
+ # If this bit is a paragraph then add one some line breaks.
+ if hasattr(obj, 'name') and obj.name == 'para':
+ result += "\n\n"
+ return result
diff --git a/gnuradio-core/src/python/gnuradio/utils/run_tests.in b/gnuradio-core/src/python/gnuradio/utils/run_tests.in
new file mode 100644
index 000000000..504f33728
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/utils/run_tests.in
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# 1st parameter is absolute path to component source directory
+# 2nd parameter is absolute path to component build directory
+# 3rd parameter is path to Python QA directory
+
+# Note: calling master run_tests.sh in gnuradio core is not strictly
+# correct, as it will result in a partially bogus PYTHONPATH, but it
+# does make the correct paths in the second half so all is well.
+
+@PYTHON@ @srcdir@/doxyxml/__init__.py
+
+# @top_builddir@/run_tests.sh \
+# @abs_top_srcdir@/gnuradio-core \
+# @abs_top_builddir@/gnuradio-core \
+# @srcdir@
diff --git a/gr-atsc/src/lib/Makefile.swig.gen b/gr-atsc/src/lib/Makefile.swig.gen
index e52d65335..2c7a7336d 100644
--- a/gr-atsc/src/lib/Makefile.swig.gen
+++ b/gr-atsc/src/lib/Makefile.swig.gen
@@ -107,11 +107,12 @@ atsc_python_PYTHON = \
## Entry rule for running SWIG
-atsc.h atsc.py atsc.cc: atsc.i
+atsc.h atsc.py atsc.cc: atsc.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-audio-alsa/src/Makefile.swig.gen b/gr-audio-alsa/src/Makefile.swig.gen
index 3a84a02b4..b15082e1c 100644
--- a/gr-audio-alsa/src/Makefile.swig.gen
+++ b/gr-audio-alsa/src/Makefile.swig.gen
@@ -107,11 +107,12 @@ audio_alsa_python_PYTHON = \
## Entry rule for running SWIG
-audio_alsa.h audio_alsa.py audio_alsa.cc: audio_alsa.i
+audio_alsa.h audio_alsa.py audio_alsa.cc: audio_alsa.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-audio-oss/src/Makefile.swig.gen b/gr-audio-oss/src/Makefile.swig.gen
index 6fce10c11..694d24eaf 100644
--- a/gr-audio-oss/src/Makefile.swig.gen
+++ b/gr-audio-oss/src/Makefile.swig.gen
@@ -107,11 +107,12 @@ audio_oss_python_PYTHON = \
## Entry rule for running SWIG
-audio_oss.h audio_oss.py audio_oss.cc: audio_oss.i
+audio_oss.h audio_oss.py audio_oss.cc: audio_oss.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-cvsd-vocoder/src/lib/Makefile.swig.gen b/gr-cvsd-vocoder/src/lib/Makefile.swig.gen
index e192abc70..2a0061f6f 100644
--- a/gr-cvsd-vocoder/src/lib/Makefile.swig.gen
+++ b/gr-cvsd-vocoder/src/lib/Makefile.swig.gen
@@ -107,11 +107,12 @@ cvsd_vocoder_python_PYTHON = \
## Entry rule for running SWIG
-cvsd_vocoder.h cvsd_vocoder.py cvsd_vocoder.cc: cvsd_vocoder.i
+cvsd_vocoder.h cvsd_vocoder.py cvsd_vocoder.cc: cvsd_vocoder.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen b/gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen
index 5446f346a..6f20b8c62 100644
--- a/gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen
+++ b/gr-gsm-fr-vocoder/src/lib/Makefile.swig.gen
@@ -107,11 +107,12 @@ gsm_full_rate_python_PYTHON = \
## Entry rule for running SWIG
-gsm_full_rate.h gsm_full_rate.py gsm_full_rate.cc: gsm_full_rate.i
+gsm_full_rate.h gsm_full_rate.py gsm_full_rate.cc: gsm_full_rate.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-msdd6000/src/Makefile.swig.gen b/gr-msdd6000/src/Makefile.swig.gen
index ced3979f7..9a3bb939b 100644
--- a/gr-msdd6000/src/Makefile.swig.gen
+++ b/gr-msdd6000/src/Makefile.swig.gen
@@ -33,21 +33,14 @@
## this has to be done in the including Makefile.am -before-
## Makefile.swig is included.
-
msdd_pythondir_category ?= gnuradio/msdd
msdd_pylibdir_category ?= $(msdd_pythondir_category)
msdd_pythondir = $(pythondir)/$(msdd_pythondir_category)
msdd_pylibdir = $(pyexecdir)/$(msdd_pylibdir_category)
-msdd_rs_pythondir_category ?= gnuradio/msdd_rs
-msdd_rs_pylibdir_category ?= $(msdd_rs_pythondir_category)
-msdd_rs_pythondir = $(pythondir)/$(msdd_rs_pythondir_category)
-msdd_rs_pylibdir = $(pyexecdir)/$(msdd_rs_pylibdir_category)
-
## SWIG headers are always installed into the same directory.
msdd_swigincludedir = $(swigincludedir)
-msdd_rs_swigincludedir = $(swigincludedir)
## This is a template file for a "generated" Makefile addition (in
## this case, "Makefile.swig.gen"). By including the top-level
@@ -70,7 +63,6 @@ msdd_rs_swigincludedir = $(swigincludedir)
## the SWIG-generated files will be removed from the distribution.
STAMPS += $(DEPDIR)/msdd-generate-*
-STAMPS += $(DEPDIR)/msdd_rs-generate-*
## Other cleaned files: dependency files generated by SWIG or this Makefile
@@ -80,40 +72,27 @@ MOSTLYCLEANFILES += $(DEPDIR)/*.S*
## .h file is sometimes built, but not always ... so that one has to
## be added manually by the including Makefile.am .
-swig_built_sources += msdd.py msdd_rs.py msdd.cc msdd_rs.cc
+swig_built_sources += msdd.py msdd.cc
## Various SWIG variables. These can be overloaded in the including
## Makefile.am by setting the variable value there, then including
## Makefile.swig .
msdd_swiginclude_HEADERS = \
- msdd.i \
- msdd_rs.i \
+ msdd.i \
$(msdd_swiginclude_headers)
msdd_pylib_LTLIBRARIES = \
_msdd.la
-msdd_rs_pylib_LTLIBRARIES = \
- _msdd_rs.la
-
_msdd_la_SOURCES = \
- msdd.cc \
+ msdd.cc \
$(msdd_la_swig_sources)
-_msdd_rs_la_SOURCES = \
- msdd_rs.cc \
- $(msdd_la_swig_sources)
-
-
_msdd_la_LIBADD = \
$(STD_SWIG_LA_LIB_ADD) \
$(msdd_la_swig_libadd)
-_msdd_rs_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(msdd_rs_la_swig_libadd)
-
_msdd_la_LDFLAGS = \
$(STD_SWIG_LA_LD_FLAGS) \
$(msdd_la_swig_ldflags)
@@ -122,29 +101,18 @@ _msdd_la_CXXFLAGS = \
$(STD_SWIG_CXX_FLAGS) \
$(msdd_la_swig_cxxflags)
-_msdd_rs_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(msdd_rs_la_swig_ldflags)
-
-_msdd_rs_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- $(msdd_rs_la_swig_cxxflags)
-
msdd_python_PYTHON = \
- msdd.py \
+ msdd.py \
$(msdd_python)
-msdd_rs_python_PYTHON = \
- msdd_rs.py \
- $(msdd_rs_python)
-
## Entry rule for running SWIG
-msdd.h msdd.py msdd.cc: msdd.i
+msdd.h msdd.py msdd.cc: msdd.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
@@ -284,16 +252,127 @@ $(DEPDIR)/msdd-generate-stamp:
##
touch $(DEPDIR)/msdd-generate-stamp
+# KLUDGE: Force runtime include of a SWIG dependency file. This is
+# not guaranteed to be portable, but will probably work. If it works,
+# we have accurate dependencies for our swig stuff, which is good.
+
+@am__include@ @am__quote@./$(DEPDIR)/msdd.d@am__quote@
+
+# -*- Makefile -*-
+#
+# Copyright 2009 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+# Makefile.swig.gen for msdd_rs.i
+
+## Default install locations for these files:
+##
+## Default location for the Python directory is:
+## ${prefix}/lib/python${python_version}/site-packages/[category]/msdd_rs
+## Default location for the Python exec directory is:
+## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/msdd_rs
+##
+## The following can be overloaded to change the install location, but
+## this has to be done in the including Makefile.am -before-
+## Makefile.swig is included.
+
+msdd_rs_pythondir_category ?= gnuradio/msdd_rs
+msdd_rs_pylibdir_category ?= $(msdd_rs_pythondir_category)
+msdd_rs_pythondir = $(pythondir)/$(msdd_rs_pythondir_category)
+msdd_rs_pylibdir = $(pyexecdir)/$(msdd_rs_pylibdir_category)
+
+## SWIG headers are always installed into the same directory.
+
+msdd_rs_swigincludedir = $(swigincludedir)
+
+## This is a template file for a "generated" Makefile addition (in
+## this case, "Makefile.swig.gen"). By including the top-level
+## Makefile.swig, this file will be used to generate the SWIG
+## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
+## SWIG .i files to generated wrappings for; there can be more than 1
+## so long as the names are unique (no sorting is done on the
+## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
+## file will generate .cc, .py, and possibly .h files -- meaning that
+## all of these files will have the same base name (that provided for
+## the SWIG .i file).
+##
+## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
+## right thing. For more info, see <
+## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
+
+## Stamps used to ensure parallel make does the right thing. These
+## are removed by "make clean", but otherwise unused except during the
+## parallel built. These will not be included in a tarball, because
+## the SWIG-generated files will be removed from the distribution.
+
+STAMPS += $(DEPDIR)/msdd_rs-generate-*
+
+## Other cleaned files: dependency files generated by SWIG or this Makefile
+
+MOSTLYCLEANFILES += $(DEPDIR)/*.S*
+
+## Add the .py and .cc files to the list of SWIG built sources. The
+## .h file is sometimes built, but not always ... so that one has to
+## be added manually by the including Makefile.am .
+
+swig_built_sources += msdd_rs.py msdd_rs.cc
+
+## Various SWIG variables. These can be overloaded in the including
+## Makefile.am by setting the variable value there, then including
+## Makefile.swig .
+msdd_rs_swiginclude_HEADERS = \
+ msdd_rs.i \
+ $(msdd_rs_swiginclude_headers)
+
+msdd_rs_pylib_LTLIBRARIES = \
+ _msdd_rs.la
+
+_msdd_rs_la_SOURCES = \
+ msdd_rs.cc \
+ $(msdd_rs_la_swig_sources)
+
+_msdd_rs_la_LIBADD = \
+ $(STD_SWIG_LA_LIB_ADD) \
+ $(msdd_rs_la_swig_libadd)
+
+_msdd_rs_la_LDFLAGS = \
+ $(STD_SWIG_LA_LD_FLAGS) \
+ $(msdd_rs_la_swig_ldflags)
+_msdd_rs_la_CXXFLAGS = \
+ $(STD_SWIG_CXX_FLAGS) \
+ $(msdd_rs_la_swig_cxxflags)
+msdd_rs_python_PYTHON = \
+ msdd_rs.py \
+ $(msdd_rs_python)
+## Entry rule for running SWIG
-msdd_rs.h msdd_rs.py msdd_rs.cc: msdd_rs.i
+msdd_rs.h msdd_rs.py msdd_rs.cc: msdd_rs.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
@@ -316,7 +395,7 @@ msdd_rs.h msdd_rs.py msdd_rs.cc: msdd_rs.i
##
## Once execution gets to here, it should always proceed no matter the
## state of a stamp (as discussed in link above). The
-## $(DEPDIR)/msdd-generate stuff is used to allow for parallel
+## $(DEPDIR)/msdd_rs-generate stuff is used to allow for parallel
## builds to "do the right thing". The stamp has no relationship with
## either the target files or dependency file; it is used solely for
## the protection of multiple builds during a given call to MAKE.
@@ -437,8 +516,5 @@ $(DEPDIR)/msdd_rs-generate-stamp:
# not guaranteed to be portable, but will probably work. If it works,
# we have accurate dependencies for our swig stuff, which is good.
-
-@am__include@ @am__quote@./$(DEPDIR)/msdd.d@am__quote@
@am__include@ @am__quote@./$(DEPDIR)/msdd_rs.d@am__quote@
-
diff --git a/gr-noaa/swig/Makefile.swig.gen b/gr-noaa/swig/Makefile.swig.gen
index 3d7102fe3..1dd2461b6 100644
--- a/gr-noaa/swig/Makefile.swig.gen
+++ b/gr-noaa/swig/Makefile.swig.gen
@@ -107,11 +107,12 @@ noaa_swig_python_PYTHON = \
## Entry rule for running SWIG
-noaa_swig.h noaa_swig.py noaa_swig.cc: noaa_swig.i
+noaa_swig.h noaa_swig.py noaa_swig.cc: noaa_swig.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-pager/swig/Makefile.swig.gen b/gr-pager/swig/Makefile.swig.gen
index 5cfbc66be..bf9087520 100644
--- a/gr-pager/swig/Makefile.swig.gen
+++ b/gr-pager/swig/Makefile.swig.gen
@@ -107,11 +107,12 @@ pager_swig_python_PYTHON = \
## Entry rule for running SWIG
-pager_swig.h pager_swig.py pager_swig.cc: pager_swig.i
+pager_swig.h pager_swig.py pager_swig.cc: pager_swig.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-qtgui/src/lib/Makefile.swig.gen b/gr-qtgui/src/lib/Makefile.swig.gen
index f40f0d881..f4bf06df1 100644
--- a/gr-qtgui/src/lib/Makefile.swig.gen
+++ b/gr-qtgui/src/lib/Makefile.swig.gen
@@ -107,11 +107,12 @@ qtgui_python_PYTHON = \
## Entry rule for running SWIG
-qtgui.h qtgui.py qtgui.cc: qtgui.i
+qtgui.h qtgui.py qtgui.cc: qtgui.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-radio-astronomy/src/lib/Makefile.swig.gen b/gr-radio-astronomy/src/lib/Makefile.swig.gen
index 26f2373f5..d4619b4f6 100644
--- a/gr-radio-astronomy/src/lib/Makefile.swig.gen
+++ b/gr-radio-astronomy/src/lib/Makefile.swig.gen
@@ -107,11 +107,12 @@ ra_python_PYTHON = \
## Entry rule for running SWIG
-ra.h ra.py ra.cc: ra.i
+ra.h ra.py ra.cc: ra.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-trellis/src/lib/Makefile.swig.gen b/gr-trellis/src/lib/Makefile.swig.gen
index 1a9656b8f..edc7d6f72 100644
--- a/gr-trellis/src/lib/Makefile.swig.gen
+++ b/gr-trellis/src/lib/Makefile.swig.gen
@@ -107,11 +107,12 @@ trellis_python_PYTHON = \
## Entry rule for running SWIG
-trellis.h trellis.py trellis.cc: trellis.i
+trellis.h trellis.py trellis.cc: trellis.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-usrp/src/Makefile.swig.gen b/gr-usrp/src/Makefile.swig.gen
index 9884b3d4f..008d28b2e 100644
--- a/gr-usrp/src/Makefile.swig.gen
+++ b/gr-usrp/src/Makefile.swig.gen
@@ -107,11 +107,12 @@ usrp_swig_python_PYTHON = \
## Entry rule for running SWIG
-usrp_swig.h usrp_swig.py usrp_swig.cc: usrp_swig.i
+usrp_swig.h usrp_swig.py usrp_swig.cc: usrp_swig.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-usrp2/src/Makefile.swig.gen b/gr-usrp2/src/Makefile.swig.gen
index 24d9f17c0..3d850cd90 100644
--- a/gr-usrp2/src/Makefile.swig.gen
+++ b/gr-usrp2/src/Makefile.swig.gen
@@ -107,11 +107,12 @@ usrp2_python_PYTHON = \
## Entry rule for running SWIG
-usrp2.h usrp2.py usrp2.cc: usrp2.i
+usrp2.h usrp2.py usrp2.cc: usrp2.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/gr-video-sdl/src/Makefile.swig.gen b/gr-video-sdl/src/Makefile.swig.gen
index a2728a4f3..9235a54da 100644
--- a/gr-video-sdl/src/Makefile.swig.gen
+++ b/gr-video-sdl/src/Makefile.swig.gen
@@ -107,11 +107,12 @@ video_sdl_python_PYTHON = \
## Entry rule for running SWIG
-video_sdl.h video_sdl.py video_sdl.cc: video_sdl.i
+video_sdl.h video_sdl.py video_sdl.cc: video_sdl.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is
diff --git a/usrp/host/swig/Makefile.swig.gen b/usrp/host/swig/Makefile.swig.gen
index 00de3e423..55041892f 100644
--- a/usrp/host/swig/Makefile.swig.gen
+++ b/usrp/host/swig/Makefile.swig.gen
@@ -107,11 +107,12 @@ usrp_prims_python_PYTHON = \
## Entry rule for running SWIG
-usrp_prims.h usrp_prims.py usrp_prims.cc: usrp_prims.i
+usrp_prims.h usrp_prims.py usrp_prims.cc: usrp_prims.i $(top_srcdir)/gnuradio-core/src/lib/swig/swig_doc.i
## This rule will get called only when MAKE decides that one of the
## targets needs to be created or re-created, because:
##
-## * The .i file is newer than any or all of the generated files;
+## * The .i file or the swig_doc.i are newer than any or all of the
+## generated files;
##
## * Any or all of the .cc, .h, or .py files does not exist and is
## needed (in the case this file is not needed, the rule for it is