# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _trellis_swig2
else:
    import _trellis_swig2

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)



def high_res_timer_now() -> "gr::high_res_timer_type":
    r"""high_res_timer_now() -> gr::high_res_timer_type"""
    return _trellis_swig2.high_res_timer_now()

def high_res_timer_now_perfmon() -> "gr::high_res_timer_type":
    r"""high_res_timer_now_perfmon() -> gr::high_res_timer_type"""
    return _trellis_swig2.high_res_timer_now_perfmon()

def high_res_timer_tps() -> "gr::high_res_timer_type":
    r"""high_res_timer_tps() -> gr::high_res_timer_type"""
    return _trellis_swig2.high_res_timer_tps()

def high_res_timer_epoch() -> "gr::high_res_timer_type":
    r"""high_res_timer_epoch() -> gr::high_res_timer_type"""
    return _trellis_swig2.high_res_timer_epoch()
TRELLIS_EUCLIDEAN = _trellis_swig2.TRELLIS_EUCLIDEAN

TRELLIS_HARD_SYMBOL = _trellis_swig2.TRELLIS_HARD_SYMBOL

TRELLIS_HARD_BIT = _trellis_swig2.TRELLIS_HARD_BIT

TRELLIS_MIN_SUM = _trellis_swig2.TRELLIS_MIN_SUM

TRELLIS_SUM_PRODUCT = _trellis_swig2.TRELLIS_SUM_PRODUCT

class fsm(object):
    r"""Proxy of C++ gr::trellis::fsm class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(fsm self) -> fsm
        __init__(fsm self, fsm FSM) -> fsm
        __init__(fsm self, int I, int S, int O, std::vector< int,std::allocator< int > > const & NS, std::vector< int,std::allocator< int > > const & OS) -> fsm
        __init__(fsm self, char const * name) -> fsm
        __init__(fsm self, int k, int n, std::vector< int,std::allocator< int > > const & G) -> fsm
        __init__(fsm self, int mod_size, int ch_length) -> fsm
        __init__(fsm self, int P, int M, int L) -> fsm
        __init__(fsm self, fsm FSM1, fsm FSM2) -> fsm
        __init__(fsm self, fsm FSMo, fsm FSMi, bool serial) -> fsm
        __init__(fsm self, fsm FSM, int n) -> fsm
        """
        _trellis_swig2.fsm_swiginit(self, _trellis_swig2.new_fsm(*args))

    def I(self) -> "int":
        r"""I(fsm self) -> int"""
        return _trellis_swig2.fsm_I(self)

    def S(self) -> "int":
        r"""S(fsm self) -> int"""
        return _trellis_swig2.fsm_S(self)

    def O(self) -> "int":
        r"""O(fsm self) -> int"""
        return _trellis_swig2.fsm_O(self)

    def NS(self) -> "std::vector< int,std::allocator< int > > const &":
        r"""NS(fsm self) -> std::vector< int,std::allocator< int > > const &"""
        return _trellis_swig2.fsm_NS(self)

    def OS(self) -> "std::vector< int,std::allocator< int > > const &":
        r"""OS(fsm self) -> std::vector< int,std::allocator< int > > const &"""
        return _trellis_swig2.fsm_OS(self)

    def PS(self) -> "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > const &":
        r"""PS(fsm self) -> std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > const &"""
        return _trellis_swig2.fsm_PS(self)

    def PI(self) -> "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > const &":
        r"""PI(fsm self) -> std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > const &"""
        return _trellis_swig2.fsm_PI(self)

    def TMi(self) -> "std::vector< int,std::allocator< int > > const &":
        r"""TMi(fsm self) -> std::vector< int,std::allocator< int > > const &"""
        return _trellis_swig2.fsm_TMi(self)

    def TMl(self) -> "std::vector< int,std::allocator< int > > const &":
        r"""TMl(fsm self) -> std::vector< int,std::allocator< int > > const &"""
        return _trellis_swig2.fsm_TMl(self)

    def write_trellis_svg(self, filename: "std::string", number_stages: "int") -> "void":
        r"""write_trellis_svg(fsm self, std::string filename, int number_stages)"""
        return _trellis_swig2.fsm_write_trellis_svg(self, filename, number_stages)

    def write_fsm_txt(self, filename: "std::string") -> "void":
        r"""write_fsm_txt(fsm self, std::string filename)"""
        return _trellis_swig2.fsm_write_fsm_txt(self, filename)
    __swig_destroy__ = _trellis_swig2.delete_fsm

# Register fsm in _trellis_swig2:
_trellis_swig2.fsm_swigregister(fsm)

class interleaver(object):
    r"""Proxy of C++ gr::trellis::interleaver class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(interleaver self) -> interleaver
        __init__(interleaver self, interleaver INTERLEAVER) -> interleaver
        __init__(interleaver self, unsigned int K, std::vector< int,std::allocator< int > > const & INTER) -> interleaver
        __init__(interleaver self, char const * name) -> interleaver
        __init__(interleaver self, unsigned int K, int seed) -> interleaver
        """
        _trellis_swig2.interleaver_swiginit(self, _trellis_swig2.new_interleaver(*args))

    def K(self) -> "unsigned int":
        r"""K(interleaver self) -> unsigned int"""
        return _trellis_swig2.interleaver_K(self)

    def INTER(self) -> "std::vector< int,std::allocator< int > > const &":
        r"""INTER(interleaver self) -> std::vector< int,std::allocator< int > > const &"""
        return _trellis_swig2.interleaver_INTER(self)

    def DEINTER(self) -> "std::vector< int,std::allocator< int > > const &":
        r"""DEINTER(interleaver self) -> std::vector< int,std::allocator< int > > const &"""
        return _trellis_swig2.interleaver_DEINTER(self)

    def write_interleaver_txt(self, filename: "std::string") -> "void":
        r"""write_interleaver_txt(interleaver self, std::string filename)"""
        return _trellis_swig2.interleaver_write_interleaver_txt(self, filename)
    __swig_destroy__ = _trellis_swig2.delete_interleaver

# Register interleaver in _trellis_swig2:
_trellis_swig2.interleaver_swigregister(interleaver)

class siso_f(object):
    r"""Proxy of C++ gr::trellis::siso_f class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(FSM: "fsm", K: "int", S0: "int", SK: "int", POSTI: "bool", POSTO: "bool", d_SISO_TYPE: "gr::trellis::siso_type_t") -> "gr::trellis::siso_f::sptr":
        r"""make(fsm FSM, int K, int S0, int SK, bool POSTI, bool POSTO, gr::trellis::siso_type_t d_SISO_TYPE) -> gr::trellis::siso_f::sptr"""
        return _trellis_swig2.siso_f_make(FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(siso_f self) -> fsm"""
        return _trellis_swig2.siso_f_FSM(self)

    def K(self) -> "int":
        r"""K(siso_f self) -> int"""
        return _trellis_swig2.siso_f_K(self)

    def S0(self) -> "int":
        r"""S0(siso_f self) -> int"""
        return _trellis_swig2.siso_f_S0(self)

    def SK(self) -> "int":
        r"""SK(siso_f self) -> int"""
        return _trellis_swig2.siso_f_SK(self)

    def POSTI(self) -> "bool":
        r"""POSTI(siso_f self) -> bool"""
        return _trellis_swig2.siso_f_POSTI(self)

    def POSTO(self) -> "bool":
        r"""POSTO(siso_f self) -> bool"""
        return _trellis_swig2.siso_f_POSTO(self)

    def SISO_TYPE(self) -> "gr::trellis::siso_type_t":
        r"""SISO_TYPE(siso_f self) -> gr::trellis::siso_type_t"""
        return _trellis_swig2.siso_f_SISO_TYPE(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(siso_f self, fsm FSM)"""
        return _trellis_swig2.siso_f_set_FSM(self, FSM)

    def set_K(self, K: "int") -> "void":
        r"""set_K(siso_f self, int K)"""
        return _trellis_swig2.siso_f_set_K(self, K)

    def set_S0(self, S0: "int") -> "void":
        r"""set_S0(siso_f self, int S0)"""
        return _trellis_swig2.siso_f_set_S0(self, S0)

    def set_SK(self, SK: "int") -> "void":
        r"""set_SK(siso_f self, int SK)"""
        return _trellis_swig2.siso_f_set_SK(self, SK)

    def set_POSTI(self, posti: "bool") -> "void":
        r"""set_POSTI(siso_f self, bool posti)"""
        return _trellis_swig2.siso_f_set_POSTI(self, posti)

    def set_POSTO(self, posto: "bool") -> "void":
        r"""set_POSTO(siso_f self, bool posto)"""
        return _trellis_swig2.siso_f_set_POSTO(self, posto)

    def set_SISO_TYPE(self, type: "gr::trellis::siso_type_t") -> "void":
        r"""set_SISO_TYPE(siso_f self, gr::trellis::siso_type_t type)"""
        return _trellis_swig2.siso_f_set_SISO_TYPE(self, type)
    __swig_destroy__ = _trellis_swig2.delete_siso_f

# Register siso_f in _trellis_swig2:
_trellis_swig2.siso_f_swigregister(siso_f)

def siso_f_make(FSM: "fsm", K: "int", S0: "int", SK: "int", POSTI: "bool", POSTO: "bool", d_SISO_TYPE: "gr::trellis::siso_type_t") -> "gr::trellis::siso_f::sptr":
    r"""siso_f_make(fsm FSM, int K, int S0, int SK, bool POSTI, bool POSTO, gr::trellis::siso_type_t d_SISO_TYPE) -> gr::trellis::siso_f::sptr"""
    return _trellis_swig2.siso_f_make(FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE)

class pccc_encoder_bb(object):
    r"""Proxy of C++ gr::trellis::pccc_encoder< std::uint8_t,std::uint8_t > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,unsigned char >::sptr":
        r"""make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bb_sptr"""
        return _trellis_swig2.pccc_encoder_bb_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_bb self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bb_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_bb self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_bb self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bb_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_bb self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_bb self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_bb_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_bb self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_blocklength(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_bb

# Register pccc_encoder_bb in _trellis_swig2:
_trellis_swig2.pccc_encoder_bb_swigregister(pccc_encoder_bb)

def pccc_encoder_bb_make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,unsigned char >::sptr":
    r"""pccc_encoder_bb_make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bb_sptr"""
    return _trellis_swig2.pccc_encoder_bb_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

class pccc_encoder_bb_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::pccc_encoder< std::uint8_t,std::uint8_t > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(pccc_encoder_bb_sptr self) -> pccc_encoder_bb_sptr
        __init__(pccc_encoder_bb_sptr self, pccc_encoder_bb p) -> pccc_encoder_bb_sptr
        """
        _trellis_swig2.pccc_encoder_bb_sptr_swiginit(self, _trellis_swig2.new_pccc_encoder_bb_sptr(*args))

    def __deref__(self) -> "gr::trellis::pccc_encoder< std::uint8_t,std::uint8_t > *":
        r"""__deref__(pccc_encoder_bb_sptr self) -> pccc_encoder_bb"""
        return _trellis_swig2.pccc_encoder_bb_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_bb_sptr

    def make(self, FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,unsigned char >::sptr":
        r"""make(pccc_encoder_bb_sptr self, fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bb_sptr"""
        return _trellis_swig2.pccc_encoder_bb_sptr_make(self, FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_bb_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bb_sptr_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_bb_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bb_sptr_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_bb_sptr self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_bb_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_bb_sptr self) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(pccc_encoder_bb_sptr self, int which, int delay)
        declare_sample_delay(pccc_encoder_bb_sptr self, unsigned int delay)
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(pccc_encoder_bb_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(pccc_encoder_bb_sptr self, int multiple)"""
        return _trellis_swig2.pccc_encoder_bb_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_bb_sptr self) -> double"""
        return _trellis_swig2.pccc_encoder_bb_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(pccc_encoder_bb_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bb_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(pccc_encoder_bb_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bb_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(pccc_encoder_bb_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bb_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_bb_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bb_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(pccc_encoder_bb_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bb_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(pccc_encoder_bb_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bb_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(pccc_encoder_bb_sptr self, std::string level)"""
        return _trellis_swig2.pccc_encoder_bb_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(pccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bb_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(pccc_encoder_bb_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_bb_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(pccc_encoder_bb_sptr self)"""
        return _trellis_swig2.pccc_encoder_bb_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(pccc_encoder_bb_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bb_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(pccc_encoder_bb_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_bb_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(pccc_encoder_bb_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_bb_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(pccc_encoder_bb_sptr self, long max_output_buffer)
        set_max_output_buffer(pccc_encoder_bb_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(pccc_encoder_bb_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_bb_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(pccc_encoder_bb_sptr self, long min_output_buffer)
        set_min_output_buffer(pccc_encoder_bb_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(pccc_encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full(pccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(pccc_encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full_avg(pccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(pccc_encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full_var(pccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(pccc_encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full(pccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(pccc_encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full_avg(pccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(pccc_encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full_var(pccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(pccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bb_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(pccc_encoder_bb_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.pccc_encoder_bb_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(pccc_encoder_bb_sptr self)"""
        return _trellis_swig2.pccc_encoder_bb_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(pccc_encoder_bb_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.pccc_encoder_bb_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(pccc_encoder_bb_sptr self, int priority) -> int"""
        return _trellis_swig2.pccc_encoder_bb_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(pccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bb_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bb_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(pccc_encoder_bb_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_bb_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(pccc_encoder_bb_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_bb_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_bb_sptr self) -> long"""
        return _trellis_swig2.pccc_encoder_bb_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(pccc_encoder_bb_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.pccc_encoder_bb_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(pccc_encoder_bb_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.pccc_encoder_bb_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(pccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bb_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(pccc_encoder_bb_sptr self, std::string name)"""
        return _trellis_swig2.pccc_encoder_bb_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(pccc_encoder_bb_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.pccc_encoder_bb_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(pccc_encoder_bb_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bb_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(pccc_encoder_bb_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bb_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(pccc_encoder_bb_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bb_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_bb_sptr in _trellis_swig2:
_trellis_swig2.pccc_encoder_bb_sptr_swigregister(pccc_encoder_bb_sptr)


pccc_encoder_bb_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
pccc_encoder_bb = pccc_encoder_bb.make

class pccc_encoder_bs(object):
    r"""Proxy of C++ gr::trellis::pccc_encoder< std::uint8_t,std::int16_t > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,short >::sptr":
        r"""make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bs_sptr"""
        return _trellis_swig2.pccc_encoder_bs_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_bs self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bs_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_bs self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_bs self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bs_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_bs self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_bs self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_bs_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_bs self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_blocklength(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_bs

# Register pccc_encoder_bs in _trellis_swig2:
_trellis_swig2.pccc_encoder_bs_swigregister(pccc_encoder_bs)

def pccc_encoder_bs_make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,short >::sptr":
    r"""pccc_encoder_bs_make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bs_sptr"""
    return _trellis_swig2.pccc_encoder_bs_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

class pccc_encoder_bs_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::pccc_encoder< std::uint8_t,std::int16_t > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(pccc_encoder_bs_sptr self) -> pccc_encoder_bs_sptr
        __init__(pccc_encoder_bs_sptr self, pccc_encoder_bs p) -> pccc_encoder_bs_sptr
        """
        _trellis_swig2.pccc_encoder_bs_sptr_swiginit(self, _trellis_swig2.new_pccc_encoder_bs_sptr(*args))

    def __deref__(self) -> "gr::trellis::pccc_encoder< std::uint8_t,std::int16_t > *":
        r"""__deref__(pccc_encoder_bs_sptr self) -> pccc_encoder_bs"""
        return _trellis_swig2.pccc_encoder_bs_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_bs_sptr

    def make(self, FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,short >::sptr":
        r"""make(pccc_encoder_bs_sptr self, fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bs_sptr"""
        return _trellis_swig2.pccc_encoder_bs_sptr_make(self, FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_bs_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bs_sptr_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_bs_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bs_sptr_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_bs_sptr self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_bs_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_bs_sptr self) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(pccc_encoder_bs_sptr self, int which, int delay)
        declare_sample_delay(pccc_encoder_bs_sptr self, unsigned int delay)
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(pccc_encoder_bs_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(pccc_encoder_bs_sptr self, int multiple)"""
        return _trellis_swig2.pccc_encoder_bs_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_bs_sptr self) -> double"""
        return _trellis_swig2.pccc_encoder_bs_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(pccc_encoder_bs_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bs_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(pccc_encoder_bs_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bs_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(pccc_encoder_bs_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bs_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_bs_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bs_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(pccc_encoder_bs_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bs_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(pccc_encoder_bs_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bs_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(pccc_encoder_bs_sptr self, std::string level)"""
        return _trellis_swig2.pccc_encoder_bs_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(pccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bs_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(pccc_encoder_bs_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_bs_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(pccc_encoder_bs_sptr self)"""
        return _trellis_swig2.pccc_encoder_bs_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(pccc_encoder_bs_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bs_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(pccc_encoder_bs_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_bs_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(pccc_encoder_bs_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_bs_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(pccc_encoder_bs_sptr self, long max_output_buffer)
        set_max_output_buffer(pccc_encoder_bs_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(pccc_encoder_bs_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_bs_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(pccc_encoder_bs_sptr self, long min_output_buffer)
        set_min_output_buffer(pccc_encoder_bs_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(pccc_encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full(pccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(pccc_encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full_avg(pccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(pccc_encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full_var(pccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(pccc_encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full(pccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(pccc_encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full_avg(pccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(pccc_encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full_var(pccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(pccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bs_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(pccc_encoder_bs_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.pccc_encoder_bs_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(pccc_encoder_bs_sptr self)"""
        return _trellis_swig2.pccc_encoder_bs_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(pccc_encoder_bs_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.pccc_encoder_bs_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(pccc_encoder_bs_sptr self, int priority) -> int"""
        return _trellis_swig2.pccc_encoder_bs_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(pccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bs_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bs_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(pccc_encoder_bs_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_bs_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(pccc_encoder_bs_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_bs_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_bs_sptr self) -> long"""
        return _trellis_swig2.pccc_encoder_bs_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(pccc_encoder_bs_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.pccc_encoder_bs_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(pccc_encoder_bs_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.pccc_encoder_bs_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(pccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bs_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(pccc_encoder_bs_sptr self, std::string name)"""
        return _trellis_swig2.pccc_encoder_bs_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(pccc_encoder_bs_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.pccc_encoder_bs_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(pccc_encoder_bs_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bs_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(pccc_encoder_bs_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bs_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(pccc_encoder_bs_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bs_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_bs_sptr in _trellis_swig2:
_trellis_swig2.pccc_encoder_bs_sptr_swigregister(pccc_encoder_bs_sptr)


pccc_encoder_bs_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
pccc_encoder_bs = pccc_encoder_bs.make

class pccc_encoder_bi(object):
    r"""Proxy of C++ gr::trellis::pccc_encoder< std::uint8_t,std::int32_t > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,int >::sptr":
        r"""make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bi_sptr"""
        return _trellis_swig2.pccc_encoder_bi_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_bi self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bi_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_bi self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_bi self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bi_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_bi self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_bi self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_bi_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_bi self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_blocklength(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_bi

# Register pccc_encoder_bi in _trellis_swig2:
_trellis_swig2.pccc_encoder_bi_swigregister(pccc_encoder_bi)

def pccc_encoder_bi_make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,int >::sptr":
    r"""pccc_encoder_bi_make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bi_sptr"""
    return _trellis_swig2.pccc_encoder_bi_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

class pccc_encoder_bi_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::pccc_encoder< std::uint8_t,std::int32_t > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(pccc_encoder_bi_sptr self) -> pccc_encoder_bi_sptr
        __init__(pccc_encoder_bi_sptr self, pccc_encoder_bi p) -> pccc_encoder_bi_sptr
        """
        _trellis_swig2.pccc_encoder_bi_sptr_swiginit(self, _trellis_swig2.new_pccc_encoder_bi_sptr(*args))

    def __deref__(self) -> "gr::trellis::pccc_encoder< std::uint8_t,std::int32_t > *":
        r"""__deref__(pccc_encoder_bi_sptr self) -> pccc_encoder_bi"""
        return _trellis_swig2.pccc_encoder_bi_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_bi_sptr

    def make(self, FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< unsigned char,int >::sptr":
        r"""make(pccc_encoder_bi_sptr self, fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_bi_sptr"""
        return _trellis_swig2.pccc_encoder_bi_sptr_make(self, FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_bi_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bi_sptr_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_bi_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_bi_sptr_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_bi_sptr self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_bi_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_bi_sptr self) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(pccc_encoder_bi_sptr self, int which, int delay)
        declare_sample_delay(pccc_encoder_bi_sptr self, unsigned int delay)
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(pccc_encoder_bi_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(pccc_encoder_bi_sptr self, int multiple)"""
        return _trellis_swig2.pccc_encoder_bi_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_bi_sptr self) -> double"""
        return _trellis_swig2.pccc_encoder_bi_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(pccc_encoder_bi_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bi_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(pccc_encoder_bi_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bi_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(pccc_encoder_bi_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bi_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_bi_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bi_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(pccc_encoder_bi_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bi_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(pccc_encoder_bi_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_bi_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(pccc_encoder_bi_sptr self, std::string level)"""
        return _trellis_swig2.pccc_encoder_bi_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(pccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bi_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(pccc_encoder_bi_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_bi_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(pccc_encoder_bi_sptr self)"""
        return _trellis_swig2.pccc_encoder_bi_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(pccc_encoder_bi_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_bi_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(pccc_encoder_bi_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_bi_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(pccc_encoder_bi_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_bi_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(pccc_encoder_bi_sptr self, long max_output_buffer)
        set_max_output_buffer(pccc_encoder_bi_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(pccc_encoder_bi_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_bi_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(pccc_encoder_bi_sptr self, long min_output_buffer)
        set_min_output_buffer(pccc_encoder_bi_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(pccc_encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full(pccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(pccc_encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full_avg(pccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(pccc_encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full_var(pccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(pccc_encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full(pccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(pccc_encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full_avg(pccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(pccc_encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full_var(pccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(pccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_bi_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(pccc_encoder_bi_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.pccc_encoder_bi_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(pccc_encoder_bi_sptr self)"""
        return _trellis_swig2.pccc_encoder_bi_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(pccc_encoder_bi_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.pccc_encoder_bi_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(pccc_encoder_bi_sptr self, int priority) -> int"""
        return _trellis_swig2.pccc_encoder_bi_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(pccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bi_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bi_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(pccc_encoder_bi_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_bi_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(pccc_encoder_bi_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_bi_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_bi_sptr self) -> long"""
        return _trellis_swig2.pccc_encoder_bi_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(pccc_encoder_bi_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.pccc_encoder_bi_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(pccc_encoder_bi_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.pccc_encoder_bi_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(pccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_bi_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(pccc_encoder_bi_sptr self, std::string name)"""
        return _trellis_swig2.pccc_encoder_bi_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(pccc_encoder_bi_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.pccc_encoder_bi_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(pccc_encoder_bi_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bi_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(pccc_encoder_bi_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bi_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(pccc_encoder_bi_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_bi_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_bi_sptr in _trellis_swig2:
_trellis_swig2.pccc_encoder_bi_sptr_swigregister(pccc_encoder_bi_sptr)


pccc_encoder_bi_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
pccc_encoder_bi = pccc_encoder_bi.make

class pccc_encoder_ss(object):
    r"""Proxy of C++ gr::trellis::pccc_encoder< std::int16_t,std::int16_t > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< short,short >::sptr":
        r"""make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_ss_sptr"""
        return _trellis_swig2.pccc_encoder_ss_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_ss self) -> fsm"""
        return _trellis_swig2.pccc_encoder_ss_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_ss self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_ss self) -> fsm"""
        return _trellis_swig2.pccc_encoder_ss_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_ss self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_ss self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_ss_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_ss self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_blocklength(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_ss

# Register pccc_encoder_ss in _trellis_swig2:
_trellis_swig2.pccc_encoder_ss_swigregister(pccc_encoder_ss)

def pccc_encoder_ss_make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< short,short >::sptr":
    r"""pccc_encoder_ss_make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_ss_sptr"""
    return _trellis_swig2.pccc_encoder_ss_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

class pccc_encoder_ss_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::pccc_encoder< std::int16_t,std::int16_t > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(pccc_encoder_ss_sptr self) -> pccc_encoder_ss_sptr
        __init__(pccc_encoder_ss_sptr self, pccc_encoder_ss p) -> pccc_encoder_ss_sptr
        """
        _trellis_swig2.pccc_encoder_ss_sptr_swiginit(self, _trellis_swig2.new_pccc_encoder_ss_sptr(*args))

    def __deref__(self) -> "gr::trellis::pccc_encoder< std::int16_t,std::int16_t > *":
        r"""__deref__(pccc_encoder_ss_sptr self) -> pccc_encoder_ss"""
        return _trellis_swig2.pccc_encoder_ss_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_ss_sptr

    def make(self, FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< short,short >::sptr":
        r"""make(pccc_encoder_ss_sptr self, fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_ss_sptr"""
        return _trellis_swig2.pccc_encoder_ss_sptr_make(self, FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_ss_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_ss_sptr_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_ss_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_ss_sptr_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_ss_sptr self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_ss_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_ss_sptr self) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(pccc_encoder_ss_sptr self, int which, int delay)
        declare_sample_delay(pccc_encoder_ss_sptr self, unsigned int delay)
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(pccc_encoder_ss_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(pccc_encoder_ss_sptr self, int multiple)"""
        return _trellis_swig2.pccc_encoder_ss_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_ss_sptr self) -> double"""
        return _trellis_swig2.pccc_encoder_ss_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(pccc_encoder_ss_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_ss_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(pccc_encoder_ss_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_ss_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(pccc_encoder_ss_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_ss_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_ss_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_ss_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(pccc_encoder_ss_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_ss_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(pccc_encoder_ss_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_ss_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(pccc_encoder_ss_sptr self, std::string level)"""
        return _trellis_swig2.pccc_encoder_ss_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(pccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_ss_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(pccc_encoder_ss_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_ss_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(pccc_encoder_ss_sptr self)"""
        return _trellis_swig2.pccc_encoder_ss_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(pccc_encoder_ss_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_ss_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(pccc_encoder_ss_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_ss_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(pccc_encoder_ss_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_ss_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(pccc_encoder_ss_sptr self, long max_output_buffer)
        set_max_output_buffer(pccc_encoder_ss_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(pccc_encoder_ss_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_ss_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(pccc_encoder_ss_sptr self, long min_output_buffer)
        set_min_output_buffer(pccc_encoder_ss_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(pccc_encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full(pccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(pccc_encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full_avg(pccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(pccc_encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full_var(pccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(pccc_encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full(pccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(pccc_encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full_avg(pccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(pccc_encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full_var(pccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(pccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ss_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(pccc_encoder_ss_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.pccc_encoder_ss_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(pccc_encoder_ss_sptr self)"""
        return _trellis_swig2.pccc_encoder_ss_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(pccc_encoder_ss_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.pccc_encoder_ss_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(pccc_encoder_ss_sptr self, int priority) -> int"""
        return _trellis_swig2.pccc_encoder_ss_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(pccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_ss_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_ss_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(pccc_encoder_ss_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_ss_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(pccc_encoder_ss_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_ss_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_ss_sptr self) -> long"""
        return _trellis_swig2.pccc_encoder_ss_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(pccc_encoder_ss_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.pccc_encoder_ss_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(pccc_encoder_ss_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.pccc_encoder_ss_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(pccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_ss_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(pccc_encoder_ss_sptr self, std::string name)"""
        return _trellis_swig2.pccc_encoder_ss_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(pccc_encoder_ss_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.pccc_encoder_ss_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(pccc_encoder_ss_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_ss_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(pccc_encoder_ss_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_ss_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(pccc_encoder_ss_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_ss_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_ss_sptr in _trellis_swig2:
_trellis_swig2.pccc_encoder_ss_sptr_swigregister(pccc_encoder_ss_sptr)


pccc_encoder_ss_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
pccc_encoder_ss = pccc_encoder_ss.make

class pccc_encoder_si(object):
    r"""Proxy of C++ gr::trellis::pccc_encoder< std::int16_t,std::int32_t > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< short,int >::sptr":
        r"""make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_si_sptr"""
        return _trellis_swig2.pccc_encoder_si_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_si self) -> fsm"""
        return _trellis_swig2.pccc_encoder_si_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_si self) -> int"""
        return _trellis_swig2.pccc_encoder_si_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_si self) -> fsm"""
        return _trellis_swig2.pccc_encoder_si_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_si self) -> int"""
        return _trellis_swig2.pccc_encoder_si_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_si self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_si_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_si self) -> int"""
        return _trellis_swig2.pccc_encoder_si_blocklength(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_si

# Register pccc_encoder_si in _trellis_swig2:
_trellis_swig2.pccc_encoder_si_swigregister(pccc_encoder_si)

def pccc_encoder_si_make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< short,int >::sptr":
    r"""pccc_encoder_si_make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_si_sptr"""
    return _trellis_swig2.pccc_encoder_si_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

class pccc_encoder_si_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::pccc_encoder< std::int16_t,std::int32_t > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(pccc_encoder_si_sptr self) -> pccc_encoder_si_sptr
        __init__(pccc_encoder_si_sptr self, pccc_encoder_si p) -> pccc_encoder_si_sptr
        """
        _trellis_swig2.pccc_encoder_si_sptr_swiginit(self, _trellis_swig2.new_pccc_encoder_si_sptr(*args))

    def __deref__(self) -> "gr::trellis::pccc_encoder< std::int16_t,std::int32_t > *":
        r"""__deref__(pccc_encoder_si_sptr self) -> pccc_encoder_si"""
        return _trellis_swig2.pccc_encoder_si_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_si_sptr

    def make(self, FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< short,int >::sptr":
        r"""make(pccc_encoder_si_sptr self, fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_si_sptr"""
        return _trellis_swig2.pccc_encoder_si_sptr_make(self, FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_si_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_si_sptr_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_si_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_si_sptr_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_si_sptr self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_si_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_si_sptr self) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_si_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(pccc_encoder_si_sptr self, int which, int delay)
        declare_sample_delay(pccc_encoder_si_sptr self, unsigned int delay)
        """
        return _trellis_swig2.pccc_encoder_si_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(pccc_encoder_si_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_si_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(pccc_encoder_si_sptr self, int multiple)"""
        return _trellis_swig2.pccc_encoder_si_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_si_sptr self) -> double"""
        return _trellis_swig2.pccc_encoder_si_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(pccc_encoder_si_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_si_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(pccc_encoder_si_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_si_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(pccc_encoder_si_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_si_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_si_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_si_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(pccc_encoder_si_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_si_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(pccc_encoder_si_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_si_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(pccc_encoder_si_sptr self, std::string level)"""
        return _trellis_swig2.pccc_encoder_si_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(pccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_si_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(pccc_encoder_si_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_si_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(pccc_encoder_si_sptr self)"""
        return _trellis_swig2.pccc_encoder_si_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(pccc_encoder_si_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_si_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(pccc_encoder_si_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_si_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(pccc_encoder_si_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_si_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(pccc_encoder_si_sptr self, long max_output_buffer)
        set_max_output_buffer(pccc_encoder_si_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_si_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(pccc_encoder_si_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_si_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(pccc_encoder_si_sptr self, long min_output_buffer)
        set_min_output_buffer(pccc_encoder_si_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_si_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(pccc_encoder_si_sptr self, int which) -> float
        pc_input_buffers_full(pccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_si_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(pccc_encoder_si_sptr self, int which) -> float
        pc_input_buffers_full_avg(pccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_si_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(pccc_encoder_si_sptr self, int which) -> float
        pc_input_buffers_full_var(pccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_si_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(pccc_encoder_si_sptr self, int which) -> float
        pc_output_buffers_full(pccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_si_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(pccc_encoder_si_sptr self, int which) -> float
        pc_output_buffers_full_avg(pccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_si_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(pccc_encoder_si_sptr self, int which) -> float
        pc_output_buffers_full_var(pccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_si_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(pccc_encoder_si_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_si_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(pccc_encoder_si_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.pccc_encoder_si_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(pccc_encoder_si_sptr self)"""
        return _trellis_swig2.pccc_encoder_si_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(pccc_encoder_si_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.pccc_encoder_si_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(pccc_encoder_si_sptr self, int priority) -> int"""
        return _trellis_swig2.pccc_encoder_si_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(pccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_si_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_si_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(pccc_encoder_si_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_si_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(pccc_encoder_si_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_si_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_si_sptr self) -> long"""
        return _trellis_swig2.pccc_encoder_si_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(pccc_encoder_si_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.pccc_encoder_si_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(pccc_encoder_si_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.pccc_encoder_si_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(pccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_si_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(pccc_encoder_si_sptr self, std::string name)"""
        return _trellis_swig2.pccc_encoder_si_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(pccc_encoder_si_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.pccc_encoder_si_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(pccc_encoder_si_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_si_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(pccc_encoder_si_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_si_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(pccc_encoder_si_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_si_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_si_sptr in _trellis_swig2:
_trellis_swig2.pccc_encoder_si_sptr_swigregister(pccc_encoder_si_sptr)


pccc_encoder_si_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
pccc_encoder_si = pccc_encoder_si.make

class pccc_encoder_ii(object):
    r"""Proxy of C++ gr::trellis::pccc_encoder< std::int32_t,std::int32_t > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< int,int >::sptr":
        r"""make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_ii_sptr"""
        return _trellis_swig2.pccc_encoder_ii_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_ii self) -> fsm"""
        return _trellis_swig2.pccc_encoder_ii_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_ii self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_ii self) -> fsm"""
        return _trellis_swig2.pccc_encoder_ii_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_ii self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_ii self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_ii_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_ii self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_blocklength(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_ii

# Register pccc_encoder_ii in _trellis_swig2:
_trellis_swig2.pccc_encoder_ii_swigregister(pccc_encoder_ii)

def pccc_encoder_ii_make(FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< int,int >::sptr":
    r"""pccc_encoder_ii_make(fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_ii_sptr"""
    return _trellis_swig2.pccc_encoder_ii_make(FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

class pccc_encoder_ii_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::pccc_encoder< std::int32_t,std::int32_t > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(pccc_encoder_ii_sptr self) -> pccc_encoder_ii_sptr
        __init__(pccc_encoder_ii_sptr self, pccc_encoder_ii p) -> pccc_encoder_ii_sptr
        """
        _trellis_swig2.pccc_encoder_ii_sptr_swiginit(self, _trellis_swig2.new_pccc_encoder_ii_sptr(*args))

    def __deref__(self) -> "gr::trellis::pccc_encoder< std::int32_t,std::int32_t > *":
        r"""__deref__(pccc_encoder_ii_sptr self) -> pccc_encoder_ii"""
        return _trellis_swig2.pccc_encoder_ii_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_pccc_encoder_ii_sptr

    def make(self, FSM1: "fsm", ST1: "int", FSM2: "fsm", ST2: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::pccc_encoder< int,int >::sptr":
        r"""make(pccc_encoder_ii_sptr self, fsm FSM1, int ST1, fsm FSM2, int ST2, interleaver INTERLEAVER, int blocklength) -> pccc_encoder_ii_sptr"""
        return _trellis_swig2.pccc_encoder_ii_sptr_make(self, FSM1, ST1, FSM2, ST2, INTERLEAVER, blocklength)

    def FSM1(self) -> "gr::trellis::fsm":
        r"""FSM1(pccc_encoder_ii_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_ii_sptr_FSM1(self)

    def ST1(self) -> "int":
        r"""ST1(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_ST1(self)

    def FSM2(self) -> "gr::trellis::fsm":
        r"""FSM2(pccc_encoder_ii_sptr self) -> fsm"""
        return _trellis_swig2.pccc_encoder_ii_sptr_FSM2(self)

    def ST2(self) -> "int":
        r"""ST2(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_ST2(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(pccc_encoder_ii_sptr self) -> interleaver"""
        return _trellis_swig2.pccc_encoder_ii_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_ii_sptr self) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(pccc_encoder_ii_sptr self, int which, int delay)
        declare_sample_delay(pccc_encoder_ii_sptr self, unsigned int delay)
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(pccc_encoder_ii_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(pccc_encoder_ii_sptr self, int multiple)"""
        return _trellis_swig2.pccc_encoder_ii_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_ii_sptr self) -> double"""
        return _trellis_swig2.pccc_encoder_ii_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(pccc_encoder_ii_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_ii_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(pccc_encoder_ii_sptr self) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_ii_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(pccc_encoder_ii_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_ii_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_ii_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_ii_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(pccc_encoder_ii_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_ii_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(pccc_encoder_ii_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.pccc_encoder_ii_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(pccc_encoder_ii_sptr self, std::string level)"""
        return _trellis_swig2.pccc_encoder_ii_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(pccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_ii_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(pccc_encoder_ii_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_ii_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(pccc_encoder_ii_sptr self)"""
        return _trellis_swig2.pccc_encoder_ii_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(pccc_encoder_ii_sptr self) -> bool"""
        return _trellis_swig2.pccc_encoder_ii_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(pccc_encoder_ii_sptr self, int m)"""
        return _trellis_swig2.pccc_encoder_ii_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(pccc_encoder_ii_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_ii_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(pccc_encoder_ii_sptr self, long max_output_buffer)
        set_max_output_buffer(pccc_encoder_ii_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(pccc_encoder_ii_sptr self, int i) -> long"""
        return _trellis_swig2.pccc_encoder_ii_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(pccc_encoder_ii_sptr self, long min_output_buffer)
        set_min_output_buffer(pccc_encoder_ii_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(pccc_encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full(pccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(pccc_encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full_avg(pccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(pccc_encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full_var(pccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(pccc_encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full(pccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(pccc_encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full_avg(pccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(pccc_encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full_var(pccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(pccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig2.pccc_encoder_ii_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(pccc_encoder_ii_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.pccc_encoder_ii_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(pccc_encoder_ii_sptr self)"""
        return _trellis_swig2.pccc_encoder_ii_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(pccc_encoder_ii_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.pccc_encoder_ii_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(pccc_encoder_ii_sptr self, int priority) -> int"""
        return _trellis_swig2.pccc_encoder_ii_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(pccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_ii_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_ii_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(pccc_encoder_ii_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_ii_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(pccc_encoder_ii_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.pccc_encoder_ii_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_ii_sptr self) -> long"""
        return _trellis_swig2.pccc_encoder_ii_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(pccc_encoder_ii_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.pccc_encoder_ii_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(pccc_encoder_ii_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.pccc_encoder_ii_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(pccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig2.pccc_encoder_ii_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(pccc_encoder_ii_sptr self, std::string name)"""
        return _trellis_swig2.pccc_encoder_ii_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(pccc_encoder_ii_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.pccc_encoder_ii_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(pccc_encoder_ii_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_ii_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(pccc_encoder_ii_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_ii_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(pccc_encoder_ii_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.pccc_encoder_ii_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_ii_sptr in _trellis_swig2:
_trellis_swig2.pccc_encoder_ii_sptr_swigregister(pccc_encoder_ii_sptr)


pccc_encoder_ii_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
pccc_encoder_ii = pccc_encoder_ii.make

class metrics_s(object):
    r"""Proxy of C++ gr::trellis::metrics< std::int16_t > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(O: "int", D: "int", TABLE: "std::vector< std::int16_t,std::allocator< std::int16_t > > const &", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< short >::sptr":
        r"""make(int O, int D, std::vector< std::int16_t,std::allocator< std::int16_t > > const & TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_s_sptr"""
        return _trellis_swig2.metrics_s_make(O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_s self) -> int"""
        return _trellis_swig2.metrics_s_O(self)

    def D(self) -> "int":
        r"""D(metrics_s self) -> int"""
        return _trellis_swig2.metrics_s_D(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(metrics_s self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig2.metrics_s_TYPE(self)

    def TABLE(self) -> "std::vector< std::int16_t,std::allocator< std::int16_t > >":
        r"""TABLE(metrics_s self) -> std::vector< std::int16_t,std::allocator< std::int16_t > >"""
        return _trellis_swig2.metrics_s_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_s self, int O)"""
        return _trellis_swig2.metrics_s_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_s self, int D)"""
        return _trellis_swig2.metrics_s_set_D(self, D)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(metrics_s self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig2.metrics_s_set_TYPE(self, type)

    def set_TABLE(self, table: "std::vector< std::int16_t,std::allocator< std::int16_t > > const &") -> "void":
        r"""set_TABLE(metrics_s self, std::vector< std::int16_t,std::allocator< std::int16_t > > const & table)"""
        return _trellis_swig2.metrics_s_set_TABLE(self, table)
    __swig_destroy__ = _trellis_swig2.delete_metrics_s

# Register metrics_s in _trellis_swig2:
_trellis_swig2.metrics_s_swigregister(metrics_s)

def metrics_s_make(O: "int", D: "int", TABLE: "std::vector< std::int16_t,std::allocator< std::int16_t > > const &", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< short >::sptr":
    r"""metrics_s_make(int O, int D, std::vector< std::int16_t,std::allocator< std::int16_t > > const & TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_s_sptr"""
    return _trellis_swig2.metrics_s_make(O, D, TABLE, TYPE)

class metrics_s_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::metrics< std::int16_t > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(metrics_s_sptr self) -> metrics_s_sptr
        __init__(metrics_s_sptr self, metrics_s p) -> metrics_s_sptr
        """
        _trellis_swig2.metrics_s_sptr_swiginit(self, _trellis_swig2.new_metrics_s_sptr(*args))

    def __deref__(self) -> "gr::trellis::metrics< std::int16_t > *":
        r"""__deref__(metrics_s_sptr self) -> metrics_s"""
        return _trellis_swig2.metrics_s_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_metrics_s_sptr

    def make(self, O: "int", D: "int", TABLE: "std::vector< std::int16_t,std::allocator< std::int16_t > > const &", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< short >::sptr":
        r"""make(metrics_s_sptr self, int O, int D, std::vector< std::int16_t,std::allocator< std::int16_t > > const & TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_s_sptr"""
        return _trellis_swig2.metrics_s_sptr_make(self, O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_s_sptr self) -> int"""
        return _trellis_swig2.metrics_s_sptr_O(self)

    def D(self) -> "int":
        r"""D(metrics_s_sptr self) -> int"""
        return _trellis_swig2.metrics_s_sptr_D(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(metrics_s_sptr self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig2.metrics_s_sptr_TYPE(self)

    def TABLE(self) -> "std::vector< std::int16_t,std::allocator< std::int16_t > >":
        r"""TABLE(metrics_s_sptr self) -> std::vector< std::int16_t,std::allocator< std::int16_t > >"""
        return _trellis_swig2.metrics_s_sptr_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_s_sptr self, int O)"""
        return _trellis_swig2.metrics_s_sptr_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_s_sptr self, int D)"""
        return _trellis_swig2.metrics_s_sptr_set_D(self, D)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(metrics_s_sptr self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig2.metrics_s_sptr_set_TYPE(self, type)

    def set_TABLE(self, table: "std::vector< std::int16_t,std::allocator< std::int16_t > > const &") -> "void":
        r"""set_TABLE(metrics_s_sptr self, std::vector< std::int16_t,std::allocator< std::int16_t > > const & table)"""
        return _trellis_swig2.metrics_s_sptr_set_TABLE(self, table)

    def history(self) -> "unsigned int":
        r"""history(metrics_s_sptr self) -> unsigned int"""
        return _trellis_swig2.metrics_s_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(metrics_s_sptr self, int which, int delay)
        declare_sample_delay(metrics_s_sptr self, unsigned int delay)
        """
        return _trellis_swig2.metrics_s_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(metrics_s_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.metrics_s_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(metrics_s_sptr self, int multiple)"""
        return _trellis_swig2.metrics_s_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(metrics_s_sptr self) -> int"""
        return _trellis_swig2.metrics_s_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(metrics_s_sptr self) -> double"""
        return _trellis_swig2.metrics_s_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(metrics_s_sptr self) -> uint64_t"""
        return _trellis_swig2.metrics_s_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(metrics_s_sptr self) -> uint64_t"""
        return _trellis_swig2.metrics_s_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(metrics_s_sptr self) -> bool"""
        return _trellis_swig2.metrics_s_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(metrics_s_sptr self) -> bool"""
        return _trellis_swig2.metrics_s_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(metrics_s_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.metrics_s_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(metrics_s_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.metrics_s_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(metrics_s_sptr self, std::string level)"""
        return _trellis_swig2.metrics_s_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(metrics_s_sptr self) -> std::string"""
        return _trellis_swig2.metrics_s_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(metrics_s_sptr self) -> int"""
        return _trellis_swig2.metrics_s_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(metrics_s_sptr self, int m)"""
        return _trellis_swig2.metrics_s_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(metrics_s_sptr self)"""
        return _trellis_swig2.metrics_s_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(metrics_s_sptr self) -> bool"""
        return _trellis_swig2.metrics_s_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(metrics_s_sptr self, int m)"""
        return _trellis_swig2.metrics_s_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(metrics_s_sptr self) -> int"""
        return _trellis_swig2.metrics_s_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(metrics_s_sptr self, int i) -> long"""
        return _trellis_swig2.metrics_s_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(metrics_s_sptr self, long max_output_buffer)
        set_max_output_buffer(metrics_s_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.metrics_s_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(metrics_s_sptr self, int i) -> long"""
        return _trellis_swig2.metrics_s_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(metrics_s_sptr self, long min_output_buffer)
        set_min_output_buffer(metrics_s_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.metrics_s_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(metrics_s_sptr self, int which) -> float
        pc_input_buffers_full(metrics_s_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_s_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(metrics_s_sptr self, int which) -> float
        pc_input_buffers_full_avg(metrics_s_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_s_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(metrics_s_sptr self, int which) -> float
        pc_input_buffers_full_var(metrics_s_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_s_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(metrics_s_sptr self, int which) -> float
        pc_output_buffers_full(metrics_s_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_s_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(metrics_s_sptr self, int which) -> float
        pc_output_buffers_full_avg(metrics_s_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_s_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(metrics_s_sptr self, int which) -> float
        pc_output_buffers_full_var(metrics_s_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_s_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(metrics_s_sptr self) -> float"""
        return _trellis_swig2.metrics_s_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(metrics_s_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.metrics_s_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(metrics_s_sptr self)"""
        return _trellis_swig2.metrics_s_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(metrics_s_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.metrics_s_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(metrics_s_sptr self) -> int"""
        return _trellis_swig2.metrics_s_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(metrics_s_sptr self) -> int"""
        return _trellis_swig2.metrics_s_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(metrics_s_sptr self, int priority) -> int"""
        return _trellis_swig2.metrics_s_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(metrics_s_sptr self) -> std::string"""
        return _trellis_swig2.metrics_s_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(metrics_s_sptr self) -> std::string"""
        return _trellis_swig2.metrics_s_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(metrics_s_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.metrics_s_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(metrics_s_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.metrics_s_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(metrics_s_sptr self) -> long"""
        return _trellis_swig2.metrics_s_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(metrics_s_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.metrics_s_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(metrics_s_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.metrics_s_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(metrics_s_sptr self) -> std::string"""
        return _trellis_swig2.metrics_s_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(metrics_s_sptr self, std::string name)"""
        return _trellis_swig2.metrics_s_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(metrics_s_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.metrics_s_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(metrics_s_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_s_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(metrics_s_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_s_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(metrics_s_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_s_sptr_message_subscribers(self, which_port)

# Register metrics_s_sptr in _trellis_swig2:
_trellis_swig2.metrics_s_sptr_swigregister(metrics_s_sptr)


metrics_s_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
metrics_s = metrics_s.make

class metrics_i(object):
    r"""Proxy of C++ gr::trellis::metrics< std::int32_t > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(O: "int", D: "int", TABLE: "std::vector< std::int32_t,std::allocator< std::int32_t > > const &", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< int >::sptr":
        r"""make(int O, int D, std::vector< std::int32_t,std::allocator< std::int32_t > > const & TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_i_sptr"""
        return _trellis_swig2.metrics_i_make(O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_i self) -> int"""
        return _trellis_swig2.metrics_i_O(self)

    def D(self) -> "int":
        r"""D(metrics_i self) -> int"""
        return _trellis_swig2.metrics_i_D(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(metrics_i self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig2.metrics_i_TYPE(self)

    def TABLE(self) -> "std::vector< std::int32_t,std::allocator< std::int32_t > >":
        r"""TABLE(metrics_i self) -> std::vector< std::int32_t,std::allocator< std::int32_t > >"""
        return _trellis_swig2.metrics_i_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_i self, int O)"""
        return _trellis_swig2.metrics_i_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_i self, int D)"""
        return _trellis_swig2.metrics_i_set_D(self, D)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(metrics_i self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig2.metrics_i_set_TYPE(self, type)

    def set_TABLE(self, table: "std::vector< std::int32_t,std::allocator< std::int32_t > > const &") -> "void":
        r"""set_TABLE(metrics_i self, std::vector< std::int32_t,std::allocator< std::int32_t > > const & table)"""
        return _trellis_swig2.metrics_i_set_TABLE(self, table)
    __swig_destroy__ = _trellis_swig2.delete_metrics_i

# Register metrics_i in _trellis_swig2:
_trellis_swig2.metrics_i_swigregister(metrics_i)

def metrics_i_make(O: "int", D: "int", TABLE: "std::vector< std::int32_t,std::allocator< std::int32_t > > const &", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< int >::sptr":
    r"""metrics_i_make(int O, int D, std::vector< std::int32_t,std::allocator< std::int32_t > > const & TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_i_sptr"""
    return _trellis_swig2.metrics_i_make(O, D, TABLE, TYPE)

class metrics_i_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::metrics< std::int32_t > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(metrics_i_sptr self) -> metrics_i_sptr
        __init__(metrics_i_sptr self, metrics_i p) -> metrics_i_sptr
        """
        _trellis_swig2.metrics_i_sptr_swiginit(self, _trellis_swig2.new_metrics_i_sptr(*args))

    def __deref__(self) -> "gr::trellis::metrics< std::int32_t > *":
        r"""__deref__(metrics_i_sptr self) -> metrics_i"""
        return _trellis_swig2.metrics_i_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_metrics_i_sptr

    def make(self, O: "int", D: "int", TABLE: "std::vector< std::int32_t,std::allocator< std::int32_t > > const &", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< int >::sptr":
        r"""make(metrics_i_sptr self, int O, int D, std::vector< std::int32_t,std::allocator< std::int32_t > > const & TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_i_sptr"""
        return _trellis_swig2.metrics_i_sptr_make(self, O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_i_sptr self) -> int"""
        return _trellis_swig2.metrics_i_sptr_O(self)

    def D(self) -> "int":
        r"""D(metrics_i_sptr self) -> int"""
        return _trellis_swig2.metrics_i_sptr_D(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(metrics_i_sptr self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig2.metrics_i_sptr_TYPE(self)

    def TABLE(self) -> "std::vector< std::int32_t,std::allocator< std::int32_t > >":
        r"""TABLE(metrics_i_sptr self) -> std::vector< std::int32_t,std::allocator< std::int32_t > >"""
        return _trellis_swig2.metrics_i_sptr_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_i_sptr self, int O)"""
        return _trellis_swig2.metrics_i_sptr_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_i_sptr self, int D)"""
        return _trellis_swig2.metrics_i_sptr_set_D(self, D)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(metrics_i_sptr self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig2.metrics_i_sptr_set_TYPE(self, type)

    def set_TABLE(self, table: "std::vector< std::int32_t,std::allocator< std::int32_t > > const &") -> "void":
        r"""set_TABLE(metrics_i_sptr self, std::vector< std::int32_t,std::allocator< std::int32_t > > const & table)"""
        return _trellis_swig2.metrics_i_sptr_set_TABLE(self, table)

    def history(self) -> "unsigned int":
        r"""history(metrics_i_sptr self) -> unsigned int"""
        return _trellis_swig2.metrics_i_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(metrics_i_sptr self, int which, int delay)
        declare_sample_delay(metrics_i_sptr self, unsigned int delay)
        """
        return _trellis_swig2.metrics_i_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(metrics_i_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.metrics_i_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(metrics_i_sptr self, int multiple)"""
        return _trellis_swig2.metrics_i_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(metrics_i_sptr self) -> int"""
        return _trellis_swig2.metrics_i_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(metrics_i_sptr self) -> double"""
        return _trellis_swig2.metrics_i_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(metrics_i_sptr self) -> uint64_t"""
        return _trellis_swig2.metrics_i_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(metrics_i_sptr self) -> uint64_t"""
        return _trellis_swig2.metrics_i_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(metrics_i_sptr self) -> bool"""
        return _trellis_swig2.metrics_i_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(metrics_i_sptr self) -> bool"""
        return _trellis_swig2.metrics_i_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(metrics_i_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.metrics_i_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(metrics_i_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.metrics_i_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(metrics_i_sptr self, std::string level)"""
        return _trellis_swig2.metrics_i_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(metrics_i_sptr self) -> std::string"""
        return _trellis_swig2.metrics_i_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(metrics_i_sptr self) -> int"""
        return _trellis_swig2.metrics_i_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(metrics_i_sptr self, int m)"""
        return _trellis_swig2.metrics_i_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(metrics_i_sptr self)"""
        return _trellis_swig2.metrics_i_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(metrics_i_sptr self) -> bool"""
        return _trellis_swig2.metrics_i_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(metrics_i_sptr self, int m)"""
        return _trellis_swig2.metrics_i_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(metrics_i_sptr self) -> int"""
        return _trellis_swig2.metrics_i_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(metrics_i_sptr self, int i) -> long"""
        return _trellis_swig2.metrics_i_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(metrics_i_sptr self, long max_output_buffer)
        set_max_output_buffer(metrics_i_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.metrics_i_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(metrics_i_sptr self, int i) -> long"""
        return _trellis_swig2.metrics_i_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(metrics_i_sptr self, long min_output_buffer)
        set_min_output_buffer(metrics_i_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.metrics_i_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(metrics_i_sptr self, int which) -> float
        pc_input_buffers_full(metrics_i_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_i_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(metrics_i_sptr self, int which) -> float
        pc_input_buffers_full_avg(metrics_i_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_i_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(metrics_i_sptr self, int which) -> float
        pc_input_buffers_full_var(metrics_i_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_i_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(metrics_i_sptr self, int which) -> float
        pc_output_buffers_full(metrics_i_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_i_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(metrics_i_sptr self, int which) -> float
        pc_output_buffers_full_avg(metrics_i_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_i_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(metrics_i_sptr self, int which) -> float
        pc_output_buffers_full_var(metrics_i_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_i_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(metrics_i_sptr self) -> float"""
        return _trellis_swig2.metrics_i_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(metrics_i_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.metrics_i_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(metrics_i_sptr self)"""
        return _trellis_swig2.metrics_i_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(metrics_i_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.metrics_i_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(metrics_i_sptr self) -> int"""
        return _trellis_swig2.metrics_i_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(metrics_i_sptr self) -> int"""
        return _trellis_swig2.metrics_i_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(metrics_i_sptr self, int priority) -> int"""
        return _trellis_swig2.metrics_i_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(metrics_i_sptr self) -> std::string"""
        return _trellis_swig2.metrics_i_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(metrics_i_sptr self) -> std::string"""
        return _trellis_swig2.metrics_i_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(metrics_i_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.metrics_i_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(metrics_i_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.metrics_i_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(metrics_i_sptr self) -> long"""
        return _trellis_swig2.metrics_i_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(metrics_i_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.metrics_i_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(metrics_i_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.metrics_i_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(metrics_i_sptr self) -> std::string"""
        return _trellis_swig2.metrics_i_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(metrics_i_sptr self, std::string name)"""
        return _trellis_swig2.metrics_i_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(metrics_i_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.metrics_i_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(metrics_i_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_i_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(metrics_i_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_i_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(metrics_i_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_i_sptr_message_subscribers(self, which_port)

# Register metrics_i_sptr in _trellis_swig2:
_trellis_swig2.metrics_i_sptr_swigregister(metrics_i_sptr)


metrics_i_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
metrics_i = metrics_i.make

class metrics_f(object):
    r"""Proxy of C++ gr::trellis::metrics< float > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(O: "int", D: "int", TABLE: "pmt_vector_float", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< float >::sptr":
        r"""make(int O, int D, pmt_vector_float TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_f_sptr"""
        return _trellis_swig2.metrics_f_make(O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_f self) -> int"""
        return _trellis_swig2.metrics_f_O(self)

    def D(self) -> "int":
        r"""D(metrics_f self) -> int"""
        return _trellis_swig2.metrics_f_D(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(metrics_f self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig2.metrics_f_TYPE(self)

    def TABLE(self) -> "std::vector< float,std::allocator< float > >":
        r"""TABLE(metrics_f self) -> pmt_vector_float"""
        return _trellis_swig2.metrics_f_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_f self, int O)"""
        return _trellis_swig2.metrics_f_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_f self, int D)"""
        return _trellis_swig2.metrics_f_set_D(self, D)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(metrics_f self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig2.metrics_f_set_TYPE(self, type)

    def set_TABLE(self, table: "pmt_vector_float") -> "void":
        r"""set_TABLE(metrics_f self, pmt_vector_float table)"""
        return _trellis_swig2.metrics_f_set_TABLE(self, table)
    __swig_destroy__ = _trellis_swig2.delete_metrics_f

# Register metrics_f in _trellis_swig2:
_trellis_swig2.metrics_f_swigregister(metrics_f)

def metrics_f_make(O: "int", D: "int", TABLE: "pmt_vector_float", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< float >::sptr":
    r"""metrics_f_make(int O, int D, pmt_vector_float TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_f_sptr"""
    return _trellis_swig2.metrics_f_make(O, D, TABLE, TYPE)

class metrics_f_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::metrics< float > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(metrics_f_sptr self) -> metrics_f_sptr
        __init__(metrics_f_sptr self, metrics_f p) -> metrics_f_sptr
        """
        _trellis_swig2.metrics_f_sptr_swiginit(self, _trellis_swig2.new_metrics_f_sptr(*args))

    def __deref__(self) -> "gr::trellis::metrics< float > *":
        r"""__deref__(metrics_f_sptr self) -> metrics_f"""
        return _trellis_swig2.metrics_f_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_metrics_f_sptr

    def make(self, O: "int", D: "int", TABLE: "pmt_vector_float", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< float >::sptr":
        r"""make(metrics_f_sptr self, int O, int D, pmt_vector_float TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_f_sptr"""
        return _trellis_swig2.metrics_f_sptr_make(self, O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_f_sptr self) -> int"""
        return _trellis_swig2.metrics_f_sptr_O(self)

    def D(self) -> "int":
        r"""D(metrics_f_sptr self) -> int"""
        return _trellis_swig2.metrics_f_sptr_D(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(metrics_f_sptr self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig2.metrics_f_sptr_TYPE(self)

    def TABLE(self) -> "std::vector< float,std::allocator< float > >":
        r"""TABLE(metrics_f_sptr self) -> pmt_vector_float"""
        return _trellis_swig2.metrics_f_sptr_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_f_sptr self, int O)"""
        return _trellis_swig2.metrics_f_sptr_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_f_sptr self, int D)"""
        return _trellis_swig2.metrics_f_sptr_set_D(self, D)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(metrics_f_sptr self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig2.metrics_f_sptr_set_TYPE(self, type)

    def set_TABLE(self, table: "pmt_vector_float") -> "void":
        r"""set_TABLE(metrics_f_sptr self, pmt_vector_float table)"""
        return _trellis_swig2.metrics_f_sptr_set_TABLE(self, table)

    def history(self) -> "unsigned int":
        r"""history(metrics_f_sptr self) -> unsigned int"""
        return _trellis_swig2.metrics_f_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(metrics_f_sptr self, int which, int delay)
        declare_sample_delay(metrics_f_sptr self, unsigned int delay)
        """
        return _trellis_swig2.metrics_f_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(metrics_f_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.metrics_f_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(metrics_f_sptr self, int multiple)"""
        return _trellis_swig2.metrics_f_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(metrics_f_sptr self) -> int"""
        return _trellis_swig2.metrics_f_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(metrics_f_sptr self) -> double"""
        return _trellis_swig2.metrics_f_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(metrics_f_sptr self) -> uint64_t"""
        return _trellis_swig2.metrics_f_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(metrics_f_sptr self) -> uint64_t"""
        return _trellis_swig2.metrics_f_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(metrics_f_sptr self) -> bool"""
        return _trellis_swig2.metrics_f_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(metrics_f_sptr self) -> bool"""
        return _trellis_swig2.metrics_f_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(metrics_f_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.metrics_f_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(metrics_f_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.metrics_f_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(metrics_f_sptr self, std::string level)"""
        return _trellis_swig2.metrics_f_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(metrics_f_sptr self) -> std::string"""
        return _trellis_swig2.metrics_f_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(metrics_f_sptr self) -> int"""
        return _trellis_swig2.metrics_f_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(metrics_f_sptr self, int m)"""
        return _trellis_swig2.metrics_f_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(metrics_f_sptr self)"""
        return _trellis_swig2.metrics_f_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(metrics_f_sptr self) -> bool"""
        return _trellis_swig2.metrics_f_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(metrics_f_sptr self, int m)"""
        return _trellis_swig2.metrics_f_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(metrics_f_sptr self) -> int"""
        return _trellis_swig2.metrics_f_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(metrics_f_sptr self, int i) -> long"""
        return _trellis_swig2.metrics_f_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(metrics_f_sptr self, long max_output_buffer)
        set_max_output_buffer(metrics_f_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.metrics_f_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(metrics_f_sptr self, int i) -> long"""
        return _trellis_swig2.metrics_f_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(metrics_f_sptr self, long min_output_buffer)
        set_min_output_buffer(metrics_f_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.metrics_f_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(metrics_f_sptr self, int which) -> float
        pc_input_buffers_full(metrics_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_f_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(metrics_f_sptr self, int which) -> float
        pc_input_buffers_full_avg(metrics_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_f_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(metrics_f_sptr self, int which) -> float
        pc_input_buffers_full_var(metrics_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_f_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(metrics_f_sptr self, int which) -> float
        pc_output_buffers_full(metrics_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_f_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(metrics_f_sptr self, int which) -> float
        pc_output_buffers_full_avg(metrics_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_f_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(metrics_f_sptr self, int which) -> float
        pc_output_buffers_full_var(metrics_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_f_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(metrics_f_sptr self) -> float"""
        return _trellis_swig2.metrics_f_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(metrics_f_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.metrics_f_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(metrics_f_sptr self)"""
        return _trellis_swig2.metrics_f_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(metrics_f_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.metrics_f_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(metrics_f_sptr self) -> int"""
        return _trellis_swig2.metrics_f_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(metrics_f_sptr self) -> int"""
        return _trellis_swig2.metrics_f_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(metrics_f_sptr self, int priority) -> int"""
        return _trellis_swig2.metrics_f_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(metrics_f_sptr self) -> std::string"""
        return _trellis_swig2.metrics_f_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(metrics_f_sptr self) -> std::string"""
        return _trellis_swig2.metrics_f_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(metrics_f_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.metrics_f_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(metrics_f_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.metrics_f_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(metrics_f_sptr self) -> long"""
        return _trellis_swig2.metrics_f_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(metrics_f_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.metrics_f_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(metrics_f_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.metrics_f_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(metrics_f_sptr self) -> std::string"""
        return _trellis_swig2.metrics_f_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(metrics_f_sptr self, std::string name)"""
        return _trellis_swig2.metrics_f_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(metrics_f_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.metrics_f_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(metrics_f_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_f_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(metrics_f_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_f_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(metrics_f_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_f_sptr_message_subscribers(self, which_port)

# Register metrics_f_sptr in _trellis_swig2:
_trellis_swig2.metrics_f_sptr_swigregister(metrics_f_sptr)


metrics_f_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
metrics_f = metrics_f.make

class metrics_c(object):
    r"""Proxy of C++ gr::trellis::metrics< gr_complex > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def make(O: "int", D: "int", TABLE: "pmt_vector_cfloat", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< std::complex< float > >::sptr":
        r"""make(int O, int D, pmt_vector_cfloat TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_c_sptr"""
        return _trellis_swig2.metrics_c_make(O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_c self) -> int"""
        return _trellis_swig2.metrics_c_O(self)

    def D(self) -> "int":
        r"""D(metrics_c self) -> int"""
        return _trellis_swig2.metrics_c_D(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(metrics_c self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig2.metrics_c_TYPE(self)

    def TABLE(self) -> "std::vector< std::complex< float >,std::allocator< std::complex< float > > >":
        r"""TABLE(metrics_c self) -> pmt_vector_cfloat"""
        return _trellis_swig2.metrics_c_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_c self, int O)"""
        return _trellis_swig2.metrics_c_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_c self, int D)"""
        return _trellis_swig2.metrics_c_set_D(self, D)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(metrics_c self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig2.metrics_c_set_TYPE(self, type)

    def set_TABLE(self, table: "pmt_vector_cfloat") -> "void":
        r"""set_TABLE(metrics_c self, pmt_vector_cfloat table)"""
        return _trellis_swig2.metrics_c_set_TABLE(self, table)
    __swig_destroy__ = _trellis_swig2.delete_metrics_c

# Register metrics_c in _trellis_swig2:
_trellis_swig2.metrics_c_swigregister(metrics_c)

def metrics_c_make(O: "int", D: "int", TABLE: "pmt_vector_cfloat", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< std::complex< float > >::sptr":
    r"""metrics_c_make(int O, int D, pmt_vector_cfloat TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_c_sptr"""
    return _trellis_swig2.metrics_c_make(O, D, TABLE, TYPE)

class metrics_c_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::metrics< gr_complex > > class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(metrics_c_sptr self) -> metrics_c_sptr
        __init__(metrics_c_sptr self, metrics_c p) -> metrics_c_sptr
        """
        _trellis_swig2.metrics_c_sptr_swiginit(self, _trellis_swig2.new_metrics_c_sptr(*args))

    def __deref__(self) -> "gr::trellis::metrics< gr_complex > *":
        r"""__deref__(metrics_c_sptr self) -> metrics_c"""
        return _trellis_swig2.metrics_c_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig2.delete_metrics_c_sptr

    def make(self, O: "int", D: "int", TABLE: "pmt_vector_cfloat", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::metrics< std::complex< float > >::sptr":
        r"""make(metrics_c_sptr self, int O, int D, pmt_vector_cfloat TABLE, gr::digital::trellis_metric_type_t TYPE) -> metrics_c_sptr"""
        return _trellis_swig2.metrics_c_sptr_make(self, O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_c_sptr self) -> int"""
        return _trellis_swig2.metrics_c_sptr_O(self)

    def D(self) -> "int":
        r"""D(metrics_c_sptr self) -> int"""
        return _trellis_swig2.metrics_c_sptr_D(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(metrics_c_sptr self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig2.metrics_c_sptr_TYPE(self)

    def TABLE(self) -> "std::vector< std::complex< float >,std::allocator< std::complex< float > > >":
        r"""TABLE(metrics_c_sptr self) -> pmt_vector_cfloat"""
        return _trellis_swig2.metrics_c_sptr_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_c_sptr self, int O)"""
        return _trellis_swig2.metrics_c_sptr_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_c_sptr self, int D)"""
        return _trellis_swig2.metrics_c_sptr_set_D(self, D)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(metrics_c_sptr self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig2.metrics_c_sptr_set_TYPE(self, type)

    def set_TABLE(self, table: "pmt_vector_cfloat") -> "void":
        r"""set_TABLE(metrics_c_sptr self, pmt_vector_cfloat table)"""
        return _trellis_swig2.metrics_c_sptr_set_TABLE(self, table)

    def history(self) -> "unsigned int":
        r"""history(metrics_c_sptr self) -> unsigned int"""
        return _trellis_swig2.metrics_c_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(metrics_c_sptr self, int which, int delay)
        declare_sample_delay(metrics_c_sptr self, unsigned int delay)
        """
        return _trellis_swig2.metrics_c_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(metrics_c_sptr self, int which) -> unsigned int"""
        return _trellis_swig2.metrics_c_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(metrics_c_sptr self, int multiple)"""
        return _trellis_swig2.metrics_c_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(metrics_c_sptr self) -> int"""
        return _trellis_swig2.metrics_c_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(metrics_c_sptr self) -> double"""
        return _trellis_swig2.metrics_c_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(metrics_c_sptr self) -> uint64_t"""
        return _trellis_swig2.metrics_c_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(metrics_c_sptr self) -> uint64_t"""
        return _trellis_swig2.metrics_c_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(metrics_c_sptr self) -> bool"""
        return _trellis_swig2.metrics_c_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(metrics_c_sptr self) -> bool"""
        return _trellis_swig2.metrics_c_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(metrics_c_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig2.metrics_c_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(metrics_c_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig2.metrics_c_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(metrics_c_sptr self, std::string level)"""
        return _trellis_swig2.metrics_c_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(metrics_c_sptr self) -> std::string"""
        return _trellis_swig2.metrics_c_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(metrics_c_sptr self) -> int"""
        return _trellis_swig2.metrics_c_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(metrics_c_sptr self, int m)"""
        return _trellis_swig2.metrics_c_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(metrics_c_sptr self)"""
        return _trellis_swig2.metrics_c_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(metrics_c_sptr self) -> bool"""
        return _trellis_swig2.metrics_c_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(metrics_c_sptr self, int m)"""
        return _trellis_swig2.metrics_c_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(metrics_c_sptr self) -> int"""
        return _trellis_swig2.metrics_c_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(metrics_c_sptr self, int i) -> long"""
        return _trellis_swig2.metrics_c_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(metrics_c_sptr self, long max_output_buffer)
        set_max_output_buffer(metrics_c_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig2.metrics_c_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(metrics_c_sptr self, int i) -> long"""
        return _trellis_swig2.metrics_c_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(metrics_c_sptr self, long min_output_buffer)
        set_min_output_buffer(metrics_c_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig2.metrics_c_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(metrics_c_sptr self, int which) -> float
        pc_input_buffers_full(metrics_c_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_c_sptr_pc_input_buffers_full(self, *args)

    def pc_input_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_avg(metrics_c_sptr self, int which) -> float
        pc_input_buffers_full_avg(metrics_c_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_c_sptr_pc_input_buffers_full_avg(self, *args)

    def pc_input_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full_var(metrics_c_sptr self, int which) -> float
        pc_input_buffers_full_var(metrics_c_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_c_sptr_pc_input_buffers_full_var(self, *args)

    def pc_output_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full(metrics_c_sptr self, int which) -> float
        pc_output_buffers_full(metrics_c_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_c_sptr_pc_output_buffers_full(self, *args)

    def pc_output_buffers_full_avg(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_avg(metrics_c_sptr self, int which) -> float
        pc_output_buffers_full_avg(metrics_c_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_c_sptr_pc_output_buffers_full_avg(self, *args)

    def pc_output_buffers_full_var(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_output_buffers_full_var(metrics_c_sptr self, int which) -> float
        pc_output_buffers_full_var(metrics_c_sptr self) -> pmt_vector_float
        """
        return _trellis_swig2.metrics_c_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(metrics_c_sptr self) -> float"""
        return _trellis_swig2.metrics_c_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(metrics_c_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig2.metrics_c_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(metrics_c_sptr self)"""
        return _trellis_swig2.metrics_c_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(metrics_c_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig2.metrics_c_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(metrics_c_sptr self) -> int"""
        return _trellis_swig2.metrics_c_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(metrics_c_sptr self) -> int"""
        return _trellis_swig2.metrics_c_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(metrics_c_sptr self, int priority) -> int"""
        return _trellis_swig2.metrics_c_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(metrics_c_sptr self) -> std::string"""
        return _trellis_swig2.metrics_c_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(metrics_c_sptr self) -> std::string"""
        return _trellis_swig2.metrics_c_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(metrics_c_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.metrics_c_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(metrics_c_sptr self) -> io_signature_sptr"""
        return _trellis_swig2.metrics_c_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(metrics_c_sptr self) -> long"""
        return _trellis_swig2.metrics_c_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(metrics_c_sptr self) -> basic_block_sptr"""
        return _trellis_swig2.metrics_c_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(metrics_c_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig2.metrics_c_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(metrics_c_sptr self) -> std::string"""
        return _trellis_swig2.metrics_c_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(metrics_c_sptr self, std::string name)"""
        return _trellis_swig2.metrics_c_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(metrics_c_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig2.metrics_c_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(metrics_c_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_c_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(metrics_c_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_c_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(metrics_c_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig2.metrics_c_sptr_message_subscribers(self, which_port)

# Register metrics_c_sptr in _trellis_swig2:
_trellis_swig2.metrics_c_sptr_swigregister(metrics_c_sptr)


metrics_c_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
metrics_c = metrics_c.make



