# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.1
#
# 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_swig0
else:
    import _trellis_swig0

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_swig0.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_swig0.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_swig0.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_swig0.high_res_timer_epoch()
TRELLIS_EUCLIDEAN = _trellis_swig0.TRELLIS_EUCLIDEAN

TRELLIS_HARD_SYMBOL = _trellis_swig0.TRELLIS_HARD_SYMBOL

TRELLIS_HARD_BIT = _trellis_swig0.TRELLIS_HARD_BIT

class constellation(object):
    r"""Proxy of C++ gr::digital::constellation 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
    __swig_destroy__ = _trellis_swig0.delete_constellation

    def map_to_points(self, value: "unsigned int", points: "gr_complex *") -> "void":
        r"""map_to_points(constellation self, unsigned int value, gr_complex * points)"""
        return _trellis_swig0.constellation_map_to_points(self, value, points)

    def map_to_points_v(self, value: "unsigned int") -> "std::vector< gr_complex,std::allocator< gr_complex > >":
        r"""map_to_points_v(constellation self, unsigned int value) -> pmt_vector_cfloat"""
        return _trellis_swig0.constellation_map_to_points_v(self, value)

    def decision_maker(self, sample: "gr_complex const *") -> "unsigned int":
        r"""decision_maker(constellation self, gr_complex const * sample) -> unsigned int"""
        return _trellis_swig0.constellation_decision_maker(self, sample)

    def decision_maker_v(self, sample: "pmt_vector_cfloat") -> "unsigned int":
        r"""decision_maker_v(constellation self, pmt_vector_cfloat sample) -> unsigned int"""
        return _trellis_swig0.constellation_decision_maker_v(self, sample)

    def decision_maker_pe(self, sample: "gr_complex const *", phase_error: "float *") -> "unsigned int":
        r"""decision_maker_pe(constellation self, gr_complex const * sample, float * phase_error) -> unsigned int"""
        return _trellis_swig0.constellation_decision_maker_pe(self, sample, phase_error)

    def calc_metric(self, sample: "gr_complex const *", metric: "float *", type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""calc_metric(constellation self, gr_complex const * sample, float * metric, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig0.constellation_calc_metric(self, sample, metric, type)

    def calc_euclidean_metric(self, sample: "gr_complex const *", metric: "float *") -> "void":
        r"""calc_euclidean_metric(constellation self, gr_complex const * sample, float * metric)"""
        return _trellis_swig0.constellation_calc_euclidean_metric(self, sample, metric)

    def calc_hard_symbol_metric(self, sample: "gr_complex const *", metric: "float *") -> "void":
        r"""calc_hard_symbol_metric(constellation self, gr_complex const * sample, float * metric)"""
        return _trellis_swig0.constellation_calc_hard_symbol_metric(self, sample, metric)

    def points(self) -> "std::vector< gr_complex,std::allocator< gr_complex > >":
        r"""points(constellation self) -> pmt_vector_cfloat"""
        return _trellis_swig0.constellation_points(self)

    def s_points(self) -> "std::vector< gr_complex,std::allocator< gr_complex > >":
        r"""s_points(constellation self) -> pmt_vector_cfloat"""
        return _trellis_swig0.constellation_s_points(self)

    def v_points(self) -> "std::vector< std::vector< gr_complex,std::allocator< gr_complex > >,std::allocator< std::vector< gr_complex,std::allocator< gr_complex > > > >":
        r"""v_points(constellation self) -> gr_vector_vector_complexf"""
        return _trellis_swig0.constellation_v_points(self)

    def apply_pre_diff_code(self) -> "bool":
        r"""apply_pre_diff_code(constellation self) -> bool"""
        return _trellis_swig0.constellation_apply_pre_diff_code(self)

    def set_pre_diff_code(self, a: "bool") -> "void":
        r"""set_pre_diff_code(constellation self, bool a)"""
        return _trellis_swig0.constellation_set_pre_diff_code(self, a)

    def pre_diff_code(self) -> "std::vector< int,std::allocator< int > >":
        r"""pre_diff_code(constellation self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.constellation_pre_diff_code(self)

    def rotational_symmetry(self) -> "unsigned int":
        r"""rotational_symmetry(constellation self) -> unsigned int"""
        return _trellis_swig0.constellation_rotational_symmetry(self)

    def dimensionality(self) -> "unsigned int":
        r"""dimensionality(constellation self) -> unsigned int"""
        return _trellis_swig0.constellation_dimensionality(self)

    def bits_per_symbol(self) -> "unsigned int":
        r"""bits_per_symbol(constellation self) -> unsigned int"""
        return _trellis_swig0.constellation_bits_per_symbol(self)

    def arity(self) -> "unsigned int":
        r"""arity(constellation self) -> unsigned int"""
        return _trellis_swig0.constellation_arity(self)

    def base(self) -> "gr::digital::constellation_sptr":
        r"""base(constellation self) -> gr::digital::constellation_sptr"""
        return _trellis_swig0.constellation_base(self)

    def as_pmt(self) -> "pmt::pmt_t":
        r"""as_pmt(constellation self) -> swig_pmt_ptr"""
        return _trellis_swig0.constellation_as_pmt(self)

    def gen_soft_dec_lut(self, precision: "int", npwr: "float"=1.0) -> "void":
        r"""gen_soft_dec_lut(constellation self, int precision, float npwr=1.0)"""
        return _trellis_swig0.constellation_gen_soft_dec_lut(self, precision, npwr)

    def calc_soft_dec(self, sample: "gr_complex", npwr: "float"=1.0) -> "std::vector< float,std::allocator< float > >":
        r"""calc_soft_dec(constellation self, gr_complex sample, float npwr=1.0) -> pmt_vector_float"""
        return _trellis_swig0.constellation_calc_soft_dec(self, sample, npwr)

    def set_soft_dec_lut(self, soft_dec_lut: "std::vector< std::vector< float,std::allocator< float > >,std::allocator< std::vector< float,std::allocator< float > > > > const &", precision: "int") -> "void":
        r"""set_soft_dec_lut(constellation self, std::vector< std::vector< float,std::allocator< float > >,std::allocator< std::vector< float,std::allocator< float > > > > const & soft_dec_lut, int precision)"""
        return _trellis_swig0.constellation_set_soft_dec_lut(self, soft_dec_lut, precision)

    def has_soft_dec_lut(self) -> "bool":
        r"""has_soft_dec_lut(constellation self) -> bool"""
        return _trellis_swig0.constellation_has_soft_dec_lut(self)

    def soft_dec_lut(self) -> "std::vector< std::vector< float,std::allocator< float > >,std::allocator< std::vector< float,std::allocator< float > > > >":
        r"""soft_dec_lut(constellation self) -> std::vector< std::vector< float,std::allocator< float > >,std::allocator< std::vector< float,std::allocator< float > > > >"""
        return _trellis_swig0.constellation_soft_dec_lut(self)

    def soft_decision_maker(self, sample: "gr_complex") -> "std::vector< float,std::allocator< float > >":
        r"""soft_decision_maker(constellation self, gr_complex sample) -> pmt_vector_float"""
        return _trellis_swig0.constellation_soft_decision_maker(self, sample)

# Register constellation in _trellis_swig0:
_trellis_swig0.constellation_swigregister(constellation)

class constellation_calcdist(constellation):
    r"""Proxy of C++ gr::digital::constellation_calcdist 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")
    __repr__ = _swig_repr

    @staticmethod
    def make(constell: "pmt_vector_cfloat", pre_diff_code: "std::vector< int,std::allocator< int > >", rotational_symmetry: "unsigned int", dimensionality: "unsigned int", normalize_points: "bool"=True) -> "gr::digital::constellation_calcdist::sptr":
        r"""make(pmt_vector_cfloat constell, std::vector< int,std::allocator< int > > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality, bool normalize_points=True) -> gr::digital::constellation_calcdist::sptr"""
        return _trellis_swig0.constellation_calcdist_make(constell, pre_diff_code, rotational_symmetry, dimensionality, normalize_points)
    __swig_destroy__ = _trellis_swig0.delete_constellation_calcdist

# Register constellation_calcdist in _trellis_swig0:
_trellis_swig0.constellation_calcdist_swigregister(constellation_calcdist)

def constellation_calcdist_make(constell: "pmt_vector_cfloat", pre_diff_code: "std::vector< int,std::allocator< int > >", rotational_symmetry: "unsigned int", dimensionality: "unsigned int", normalize_points: "bool"=True) -> "gr::digital::constellation_calcdist::sptr":
    r"""constellation_calcdist_make(pmt_vector_cfloat constell, std::vector< int,std::allocator< int > > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality, bool normalize_points=True) -> gr::digital::constellation_calcdist::sptr"""
    return _trellis_swig0.constellation_calcdist_make(constell, pre_diff_code, rotational_symmetry, dimensionality, normalize_points)

class constellation_sector(constellation):
    r"""Proxy of C++ gr::digital::constellation_sector 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
    __swig_destroy__ = _trellis_swig0.delete_constellation_sector

# Register constellation_sector in _trellis_swig0:
_trellis_swig0.constellation_sector_swigregister(constellation_sector)

class constellation_rect(constellation_sector):
    r"""Proxy of C++ gr::digital::constellation_rect 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")
    __repr__ = _swig_repr

    @staticmethod
    def make(constell: "pmt_vector_cfloat", pre_diff_code: "std::vector< int,std::allocator< int > >", rotational_symmetry: "unsigned int", real_sectors: "unsigned int", imag_sectors: "unsigned int", width_real_sectors: "float", width_imag_sectors: "float") -> "gr::digital::constellation_rect::sptr":
        r"""make(pmt_vector_cfloat constell, std::vector< int,std::allocator< int > > pre_diff_code, unsigned int rotational_symmetry, unsigned int real_sectors, unsigned int imag_sectors, float width_real_sectors, float width_imag_sectors) -> gr::digital::constellation_rect::sptr"""
        return _trellis_swig0.constellation_rect_make(constell, pre_diff_code, rotational_symmetry, real_sectors, imag_sectors, width_real_sectors, width_imag_sectors)
    __swig_destroy__ = _trellis_swig0.delete_constellation_rect

# Register constellation_rect in _trellis_swig0:
_trellis_swig0.constellation_rect_swigregister(constellation_rect)

def constellation_rect_make(constell: "pmt_vector_cfloat", pre_diff_code: "std::vector< int,std::allocator< int > >", rotational_symmetry: "unsigned int", real_sectors: "unsigned int", imag_sectors: "unsigned int", width_real_sectors: "float", width_imag_sectors: "float") -> "gr::digital::constellation_rect::sptr":
    r"""constellation_rect_make(pmt_vector_cfloat constell, std::vector< int,std::allocator< int > > pre_diff_code, unsigned int rotational_symmetry, unsigned int real_sectors, unsigned int imag_sectors, float width_real_sectors, float width_imag_sectors) -> gr::digital::constellation_rect::sptr"""
    return _trellis_swig0.constellation_rect_make(constell, pre_diff_code, rotational_symmetry, real_sectors, imag_sectors, width_real_sectors, width_imag_sectors)

class constellation_expl_rect(constellation_rect):
    r"""Proxy of C++ gr::digital::constellation_expl_rect 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")
    __repr__ = _swig_repr

    @staticmethod
    def make(constellation: "pmt_vector_cfloat", pre_diff_code: "std::vector< int,std::allocator< int > >", rotational_symmetry: "unsigned int", real_sectors: "unsigned int", imag_sectors: "unsigned int", width_real_sectors: "float", width_imag_sectors: "float", sector_values: "std::vector< unsigned int,std::allocator< unsigned int > >") -> "gr::digital::constellation_expl_rect::sptr":
        r"""make(pmt_vector_cfloat constellation, std::vector< int,std::allocator< int > > pre_diff_code, unsigned int rotational_symmetry, unsigned int real_sectors, unsigned int imag_sectors, float width_real_sectors, float width_imag_sectors, std::vector< unsigned int,std::allocator< unsigned int > > sector_values) -> gr::digital::constellation_expl_rect::sptr"""
        return _trellis_swig0.constellation_expl_rect_make(constellation, pre_diff_code, rotational_symmetry, real_sectors, imag_sectors, width_real_sectors, width_imag_sectors, sector_values)
    __swig_destroy__ = _trellis_swig0.delete_constellation_expl_rect

# Register constellation_expl_rect in _trellis_swig0:
_trellis_swig0.constellation_expl_rect_swigregister(constellation_expl_rect)

def constellation_expl_rect_make(constellation: "pmt_vector_cfloat", pre_diff_code: "std::vector< int,std::allocator< int > >", rotational_symmetry: "unsigned int", real_sectors: "unsigned int", imag_sectors: "unsigned int", width_real_sectors: "float", width_imag_sectors: "float", sector_values: "std::vector< unsigned int,std::allocator< unsigned int > >") -> "gr::digital::constellation_expl_rect::sptr":
    r"""constellation_expl_rect_make(pmt_vector_cfloat constellation, std::vector< int,std::allocator< int > > pre_diff_code, unsigned int rotational_symmetry, unsigned int real_sectors, unsigned int imag_sectors, float width_real_sectors, float width_imag_sectors, std::vector< unsigned int,std::allocator< unsigned int > > sector_values) -> gr::digital::constellation_expl_rect::sptr"""
    return _trellis_swig0.constellation_expl_rect_make(constellation, pre_diff_code, rotational_symmetry, real_sectors, imag_sectors, width_real_sectors, width_imag_sectors, sector_values)

class constellation_psk(constellation_sector):
    r"""Proxy of C++ gr::digital::constellation_psk 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")
    __repr__ = _swig_repr

    @staticmethod
    def make(constell: "pmt_vector_cfloat", pre_diff_code: "std::vector< int,std::allocator< int > >", n_sectors: "unsigned int") -> "gr::digital::constellation_psk::sptr":
        r"""make(pmt_vector_cfloat constell, std::vector< int,std::allocator< int > > pre_diff_code, unsigned int n_sectors) -> gr::digital::constellation_psk::sptr"""
        return _trellis_swig0.constellation_psk_make(constell, pre_diff_code, n_sectors)
    __swig_destroy__ = _trellis_swig0.delete_constellation_psk

# Register constellation_psk in _trellis_swig0:
_trellis_swig0.constellation_psk_swigregister(constellation_psk)

def constellation_psk_make(constell: "pmt_vector_cfloat", pre_diff_code: "std::vector< int,std::allocator< int > >", n_sectors: "unsigned int") -> "gr::digital::constellation_psk::sptr":
    r"""constellation_psk_make(pmt_vector_cfloat constell, std::vector< int,std::allocator< int > > pre_diff_code, unsigned int n_sectors) -> gr::digital::constellation_psk::sptr"""
    return _trellis_swig0.constellation_psk_make(constell, pre_diff_code, n_sectors)

class constellation_bpsk(constellation):
    r"""Proxy of C++ gr::digital::constellation_bpsk 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")
    __repr__ = _swig_repr

    @staticmethod
    def make() -> "gr::digital::constellation_bpsk::sptr":
        r"""make() -> gr::digital::constellation_bpsk::sptr"""
        return _trellis_swig0.constellation_bpsk_make()
    __swig_destroy__ = _trellis_swig0.delete_constellation_bpsk

# Register constellation_bpsk in _trellis_swig0:
_trellis_swig0.constellation_bpsk_swigregister(constellation_bpsk)

def constellation_bpsk_make() -> "gr::digital::constellation_bpsk::sptr":
    r"""constellation_bpsk_make() -> gr::digital::constellation_bpsk::sptr"""
    return _trellis_swig0.constellation_bpsk_make()

class constellation_qpsk(constellation):
    r"""Proxy of C++ gr::digital::constellation_qpsk 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")
    __repr__ = _swig_repr

    @staticmethod
    def make() -> "gr::digital::constellation_qpsk::sptr":
        r"""make() -> gr::digital::constellation_qpsk::sptr"""
        return _trellis_swig0.constellation_qpsk_make()
    __swig_destroy__ = _trellis_swig0.delete_constellation_qpsk

# Register constellation_qpsk in _trellis_swig0:
_trellis_swig0.constellation_qpsk_swigregister(constellation_qpsk)

def constellation_qpsk_make() -> "gr::digital::constellation_qpsk::sptr":
    r"""constellation_qpsk_make() -> gr::digital::constellation_qpsk::sptr"""
    return _trellis_swig0.constellation_qpsk_make()

class constellation_dqpsk(constellation):
    r"""Proxy of C++ gr::digital::constellation_dqpsk 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")
    __repr__ = _swig_repr

    @staticmethod
    def make() -> "gr::digital::constellation_dqpsk::sptr":
        r"""make() -> gr::digital::constellation_dqpsk::sptr"""
        return _trellis_swig0.constellation_dqpsk_make()
    __swig_destroy__ = _trellis_swig0.delete_constellation_dqpsk

# Register constellation_dqpsk in _trellis_swig0:
_trellis_swig0.constellation_dqpsk_swigregister(constellation_dqpsk)

def constellation_dqpsk_make() -> "gr::digital::constellation_dqpsk::sptr":
    r"""constellation_dqpsk_make() -> gr::digital::constellation_dqpsk::sptr"""
    return _trellis_swig0.constellation_dqpsk_make()

class constellation_8psk(constellation):
    r"""Proxy of C++ gr::digital::constellation_8psk 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")
    __repr__ = _swig_repr

    @staticmethod
    def make() -> "gr::digital::constellation_8psk::sptr":
        r"""make() -> gr::digital::constellation_8psk::sptr"""
        return _trellis_swig0.constellation_8psk_make()
    __swig_destroy__ = _trellis_swig0.delete_constellation_8psk

# Register constellation_8psk in _trellis_swig0:
_trellis_swig0.constellation_8psk_swigregister(constellation_8psk)

def constellation_8psk_make() -> "gr::digital::constellation_8psk::sptr":
    r"""constellation_8psk_make() -> gr::digital::constellation_8psk::sptr"""
    return _trellis_swig0.constellation_8psk_make()

class constellation_8psk_natural(constellation):
    r"""Proxy of C++ gr::digital::constellation_8psk_natural 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")
    __repr__ = _swig_repr

    @staticmethod
    def make() -> "gr::digital::constellation_8psk_natural::sptr":
        r"""make() -> gr::digital::constellation_8psk_natural::sptr"""
        return _trellis_swig0.constellation_8psk_natural_make()
    __swig_destroy__ = _trellis_swig0.delete_constellation_8psk_natural

# Register constellation_8psk_natural in _trellis_swig0:
_trellis_swig0.constellation_8psk_natural_swigregister(constellation_8psk_natural)

def constellation_8psk_natural_make() -> "gr::digital::constellation_8psk_natural::sptr":
    r"""constellation_8psk_natural_make() -> gr::digital::constellation_8psk_natural::sptr"""
    return _trellis_swig0.constellation_8psk_natural_make()

class constellation_16qam(constellation):
    r"""Proxy of C++ gr::digital::constellation_16qam 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")
    __repr__ = _swig_repr

    @staticmethod
    def make() -> "gr::digital::constellation_16qam::sptr":
        r"""make() -> gr::digital::constellation_16qam::sptr"""
        return _trellis_swig0.constellation_16qam_make()
    __swig_destroy__ = _trellis_swig0.delete_constellation_16qam

# Register constellation_16qam in _trellis_swig0:
_trellis_swig0.constellation_16qam_swigregister(constellation_16qam)

def constellation_16qam_make() -> "gr::digital::constellation_16qam::sptr":
    r"""constellation_16qam_make() -> gr::digital::constellation_16qam::sptr"""
    return _trellis_swig0.constellation_16qam_make()

TRELLIS_MIN_SUM = _trellis_swig0.TRELLIS_MIN_SUM

TRELLIS_SUM_PRODUCT = _trellis_swig0.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_swig0.fsm_swiginit(self, _trellis_swig0.new_fsm(*args))

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

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

    def O(self) -> "int":
        r"""O(fsm self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.fsm_write_fsm_txt(self, filename)
    __swig_destroy__ = _trellis_swig0.delete_fsm

# Register fsm in _trellis_swig0:
_trellis_swig0.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_swig0.interleaver_swiginit(self, _trellis_swig0.new_interleaver(*args))

    def K(self) -> "unsigned int":
        r"""K(interleaver self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.interleaver_DEINTER(self)

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

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

class constellation_metrics_cf(object):
    r"""Proxy of C++ gr::trellis::constellation_metrics_cf 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")
    __repr__ = _swig_repr

    @staticmethod
    def make(constellation: "gr::digital::constellation_sptr", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::constellation_metrics_cf::sptr":
        r"""make(gr::digital::constellation_sptr constellation, gr::digital::trellis_metric_type_t TYPE) -> constellation_metrics_cf_sptr"""
        return _trellis_swig0.constellation_metrics_cf_make(constellation, TYPE)
    __swig_destroy__ = _trellis_swig0.delete_constellation_metrics_cf

# Register constellation_metrics_cf in _trellis_swig0:
_trellis_swig0.constellation_metrics_cf_swigregister(constellation_metrics_cf)

def constellation_metrics_cf_make(constellation: "gr::digital::constellation_sptr", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::constellation_metrics_cf::sptr":
    r"""constellation_metrics_cf_make(gr::digital::constellation_sptr constellation, gr::digital::trellis_metric_type_t TYPE) -> constellation_metrics_cf_sptr"""
    return _trellis_swig0.constellation_metrics_cf_make(constellation, TYPE)

class permutation(object):
    r"""Proxy of C++ gr::trellis::permutation 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(K: "int", TABLE: "std::vector< int,std::allocator< int > > const &", SYMS_PER_BLOCK: "int", NBYTES: "size_t") -> "gr::trellis::permutation::sptr":
        r"""make(int K, std::vector< int,std::allocator< int > > const & TABLE, int SYMS_PER_BLOCK, size_t NBYTES) -> permutation_sptr"""
        return _trellis_swig0.permutation_make(K, TABLE, SYMS_PER_BLOCK, NBYTES)

    def K(self) -> "int":
        r"""K(permutation self) -> int"""
        return _trellis_swig0.permutation_K(self)

    def TABLE(self) -> "std::vector< int,std::allocator< int > >":
        r"""TABLE(permutation self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.permutation_TABLE(self)

    def SYMS_PER_BLOCK(self) -> "int":
        r"""SYMS_PER_BLOCK(permutation self) -> int"""
        return _trellis_swig0.permutation_SYMS_PER_BLOCK(self)

    def BYTES_PER_SYMBOL(self) -> "size_t":
        r"""BYTES_PER_SYMBOL(permutation self) -> size_t"""
        return _trellis_swig0.permutation_BYTES_PER_SYMBOL(self)

    def set_K(self, K: "int") -> "void":
        r"""set_K(permutation self, int K)"""
        return _trellis_swig0.permutation_set_K(self, K)

    def set_TABLE(self, table: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_TABLE(permutation self, std::vector< int,std::allocator< int > > const & table)"""
        return _trellis_swig0.permutation_set_TABLE(self, table)

    def set_SYMS_PER_BLOCK(self, spb: "int") -> "void":
        r"""set_SYMS_PER_BLOCK(permutation self, int spb)"""
        return _trellis_swig0.permutation_set_SYMS_PER_BLOCK(self, spb)
    __swig_destroy__ = _trellis_swig0.delete_permutation

# Register permutation in _trellis_swig0:
_trellis_swig0.permutation_swigregister(permutation)

def permutation_make(K: "int", TABLE: "std::vector< int,std::allocator< int > > const &", SYMS_PER_BLOCK: "int", NBYTES: "size_t") -> "gr::trellis::permutation::sptr":
    r"""permutation_make(int K, std::vector< int,std::allocator< int > > const & TABLE, int SYMS_PER_BLOCK, size_t NBYTES) -> permutation_sptr"""
    return _trellis_swig0.permutation_make(K, TABLE, SYMS_PER_BLOCK, NBYTES)

class siso_combined_f(object):
    r"""Proxy of C++ gr::trellis::siso_combined_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", D: "int", TABLE: "pmt_vector_float", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::siso_combined_f::sptr":
        r"""make(fsm FSM, int K, int S0, int SK, bool POSTI, bool POSTO, gr::trellis::siso_type_t d_SISO_TYPE, int D, pmt_vector_float TABLE, gr::digital::trellis_metric_type_t TYPE) -> siso_combined_f_sptr"""
        return _trellis_swig0.siso_combined_f_make(FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE, D, TABLE, TYPE)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(siso_combined_f self) -> fsm"""
        return _trellis_swig0.siso_combined_f_FSM(self)

    def K(self) -> "int":
        r"""K(siso_combined_f self) -> int"""
        return _trellis_swig0.siso_combined_f_K(self)

    def S0(self) -> "int":
        r"""S0(siso_combined_f self) -> int"""
        return _trellis_swig0.siso_combined_f_S0(self)

    def SK(self) -> "int":
        r"""SK(siso_combined_f self) -> int"""
        return _trellis_swig0.siso_combined_f_SK(self)

    def POSTI(self) -> "bool":
        r"""POSTI(siso_combined_f self) -> bool"""
        return _trellis_swig0.siso_combined_f_POSTI(self)

    def POSTO(self) -> "bool":
        r"""POSTO(siso_combined_f self) -> bool"""
        return _trellis_swig0.siso_combined_f_POSTO(self)

    def SISO_TYPE(self) -> "gr::trellis::siso_type_t":
        r"""SISO_TYPE(siso_combined_f self) -> gr::trellis::siso_type_t"""
        return _trellis_swig0.siso_combined_f_SISO_TYPE(self)

    def D(self) -> "int":
        r"""D(siso_combined_f self) -> int"""
        return _trellis_swig0.siso_combined_f_D(self)

    def TABLE(self) -> "std::vector< float,std::allocator< float > >":
        r"""TABLE(siso_combined_f self) -> pmt_vector_float"""
        return _trellis_swig0.siso_combined_f_TABLE(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(siso_combined_f self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig0.siso_combined_f_TYPE(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(siso_combined_f self, fsm FSM)"""
        return _trellis_swig0.siso_combined_f_set_FSM(self, FSM)

    def set_K(self, K: "int") -> "void":
        r"""set_K(siso_combined_f self, int K)"""
        return _trellis_swig0.siso_combined_f_set_K(self, K)

    def set_S0(self, S0: "int") -> "void":
        r"""set_S0(siso_combined_f self, int S0)"""
        return _trellis_swig0.siso_combined_f_set_S0(self, S0)

    def set_SK(self, SK: "int") -> "void":
        r"""set_SK(siso_combined_f self, int SK)"""
        return _trellis_swig0.siso_combined_f_set_SK(self, SK)

    def set_POSTI(self, POSTI: "bool") -> "void":
        r"""set_POSTI(siso_combined_f self, bool POSTI)"""
        return _trellis_swig0.siso_combined_f_set_POSTI(self, POSTI)

    def set_POSTO(self, POSTO: "bool") -> "void":
        r"""set_POSTO(siso_combined_f self, bool POSTO)"""
        return _trellis_swig0.siso_combined_f_set_POSTO(self, POSTO)

    def set_SISO_TYPE(self, type: "gr::trellis::siso_type_t") -> "void":
        r"""set_SISO_TYPE(siso_combined_f self, gr::trellis::siso_type_t type)"""
        return _trellis_swig0.siso_combined_f_set_SISO_TYPE(self, type)

    def set_D(self, D: "int") -> "void":
        r"""set_D(siso_combined_f self, int D)"""
        return _trellis_swig0.siso_combined_f_set_D(self, D)

    def set_TABLE(self, table: "pmt_vector_float") -> "void":
        r"""set_TABLE(siso_combined_f self, pmt_vector_float table)"""
        return _trellis_swig0.siso_combined_f_set_TABLE(self, table)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(siso_combined_f self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig0.siso_combined_f_set_TYPE(self, type)
    __swig_destroy__ = _trellis_swig0.delete_siso_combined_f

# Register siso_combined_f in _trellis_swig0:
_trellis_swig0.siso_combined_f_swigregister(siso_combined_f)

def siso_combined_f_make(FSM: "fsm", K: "int", S0: "int", SK: "int", POSTI: "bool", POSTO: "bool", d_SISO_TYPE: "gr::trellis::siso_type_t", D: "int", TABLE: "pmt_vector_float", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::siso_combined_f::sptr":
    r"""siso_combined_f_make(fsm FSM, int K, int S0, int SK, bool POSTI, bool POSTO, gr::trellis::siso_type_t d_SISO_TYPE, int D, pmt_vector_float TABLE, gr::digital::trellis_metric_type_t TYPE) -> siso_combined_f_sptr"""
    return _trellis_swig0.siso_combined_f_make(FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE, D, TABLE, TYPE)

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) -> siso_f_sptr"""
        return _trellis_swig0.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_swig0.siso_f_FSM(self)

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

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

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

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

    def POSTO(self) -> "bool":
        r"""POSTO(siso_f self) -> bool"""
        return _trellis_swig0.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_swig0.siso_f_SISO_TYPE(self)

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

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

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

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

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

    def set_POSTO(self, posto: "bool") -> "void":
        r"""set_POSTO(siso_f self, bool posto)"""
        return _trellis_swig0.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_swig0.siso_f_set_SISO_TYPE(self, type)
    __swig_destroy__ = _trellis_swig0.delete_siso_f

# Register siso_f in _trellis_swig0:
_trellis_swig0.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) -> siso_f_sptr"""
    return _trellis_swig0.siso_f_make(FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE)

class constellation_metrics_cf_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::constellation_metrics_cf > 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__(constellation_metrics_cf_sptr self) -> constellation_metrics_cf_sptr
        __init__(constellation_metrics_cf_sptr self, constellation_metrics_cf p) -> constellation_metrics_cf_sptr
        """
        _trellis_swig0.constellation_metrics_cf_sptr_swiginit(self, _trellis_swig0.new_constellation_metrics_cf_sptr(*args))

    def __deref__(self) -> "gr::trellis::constellation_metrics_cf *":
        r"""__deref__(constellation_metrics_cf_sptr self) -> constellation_metrics_cf"""
        return _trellis_swig0.constellation_metrics_cf_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_constellation_metrics_cf_sptr

    def make(self, constellation: "gr::digital::constellation_sptr", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::constellation_metrics_cf::sptr":
        r"""make(constellation_metrics_cf_sptr self, gr::digital::constellation_sptr constellation, gr::digital::trellis_metric_type_t TYPE) -> constellation_metrics_cf_sptr"""
        return _trellis_swig0.constellation_metrics_cf_sptr_make(self, constellation, TYPE)

    def history(self) -> "unsigned int":
        r"""history(constellation_metrics_cf_sptr self) -> unsigned int"""
        return _trellis_swig0.constellation_metrics_cf_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(constellation_metrics_cf_sptr self, int which, int delay)
        declare_sample_delay(constellation_metrics_cf_sptr self, unsigned int delay)
        """
        return _trellis_swig0.constellation_metrics_cf_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(constellation_metrics_cf_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.constellation_metrics_cf_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(constellation_metrics_cf_sptr self, int multiple)"""
        return _trellis_swig0.constellation_metrics_cf_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(constellation_metrics_cf_sptr self) -> int"""
        return _trellis_swig0.constellation_metrics_cf_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(constellation_metrics_cf_sptr self) -> double"""
        return _trellis_swig0.constellation_metrics_cf_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(constellation_metrics_cf_sptr self) -> uint64_t"""
        return _trellis_swig0.constellation_metrics_cf_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(constellation_metrics_cf_sptr self) -> uint64_t"""
        return _trellis_swig0.constellation_metrics_cf_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(constellation_metrics_cf_sptr self) -> bool"""
        return _trellis_swig0.constellation_metrics_cf_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(constellation_metrics_cf_sptr self) -> bool"""
        return _trellis_swig0.constellation_metrics_cf_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(constellation_metrics_cf_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.constellation_metrics_cf_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(constellation_metrics_cf_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.constellation_metrics_cf_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(constellation_metrics_cf_sptr self, std::string level)"""
        return _trellis_swig0.constellation_metrics_cf_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(constellation_metrics_cf_sptr self) -> std::string"""
        return _trellis_swig0.constellation_metrics_cf_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(constellation_metrics_cf_sptr self) -> int"""
        return _trellis_swig0.constellation_metrics_cf_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(constellation_metrics_cf_sptr self, int m)"""
        return _trellis_swig0.constellation_metrics_cf_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(constellation_metrics_cf_sptr self)"""
        return _trellis_swig0.constellation_metrics_cf_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(constellation_metrics_cf_sptr self) -> bool"""
        return _trellis_swig0.constellation_metrics_cf_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(constellation_metrics_cf_sptr self, int m)"""
        return _trellis_swig0.constellation_metrics_cf_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(constellation_metrics_cf_sptr self) -> int"""
        return _trellis_swig0.constellation_metrics_cf_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(constellation_metrics_cf_sptr self, int i) -> long"""
        return _trellis_swig0.constellation_metrics_cf_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(constellation_metrics_cf_sptr self, long max_output_buffer)
        set_max_output_buffer(constellation_metrics_cf_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.constellation_metrics_cf_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(constellation_metrics_cf_sptr self, int i) -> long"""
        return _trellis_swig0.constellation_metrics_cf_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(constellation_metrics_cf_sptr self, long min_output_buffer)
        set_min_output_buffer(constellation_metrics_cf_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.constellation_metrics_cf_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(constellation_metrics_cf_sptr self, int which) -> float
        pc_input_buffers_full(constellation_metrics_cf_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.constellation_metrics_cf_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(constellation_metrics_cf_sptr self, int which) -> float
        pc_input_buffers_full_avg(constellation_metrics_cf_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.constellation_metrics_cf_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(constellation_metrics_cf_sptr self, int which) -> float
        pc_input_buffers_full_var(constellation_metrics_cf_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.constellation_metrics_cf_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(constellation_metrics_cf_sptr self, int which) -> float
        pc_output_buffers_full(constellation_metrics_cf_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.constellation_metrics_cf_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(constellation_metrics_cf_sptr self, int which) -> float
        pc_output_buffers_full_avg(constellation_metrics_cf_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.constellation_metrics_cf_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(constellation_metrics_cf_sptr self, int which) -> float
        pc_output_buffers_full_var(constellation_metrics_cf_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(constellation_metrics_cf_sptr self) -> float"""
        return _trellis_swig0.constellation_metrics_cf_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(constellation_metrics_cf_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.constellation_metrics_cf_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(constellation_metrics_cf_sptr self)"""
        return _trellis_swig0.constellation_metrics_cf_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(constellation_metrics_cf_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.constellation_metrics_cf_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(constellation_metrics_cf_sptr self) -> int"""
        return _trellis_swig0.constellation_metrics_cf_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(constellation_metrics_cf_sptr self) -> int"""
        return _trellis_swig0.constellation_metrics_cf_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(constellation_metrics_cf_sptr self, int priority) -> int"""
        return _trellis_swig0.constellation_metrics_cf_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(constellation_metrics_cf_sptr self) -> std::string"""
        return _trellis_swig0.constellation_metrics_cf_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(constellation_metrics_cf_sptr self) -> std::string"""
        return _trellis_swig0.constellation_metrics_cf_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(constellation_metrics_cf_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.constellation_metrics_cf_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(constellation_metrics_cf_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.constellation_metrics_cf_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(constellation_metrics_cf_sptr self) -> long"""
        return _trellis_swig0.constellation_metrics_cf_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(constellation_metrics_cf_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.constellation_metrics_cf_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(constellation_metrics_cf_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.constellation_metrics_cf_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(constellation_metrics_cf_sptr self) -> std::string"""
        return _trellis_swig0.constellation_metrics_cf_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(constellation_metrics_cf_sptr self, std::string name)"""
        return _trellis_swig0.constellation_metrics_cf_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(constellation_metrics_cf_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.constellation_metrics_cf_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(constellation_metrics_cf_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.constellation_metrics_cf_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(constellation_metrics_cf_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.constellation_metrics_cf_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(constellation_metrics_cf_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.constellation_metrics_cf_sptr_message_subscribers(self, which_port)

# Register constellation_metrics_cf_sptr in _trellis_swig0:
_trellis_swig0.constellation_metrics_cf_sptr_swigregister(constellation_metrics_cf_sptr)


constellation_metrics_cf_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
constellation_metrics_cf = constellation_metrics_cf.make;

class permutation_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::permutation > 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__(permutation_sptr self) -> permutation_sptr
        __init__(permutation_sptr self, permutation p) -> permutation_sptr
        """
        _trellis_swig0.permutation_sptr_swiginit(self, _trellis_swig0.new_permutation_sptr(*args))

    def __deref__(self) -> "gr::trellis::permutation *":
        r"""__deref__(permutation_sptr self) -> permutation"""
        return _trellis_swig0.permutation_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_permutation_sptr

    def make(self, K: "int", TABLE: "std::vector< int,std::allocator< int > > const &", SYMS_PER_BLOCK: "int", NBYTES: "size_t") -> "gr::trellis::permutation::sptr":
        r"""make(permutation_sptr self, int K, std::vector< int,std::allocator< int > > const & TABLE, int SYMS_PER_BLOCK, size_t NBYTES) -> permutation_sptr"""
        return _trellis_swig0.permutation_sptr_make(self, K, TABLE, SYMS_PER_BLOCK, NBYTES)

    def K(self) -> "int":
        r"""K(permutation_sptr self) -> int"""
        return _trellis_swig0.permutation_sptr_K(self)

    def TABLE(self) -> "std::vector< int,std::allocator< int > >":
        r"""TABLE(permutation_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.permutation_sptr_TABLE(self)

    def SYMS_PER_BLOCK(self) -> "int":
        r"""SYMS_PER_BLOCK(permutation_sptr self) -> int"""
        return _trellis_swig0.permutation_sptr_SYMS_PER_BLOCK(self)

    def BYTES_PER_SYMBOL(self) -> "size_t":
        r"""BYTES_PER_SYMBOL(permutation_sptr self) -> size_t"""
        return _trellis_swig0.permutation_sptr_BYTES_PER_SYMBOL(self)

    def set_K(self, K: "int") -> "void":
        r"""set_K(permutation_sptr self, int K)"""
        return _trellis_swig0.permutation_sptr_set_K(self, K)

    def set_TABLE(self, table: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_TABLE(permutation_sptr self, std::vector< int,std::allocator< int > > const & table)"""
        return _trellis_swig0.permutation_sptr_set_TABLE(self, table)

    def set_SYMS_PER_BLOCK(self, spb: "int") -> "void":
        r"""set_SYMS_PER_BLOCK(permutation_sptr self, int spb)"""
        return _trellis_swig0.permutation_sptr_set_SYMS_PER_BLOCK(self, spb)

    def history(self) -> "unsigned int":
        r"""history(permutation_sptr self) -> unsigned int"""
        return _trellis_swig0.permutation_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(permutation_sptr self, int which, int delay)
        declare_sample_delay(permutation_sptr self, unsigned int delay)
        """
        return _trellis_swig0.permutation_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(permutation_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.permutation_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(permutation_sptr self, int multiple)"""
        return _trellis_swig0.permutation_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(permutation_sptr self) -> int"""
        return _trellis_swig0.permutation_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(permutation_sptr self) -> double"""
        return _trellis_swig0.permutation_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(permutation_sptr self) -> uint64_t"""
        return _trellis_swig0.permutation_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(permutation_sptr self) -> uint64_t"""
        return _trellis_swig0.permutation_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(permutation_sptr self) -> bool"""
        return _trellis_swig0.permutation_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(permutation_sptr self) -> bool"""
        return _trellis_swig0.permutation_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(permutation_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.permutation_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(permutation_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.permutation_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(permutation_sptr self, std::string level)"""
        return _trellis_swig0.permutation_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(permutation_sptr self) -> std::string"""
        return _trellis_swig0.permutation_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(permutation_sptr self) -> int"""
        return _trellis_swig0.permutation_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(permutation_sptr self, int m)"""
        return _trellis_swig0.permutation_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(permutation_sptr self)"""
        return _trellis_swig0.permutation_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(permutation_sptr self) -> bool"""
        return _trellis_swig0.permutation_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(permutation_sptr self, int m)"""
        return _trellis_swig0.permutation_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(permutation_sptr self) -> int"""
        return _trellis_swig0.permutation_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(permutation_sptr self, int i) -> long"""
        return _trellis_swig0.permutation_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(permutation_sptr self, long max_output_buffer)
        set_max_output_buffer(permutation_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.permutation_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(permutation_sptr self, int i) -> long"""
        return _trellis_swig0.permutation_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(permutation_sptr self, long min_output_buffer)
        set_min_output_buffer(permutation_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.permutation_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(permutation_sptr self, int which) -> float
        pc_input_buffers_full(permutation_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.permutation_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(permutation_sptr self, int which) -> float
        pc_input_buffers_full_avg(permutation_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.permutation_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(permutation_sptr self, int which) -> float
        pc_input_buffers_full_var(permutation_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.permutation_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(permutation_sptr self, int which) -> float
        pc_output_buffers_full(permutation_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.permutation_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(permutation_sptr self, int which) -> float
        pc_output_buffers_full_avg(permutation_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.permutation_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(permutation_sptr self, int which) -> float
        pc_output_buffers_full_var(permutation_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.permutation_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(permutation_sptr self) -> float"""
        return _trellis_swig0.permutation_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(permutation_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.permutation_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(permutation_sptr self)"""
        return _trellis_swig0.permutation_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(permutation_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.permutation_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(permutation_sptr self) -> int"""
        return _trellis_swig0.permutation_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(permutation_sptr self) -> int"""
        return _trellis_swig0.permutation_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(permutation_sptr self, int priority) -> int"""
        return _trellis_swig0.permutation_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(permutation_sptr self) -> std::string"""
        return _trellis_swig0.permutation_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(permutation_sptr self) -> std::string"""
        return _trellis_swig0.permutation_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(permutation_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.permutation_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(permutation_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.permutation_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(permutation_sptr self) -> long"""
        return _trellis_swig0.permutation_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(permutation_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.permutation_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(permutation_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.permutation_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(permutation_sptr self) -> std::string"""
        return _trellis_swig0.permutation_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(permutation_sptr self, std::string name)"""
        return _trellis_swig0.permutation_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(permutation_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.permutation_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(permutation_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.permutation_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(permutation_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.permutation_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(permutation_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.permutation_sptr_message_subscribers(self, which_port)

# Register permutation_sptr in _trellis_swig0:
_trellis_swig0.permutation_sptr_swigregister(permutation_sptr)


permutation_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
permutation = permutation.make;

class siso_combined_f_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::siso_combined_f > 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__(siso_combined_f_sptr self) -> siso_combined_f_sptr
        __init__(siso_combined_f_sptr self, siso_combined_f p) -> siso_combined_f_sptr
        """
        _trellis_swig0.siso_combined_f_sptr_swiginit(self, _trellis_swig0.new_siso_combined_f_sptr(*args))

    def __deref__(self) -> "gr::trellis::siso_combined_f *":
        r"""__deref__(siso_combined_f_sptr self) -> siso_combined_f"""
        return _trellis_swig0.siso_combined_f_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_siso_combined_f_sptr

    def make(self, FSM: "fsm", K: "int", S0: "int", SK: "int", POSTI: "bool", POSTO: "bool", d_SISO_TYPE: "gr::trellis::siso_type_t", D: "int", TABLE: "pmt_vector_float", TYPE: "gr::digital::trellis_metric_type_t") -> "gr::trellis::siso_combined_f::sptr":
        r"""make(siso_combined_f_sptr self, fsm FSM, int K, int S0, int SK, bool POSTI, bool POSTO, gr::trellis::siso_type_t d_SISO_TYPE, int D, pmt_vector_float TABLE, gr::digital::trellis_metric_type_t TYPE) -> siso_combined_f_sptr"""
        return _trellis_swig0.siso_combined_f_sptr_make(self, FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE, D, TABLE, TYPE)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(siso_combined_f_sptr self) -> fsm"""
        return _trellis_swig0.siso_combined_f_sptr_FSM(self)

    def K(self) -> "int":
        r"""K(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_K(self)

    def S0(self) -> "int":
        r"""S0(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_S0(self)

    def SK(self) -> "int":
        r"""SK(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_SK(self)

    def POSTI(self) -> "bool":
        r"""POSTI(siso_combined_f_sptr self) -> bool"""
        return _trellis_swig0.siso_combined_f_sptr_POSTI(self)

    def POSTO(self) -> "bool":
        r"""POSTO(siso_combined_f_sptr self) -> bool"""
        return _trellis_swig0.siso_combined_f_sptr_POSTO(self)

    def SISO_TYPE(self) -> "gr::trellis::siso_type_t":
        r"""SISO_TYPE(siso_combined_f_sptr self) -> gr::trellis::siso_type_t"""
        return _trellis_swig0.siso_combined_f_sptr_SISO_TYPE(self)

    def D(self) -> "int":
        r"""D(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_D(self)

    def TABLE(self) -> "std::vector< float,std::allocator< float > >":
        r"""TABLE(siso_combined_f_sptr self) -> pmt_vector_float"""
        return _trellis_swig0.siso_combined_f_sptr_TABLE(self)

    def TYPE(self) -> "gr::digital::trellis_metric_type_t":
        r"""TYPE(siso_combined_f_sptr self) -> gr::digital::trellis_metric_type_t"""
        return _trellis_swig0.siso_combined_f_sptr_TYPE(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(siso_combined_f_sptr self, fsm FSM)"""
        return _trellis_swig0.siso_combined_f_sptr_set_FSM(self, FSM)

    def set_K(self, K: "int") -> "void":
        r"""set_K(siso_combined_f_sptr self, int K)"""
        return _trellis_swig0.siso_combined_f_sptr_set_K(self, K)

    def set_S0(self, S0: "int") -> "void":
        r"""set_S0(siso_combined_f_sptr self, int S0)"""
        return _trellis_swig0.siso_combined_f_sptr_set_S0(self, S0)

    def set_SK(self, SK: "int") -> "void":
        r"""set_SK(siso_combined_f_sptr self, int SK)"""
        return _trellis_swig0.siso_combined_f_sptr_set_SK(self, SK)

    def set_POSTI(self, POSTI: "bool") -> "void":
        r"""set_POSTI(siso_combined_f_sptr self, bool POSTI)"""
        return _trellis_swig0.siso_combined_f_sptr_set_POSTI(self, POSTI)

    def set_POSTO(self, POSTO: "bool") -> "void":
        r"""set_POSTO(siso_combined_f_sptr self, bool POSTO)"""
        return _trellis_swig0.siso_combined_f_sptr_set_POSTO(self, POSTO)

    def set_SISO_TYPE(self, type: "gr::trellis::siso_type_t") -> "void":
        r"""set_SISO_TYPE(siso_combined_f_sptr self, gr::trellis::siso_type_t type)"""
        return _trellis_swig0.siso_combined_f_sptr_set_SISO_TYPE(self, type)

    def set_D(self, D: "int") -> "void":
        r"""set_D(siso_combined_f_sptr self, int D)"""
        return _trellis_swig0.siso_combined_f_sptr_set_D(self, D)

    def set_TABLE(self, table: "pmt_vector_float") -> "void":
        r"""set_TABLE(siso_combined_f_sptr self, pmt_vector_float table)"""
        return _trellis_swig0.siso_combined_f_sptr_set_TABLE(self, table)

    def set_TYPE(self, type: "gr::digital::trellis_metric_type_t") -> "void":
        r"""set_TYPE(siso_combined_f_sptr self, gr::digital::trellis_metric_type_t type)"""
        return _trellis_swig0.siso_combined_f_sptr_set_TYPE(self, type)

    def history(self) -> "unsigned int":
        r"""history(siso_combined_f_sptr self) -> unsigned int"""
        return _trellis_swig0.siso_combined_f_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(siso_combined_f_sptr self, int which, int delay)
        declare_sample_delay(siso_combined_f_sptr self, unsigned int delay)
        """
        return _trellis_swig0.siso_combined_f_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(siso_combined_f_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.siso_combined_f_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(siso_combined_f_sptr self, int multiple)"""
        return _trellis_swig0.siso_combined_f_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(siso_combined_f_sptr self) -> double"""
        return _trellis_swig0.siso_combined_f_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(siso_combined_f_sptr self) -> uint64_t"""
        return _trellis_swig0.siso_combined_f_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(siso_combined_f_sptr self) -> uint64_t"""
        return _trellis_swig0.siso_combined_f_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(siso_combined_f_sptr self) -> bool"""
        return _trellis_swig0.siso_combined_f_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(siso_combined_f_sptr self) -> bool"""
        return _trellis_swig0.siso_combined_f_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(siso_combined_f_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.siso_combined_f_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(siso_combined_f_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.siso_combined_f_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(siso_combined_f_sptr self, std::string level)"""
        return _trellis_swig0.siso_combined_f_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(siso_combined_f_sptr self) -> std::string"""
        return _trellis_swig0.siso_combined_f_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(siso_combined_f_sptr self, int m)"""
        return _trellis_swig0.siso_combined_f_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(siso_combined_f_sptr self)"""
        return _trellis_swig0.siso_combined_f_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(siso_combined_f_sptr self) -> bool"""
        return _trellis_swig0.siso_combined_f_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(siso_combined_f_sptr self, int m)"""
        return _trellis_swig0.siso_combined_f_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(siso_combined_f_sptr self, int i) -> long"""
        return _trellis_swig0.siso_combined_f_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(siso_combined_f_sptr self, long max_output_buffer)
        set_max_output_buffer(siso_combined_f_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.siso_combined_f_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(siso_combined_f_sptr self, int i) -> long"""
        return _trellis_swig0.siso_combined_f_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(siso_combined_f_sptr self, long min_output_buffer)
        set_min_output_buffer(siso_combined_f_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.siso_combined_f_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(siso_combined_f_sptr self, int which) -> float
        pc_input_buffers_full(siso_combined_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_combined_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(siso_combined_f_sptr self, int which) -> float
        pc_input_buffers_full_avg(siso_combined_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_combined_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(siso_combined_f_sptr self, int which) -> float
        pc_input_buffers_full_var(siso_combined_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_combined_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(siso_combined_f_sptr self, int which) -> float
        pc_output_buffers_full(siso_combined_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_combined_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(siso_combined_f_sptr self, int which) -> float
        pc_output_buffers_full_avg(siso_combined_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_combined_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(siso_combined_f_sptr self, int which) -> float
        pc_output_buffers_full_var(siso_combined_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_combined_f_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(siso_combined_f_sptr self) -> float"""
        return _trellis_swig0.siso_combined_f_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(siso_combined_f_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.siso_combined_f_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(siso_combined_f_sptr self)"""
        return _trellis_swig0.siso_combined_f_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(siso_combined_f_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.siso_combined_f_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(siso_combined_f_sptr self) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(siso_combined_f_sptr self, int priority) -> int"""
        return _trellis_swig0.siso_combined_f_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(siso_combined_f_sptr self) -> std::string"""
        return _trellis_swig0.siso_combined_f_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(siso_combined_f_sptr self) -> std::string"""
        return _trellis_swig0.siso_combined_f_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(siso_combined_f_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.siso_combined_f_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(siso_combined_f_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.siso_combined_f_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(siso_combined_f_sptr self) -> long"""
        return _trellis_swig0.siso_combined_f_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(siso_combined_f_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.siso_combined_f_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(siso_combined_f_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.siso_combined_f_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(siso_combined_f_sptr self) -> std::string"""
        return _trellis_swig0.siso_combined_f_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(siso_combined_f_sptr self, std::string name)"""
        return _trellis_swig0.siso_combined_f_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(siso_combined_f_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.siso_combined_f_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(siso_combined_f_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.siso_combined_f_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(siso_combined_f_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.siso_combined_f_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(siso_combined_f_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.siso_combined_f_sptr_message_subscribers(self, which_port)

# Register siso_combined_f_sptr in _trellis_swig0:
_trellis_swig0.siso_combined_f_sptr_swigregister(siso_combined_f_sptr)


siso_combined_f_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
siso_combined_f = siso_combined_f.make;

class siso_f_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::siso_f > 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__(siso_f_sptr self) -> siso_f_sptr
        __init__(siso_f_sptr self, siso_f p) -> siso_f_sptr
        """
        _trellis_swig0.siso_f_sptr_swiginit(self, _trellis_swig0.new_siso_f_sptr(*args))

    def __deref__(self) -> "gr::trellis::siso_f *":
        r"""__deref__(siso_f_sptr self) -> siso_f"""
        return _trellis_swig0.siso_f_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_siso_f_sptr

    def make(self, 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(siso_f_sptr self, fsm FSM, int K, int S0, int SK, bool POSTI, bool POSTO, gr::trellis::siso_type_t d_SISO_TYPE) -> siso_f_sptr"""
        return _trellis_swig0.siso_f_sptr_make(self, FSM, K, S0, SK, POSTI, POSTO, d_SISO_TYPE)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(siso_f_sptr self) -> fsm"""
        return _trellis_swig0.siso_f_sptr_FSM(self)

    def K(self) -> "int":
        r"""K(siso_f_sptr self) -> int"""
        return _trellis_swig0.siso_f_sptr_K(self)

    def S0(self) -> "int":
        r"""S0(siso_f_sptr self) -> int"""
        return _trellis_swig0.siso_f_sptr_S0(self)

    def SK(self) -> "int":
        r"""SK(siso_f_sptr self) -> int"""
        return _trellis_swig0.siso_f_sptr_SK(self)

    def POSTI(self) -> "bool":
        r"""POSTI(siso_f_sptr self) -> bool"""
        return _trellis_swig0.siso_f_sptr_POSTI(self)

    def POSTO(self) -> "bool":
        r"""POSTO(siso_f_sptr self) -> bool"""
        return _trellis_swig0.siso_f_sptr_POSTO(self)

    def SISO_TYPE(self) -> "gr::trellis::siso_type_t":
        r"""SISO_TYPE(siso_f_sptr self) -> gr::trellis::siso_type_t"""
        return _trellis_swig0.siso_f_sptr_SISO_TYPE(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(siso_f_sptr self, fsm FSM)"""
        return _trellis_swig0.siso_f_sptr_set_FSM(self, FSM)

    def set_K(self, K: "int") -> "void":
        r"""set_K(siso_f_sptr self, int K)"""
        return _trellis_swig0.siso_f_sptr_set_K(self, K)

    def set_S0(self, S0: "int") -> "void":
        r"""set_S0(siso_f_sptr self, int S0)"""
        return _trellis_swig0.siso_f_sptr_set_S0(self, S0)

    def set_SK(self, SK: "int") -> "void":
        r"""set_SK(siso_f_sptr self, int SK)"""
        return _trellis_swig0.siso_f_sptr_set_SK(self, SK)

    def set_POSTI(self, posti: "bool") -> "void":
        r"""set_POSTI(siso_f_sptr self, bool posti)"""
        return _trellis_swig0.siso_f_sptr_set_POSTI(self, posti)

    def set_POSTO(self, posto: "bool") -> "void":
        r"""set_POSTO(siso_f_sptr self, bool posto)"""
        return _trellis_swig0.siso_f_sptr_set_POSTO(self, posto)

    def set_SISO_TYPE(self, type: "gr::trellis::siso_type_t") -> "void":
        r"""set_SISO_TYPE(siso_f_sptr self, gr::trellis::siso_type_t type)"""
        return _trellis_swig0.siso_f_sptr_set_SISO_TYPE(self, type)

    def history(self) -> "unsigned int":
        r"""history(siso_f_sptr self) -> unsigned int"""
        return _trellis_swig0.siso_f_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(siso_f_sptr self, int which, int delay)
        declare_sample_delay(siso_f_sptr self, unsigned int delay)
        """
        return _trellis_swig0.siso_f_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(siso_f_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.siso_f_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(siso_f_sptr self, int multiple)"""
        return _trellis_swig0.siso_f_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(siso_f_sptr self) -> int"""
        return _trellis_swig0.siso_f_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(siso_f_sptr self) -> double"""
        return _trellis_swig0.siso_f_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(siso_f_sptr self) -> uint64_t"""
        return _trellis_swig0.siso_f_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(siso_f_sptr self) -> uint64_t"""
        return _trellis_swig0.siso_f_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(siso_f_sptr self) -> bool"""
        return _trellis_swig0.siso_f_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(siso_f_sptr self) -> bool"""
        return _trellis_swig0.siso_f_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(siso_f_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.siso_f_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(siso_f_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.siso_f_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(siso_f_sptr self, std::string level)"""
        return _trellis_swig0.siso_f_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(siso_f_sptr self) -> std::string"""
        return _trellis_swig0.siso_f_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(siso_f_sptr self) -> int"""
        return _trellis_swig0.siso_f_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(siso_f_sptr self, int m)"""
        return _trellis_swig0.siso_f_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(siso_f_sptr self)"""
        return _trellis_swig0.siso_f_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(siso_f_sptr self) -> bool"""
        return _trellis_swig0.siso_f_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(siso_f_sptr self, int m)"""
        return _trellis_swig0.siso_f_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(siso_f_sptr self) -> int"""
        return _trellis_swig0.siso_f_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(siso_f_sptr self, int i) -> long"""
        return _trellis_swig0.siso_f_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(siso_f_sptr self, long max_output_buffer)
        set_max_output_buffer(siso_f_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.siso_f_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(siso_f_sptr self, int i) -> long"""
        return _trellis_swig0.siso_f_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(siso_f_sptr self, long min_output_buffer)
        set_min_output_buffer(siso_f_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.siso_f_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_nproduced_var(self)

    def pc_input_buffers_full(self, *args) -> "std::vector< float,std::allocator< float > >":
        r"""
        pc_input_buffers_full(siso_f_sptr self, int which) -> float
        pc_input_buffers_full(siso_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_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(siso_f_sptr self, int which) -> float
        pc_input_buffers_full_avg(siso_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_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(siso_f_sptr self, int which) -> float
        pc_input_buffers_full_var(siso_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_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(siso_f_sptr self, int which) -> float
        pc_output_buffers_full(siso_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_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(siso_f_sptr self, int which) -> float
        pc_output_buffers_full_avg(siso_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_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(siso_f_sptr self, int which) -> float
        pc_output_buffers_full_var(siso_f_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.siso_f_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(siso_f_sptr self) -> float"""
        return _trellis_swig0.siso_f_sptr_pc_throughput_avg(self)

    def set_processor_affinity(self, mask: "std::vector< int,std::allocator< int > > const &") -> "void":
        r"""set_processor_affinity(siso_f_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.siso_f_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(siso_f_sptr self)"""
        return _trellis_swig0.siso_f_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(siso_f_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.siso_f_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(siso_f_sptr self) -> int"""
        return _trellis_swig0.siso_f_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(siso_f_sptr self) -> int"""
        return _trellis_swig0.siso_f_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(siso_f_sptr self, int priority) -> int"""
        return _trellis_swig0.siso_f_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(siso_f_sptr self) -> std::string"""
        return _trellis_swig0.siso_f_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(siso_f_sptr self) -> std::string"""
        return _trellis_swig0.siso_f_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(siso_f_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.siso_f_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(siso_f_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.siso_f_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(siso_f_sptr self) -> long"""
        return _trellis_swig0.siso_f_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(siso_f_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.siso_f_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(siso_f_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.siso_f_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(siso_f_sptr self) -> std::string"""
        return _trellis_swig0.siso_f_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(siso_f_sptr self, std::string name)"""
        return _trellis_swig0.siso_f_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(siso_f_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.siso_f_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(siso_f_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.siso_f_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(siso_f_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.siso_f_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(siso_f_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.siso_f_sptr_message_subscribers(self, which_port)

# Register siso_f_sptr in _trellis_swig0:
_trellis_swig0.siso_f_sptr_swigregister(siso_f_sptr)


siso_f_sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
siso_f = siso_f.make;

class encoder_bb(object):
    r"""Proxy of C++ gr::trellis::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(*args) -> "gr::trellis::encoder< unsigned char,unsigned char >::sptr":
        r"""
        make(fsm FSM, int ST) -> encoder_bb_sptr
        make(fsm FSM, int ST, int K) -> encoder_bb_sptr
        """
        return _trellis_swig0.encoder_bb_make(*args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_bb self) -> fsm"""
        return _trellis_swig0.encoder_bb_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_bb self) -> int"""
        return _trellis_swig0.encoder_bb_ST(self)

    def K(self) -> "int":
        r"""K(encoder_bb self) -> int"""
        return _trellis_swig0.encoder_bb_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_bb self, fsm FSM)"""
        return _trellis_swig0.encoder_bb_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_bb self, int ST)"""
        return _trellis_swig0.encoder_bb_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_bb self, int K)"""
        return _trellis_swig0.encoder_bb_set_K(self, K)
    __swig_destroy__ = _trellis_swig0.delete_encoder_bb

# Register encoder_bb in _trellis_swig0:
_trellis_swig0.encoder_bb_swigregister(encoder_bb)

def encoder_bb_make(*args) -> "gr::trellis::encoder< unsigned char,unsigned char >::sptr":
    r"""
    encoder_bb_make(fsm FSM, int ST) -> encoder_bb_sptr
    encoder_bb_make(fsm FSM, int ST, int K) -> encoder_bb_sptr
    """
    return _trellis_swig0.encoder_bb_make(*args)

class encoder_bb_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::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__(encoder_bb_sptr self) -> encoder_bb_sptr
        __init__(encoder_bb_sptr self, encoder_bb p) -> encoder_bb_sptr
        """
        _trellis_swig0.encoder_bb_sptr_swiginit(self, _trellis_swig0.new_encoder_bb_sptr(*args))

    def __deref__(self) -> "gr::trellis::encoder< std::uint8_t,std::uint8_t > *":
        r"""__deref__(encoder_bb_sptr self) -> encoder_bb"""
        return _trellis_swig0.encoder_bb_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_encoder_bb_sptr

    def make(self, *args) -> "gr::trellis::encoder< unsigned char,unsigned char >::sptr":
        r"""
        make(encoder_bb_sptr self, fsm FSM, int ST) -> encoder_bb_sptr
        make(encoder_bb_sptr self, fsm FSM, int ST, int K) -> encoder_bb_sptr
        """
        return _trellis_swig0.encoder_bb_sptr_make(self, *args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_bb_sptr self) -> fsm"""
        return _trellis_swig0.encoder_bb_sptr_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_bb_sptr self) -> int"""
        return _trellis_swig0.encoder_bb_sptr_ST(self)

    def K(self) -> "int":
        r"""K(encoder_bb_sptr self) -> int"""
        return _trellis_swig0.encoder_bb_sptr_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_bb_sptr self, fsm FSM)"""
        return _trellis_swig0.encoder_bb_sptr_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_bb_sptr self, int ST)"""
        return _trellis_swig0.encoder_bb_sptr_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_bb_sptr self, int K)"""
        return _trellis_swig0.encoder_bb_sptr_set_K(self, K)

    def history(self) -> "unsigned int":
        r"""history(encoder_bb_sptr self) -> unsigned int"""
        return _trellis_swig0.encoder_bb_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(encoder_bb_sptr self, int which, int delay)
        declare_sample_delay(encoder_bb_sptr self, unsigned int delay)
        """
        return _trellis_swig0.encoder_bb_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(encoder_bb_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.encoder_bb_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(encoder_bb_sptr self, int multiple)"""
        return _trellis_swig0.encoder_bb_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(encoder_bb_sptr self) -> int"""
        return _trellis_swig0.encoder_bb_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(encoder_bb_sptr self) -> double"""
        return _trellis_swig0.encoder_bb_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(encoder_bb_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_bb_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(encoder_bb_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_bb_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(encoder_bb_sptr self) -> bool"""
        return _trellis_swig0.encoder_bb_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(encoder_bb_sptr self) -> bool"""
        return _trellis_swig0.encoder_bb_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(encoder_bb_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.encoder_bb_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(encoder_bb_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.encoder_bb_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(encoder_bb_sptr self, std::string level)"""
        return _trellis_swig0.encoder_bb_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bb_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(encoder_bb_sptr self) -> int"""
        return _trellis_swig0.encoder_bb_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(encoder_bb_sptr self, int m)"""
        return _trellis_swig0.encoder_bb_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(encoder_bb_sptr self)"""
        return _trellis_swig0.encoder_bb_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(encoder_bb_sptr self) -> bool"""
        return _trellis_swig0.encoder_bb_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(encoder_bb_sptr self, int m)"""
        return _trellis_swig0.encoder_bb_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(encoder_bb_sptr self) -> int"""
        return _trellis_swig0.encoder_bb_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(encoder_bb_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_bb_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(encoder_bb_sptr self, long max_output_buffer)
        set_max_output_buffer(encoder_bb_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.encoder_bb_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(encoder_bb_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_bb_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(encoder_bb_sptr self, long min_output_buffer)
        set_min_output_buffer(encoder_bb_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.encoder_bb_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.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(encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full(encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full_avg(encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full_var(encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full(encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full_avg(encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full_var(encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.encoder_bb_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.encoder_bb_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(encoder_bb_sptr self) -> float"""
        return _trellis_swig0.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(encoder_bb_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.encoder_bb_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(encoder_bb_sptr self)"""
        return _trellis_swig0.encoder_bb_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(encoder_bb_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.encoder_bb_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(encoder_bb_sptr self) -> int"""
        return _trellis_swig0.encoder_bb_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(encoder_bb_sptr self) -> int"""
        return _trellis_swig0.encoder_bb_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(encoder_bb_sptr self, int priority) -> int"""
        return _trellis_swig0.encoder_bb_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bb_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bb_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(encoder_bb_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_bb_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(encoder_bb_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_bb_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(encoder_bb_sptr self) -> long"""
        return _trellis_swig0.encoder_bb_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(encoder_bb_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.encoder_bb_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(encoder_bb_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.encoder_bb_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bb_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(encoder_bb_sptr self, std::string name)"""
        return _trellis_swig0.encoder_bb_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(encoder_bb_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.encoder_bb_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(encoder_bb_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bb_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(encoder_bb_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bb_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(encoder_bb_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bb_sptr_message_subscribers(self, which_port)

# Register encoder_bb_sptr in _trellis_swig0:
_trellis_swig0.encoder_bb_sptr_swigregister(encoder_bb_sptr)


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

class encoder_bs(object):
    r"""Proxy of C++ gr::trellis::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(*args) -> "gr::trellis::encoder< unsigned char,short >::sptr":
        r"""
        make(fsm FSM, int ST) -> encoder_bs_sptr
        make(fsm FSM, int ST, int K) -> encoder_bs_sptr
        """
        return _trellis_swig0.encoder_bs_make(*args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_bs self) -> fsm"""
        return _trellis_swig0.encoder_bs_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_bs self) -> int"""
        return _trellis_swig0.encoder_bs_ST(self)

    def K(self) -> "int":
        r"""K(encoder_bs self) -> int"""
        return _trellis_swig0.encoder_bs_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_bs self, fsm FSM)"""
        return _trellis_swig0.encoder_bs_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_bs self, int ST)"""
        return _trellis_swig0.encoder_bs_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_bs self, int K)"""
        return _trellis_swig0.encoder_bs_set_K(self, K)
    __swig_destroy__ = _trellis_swig0.delete_encoder_bs

# Register encoder_bs in _trellis_swig0:
_trellis_swig0.encoder_bs_swigregister(encoder_bs)

def encoder_bs_make(*args) -> "gr::trellis::encoder< unsigned char,short >::sptr":
    r"""
    encoder_bs_make(fsm FSM, int ST) -> encoder_bs_sptr
    encoder_bs_make(fsm FSM, int ST, int K) -> encoder_bs_sptr
    """
    return _trellis_swig0.encoder_bs_make(*args)

class encoder_bs_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::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__(encoder_bs_sptr self) -> encoder_bs_sptr
        __init__(encoder_bs_sptr self, encoder_bs p) -> encoder_bs_sptr
        """
        _trellis_swig0.encoder_bs_sptr_swiginit(self, _trellis_swig0.new_encoder_bs_sptr(*args))

    def __deref__(self) -> "gr::trellis::encoder< std::uint8_t,std::int16_t > *":
        r"""__deref__(encoder_bs_sptr self) -> encoder_bs"""
        return _trellis_swig0.encoder_bs_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_encoder_bs_sptr

    def make(self, *args) -> "gr::trellis::encoder< unsigned char,short >::sptr":
        r"""
        make(encoder_bs_sptr self, fsm FSM, int ST) -> encoder_bs_sptr
        make(encoder_bs_sptr self, fsm FSM, int ST, int K) -> encoder_bs_sptr
        """
        return _trellis_swig0.encoder_bs_sptr_make(self, *args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_bs_sptr self) -> fsm"""
        return _trellis_swig0.encoder_bs_sptr_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_bs_sptr self) -> int"""
        return _trellis_swig0.encoder_bs_sptr_ST(self)

    def K(self) -> "int":
        r"""K(encoder_bs_sptr self) -> int"""
        return _trellis_swig0.encoder_bs_sptr_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_bs_sptr self, fsm FSM)"""
        return _trellis_swig0.encoder_bs_sptr_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_bs_sptr self, int ST)"""
        return _trellis_swig0.encoder_bs_sptr_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_bs_sptr self, int K)"""
        return _trellis_swig0.encoder_bs_sptr_set_K(self, K)

    def history(self) -> "unsigned int":
        r"""history(encoder_bs_sptr self) -> unsigned int"""
        return _trellis_swig0.encoder_bs_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(encoder_bs_sptr self, int which, int delay)
        declare_sample_delay(encoder_bs_sptr self, unsigned int delay)
        """
        return _trellis_swig0.encoder_bs_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(encoder_bs_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.encoder_bs_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(encoder_bs_sptr self, int multiple)"""
        return _trellis_swig0.encoder_bs_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(encoder_bs_sptr self) -> int"""
        return _trellis_swig0.encoder_bs_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(encoder_bs_sptr self) -> double"""
        return _trellis_swig0.encoder_bs_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(encoder_bs_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_bs_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(encoder_bs_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_bs_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(encoder_bs_sptr self) -> bool"""
        return _trellis_swig0.encoder_bs_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(encoder_bs_sptr self) -> bool"""
        return _trellis_swig0.encoder_bs_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(encoder_bs_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.encoder_bs_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(encoder_bs_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.encoder_bs_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(encoder_bs_sptr self, std::string level)"""
        return _trellis_swig0.encoder_bs_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bs_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(encoder_bs_sptr self) -> int"""
        return _trellis_swig0.encoder_bs_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(encoder_bs_sptr self, int m)"""
        return _trellis_swig0.encoder_bs_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(encoder_bs_sptr self)"""
        return _trellis_swig0.encoder_bs_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(encoder_bs_sptr self) -> bool"""
        return _trellis_swig0.encoder_bs_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(encoder_bs_sptr self, int m)"""
        return _trellis_swig0.encoder_bs_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(encoder_bs_sptr self) -> int"""
        return _trellis_swig0.encoder_bs_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(encoder_bs_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_bs_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(encoder_bs_sptr self, long max_output_buffer)
        set_max_output_buffer(encoder_bs_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.encoder_bs_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(encoder_bs_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_bs_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(encoder_bs_sptr self, long min_output_buffer)
        set_min_output_buffer(encoder_bs_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.encoder_bs_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.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(encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full(encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full_avg(encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full_var(encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full(encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full_avg(encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full_var(encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.encoder_bs_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.encoder_bs_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(encoder_bs_sptr self) -> float"""
        return _trellis_swig0.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(encoder_bs_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.encoder_bs_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(encoder_bs_sptr self)"""
        return _trellis_swig0.encoder_bs_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(encoder_bs_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.encoder_bs_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(encoder_bs_sptr self) -> int"""
        return _trellis_swig0.encoder_bs_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(encoder_bs_sptr self) -> int"""
        return _trellis_swig0.encoder_bs_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(encoder_bs_sptr self, int priority) -> int"""
        return _trellis_swig0.encoder_bs_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bs_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bs_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(encoder_bs_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_bs_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(encoder_bs_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_bs_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(encoder_bs_sptr self) -> long"""
        return _trellis_swig0.encoder_bs_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(encoder_bs_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.encoder_bs_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(encoder_bs_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.encoder_bs_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bs_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(encoder_bs_sptr self, std::string name)"""
        return _trellis_swig0.encoder_bs_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(encoder_bs_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.encoder_bs_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(encoder_bs_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bs_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(encoder_bs_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bs_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(encoder_bs_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bs_sptr_message_subscribers(self, which_port)

# Register encoder_bs_sptr in _trellis_swig0:
_trellis_swig0.encoder_bs_sptr_swigregister(encoder_bs_sptr)


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

class encoder_bi(object):
    r"""Proxy of C++ gr::trellis::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(*args) -> "gr::trellis::encoder< unsigned char,int >::sptr":
        r"""
        make(fsm FSM, int ST) -> encoder_bi_sptr
        make(fsm FSM, int ST, int K) -> encoder_bi_sptr
        """
        return _trellis_swig0.encoder_bi_make(*args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_bi self) -> fsm"""
        return _trellis_swig0.encoder_bi_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_bi self) -> int"""
        return _trellis_swig0.encoder_bi_ST(self)

    def K(self) -> "int":
        r"""K(encoder_bi self) -> int"""
        return _trellis_swig0.encoder_bi_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_bi self, fsm FSM)"""
        return _trellis_swig0.encoder_bi_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_bi self, int ST)"""
        return _trellis_swig0.encoder_bi_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_bi self, int K)"""
        return _trellis_swig0.encoder_bi_set_K(self, K)
    __swig_destroy__ = _trellis_swig0.delete_encoder_bi

# Register encoder_bi in _trellis_swig0:
_trellis_swig0.encoder_bi_swigregister(encoder_bi)

def encoder_bi_make(*args) -> "gr::trellis::encoder< unsigned char,int >::sptr":
    r"""
    encoder_bi_make(fsm FSM, int ST) -> encoder_bi_sptr
    encoder_bi_make(fsm FSM, int ST, int K) -> encoder_bi_sptr
    """
    return _trellis_swig0.encoder_bi_make(*args)

class encoder_bi_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::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__(encoder_bi_sptr self) -> encoder_bi_sptr
        __init__(encoder_bi_sptr self, encoder_bi p) -> encoder_bi_sptr
        """
        _trellis_swig0.encoder_bi_sptr_swiginit(self, _trellis_swig0.new_encoder_bi_sptr(*args))

    def __deref__(self) -> "gr::trellis::encoder< std::uint8_t,std::int32_t > *":
        r"""__deref__(encoder_bi_sptr self) -> encoder_bi"""
        return _trellis_swig0.encoder_bi_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_encoder_bi_sptr

    def make(self, *args) -> "gr::trellis::encoder< unsigned char,int >::sptr":
        r"""
        make(encoder_bi_sptr self, fsm FSM, int ST) -> encoder_bi_sptr
        make(encoder_bi_sptr self, fsm FSM, int ST, int K) -> encoder_bi_sptr
        """
        return _trellis_swig0.encoder_bi_sptr_make(self, *args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_bi_sptr self) -> fsm"""
        return _trellis_swig0.encoder_bi_sptr_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_bi_sptr self) -> int"""
        return _trellis_swig0.encoder_bi_sptr_ST(self)

    def K(self) -> "int":
        r"""K(encoder_bi_sptr self) -> int"""
        return _trellis_swig0.encoder_bi_sptr_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_bi_sptr self, fsm FSM)"""
        return _trellis_swig0.encoder_bi_sptr_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_bi_sptr self, int ST)"""
        return _trellis_swig0.encoder_bi_sptr_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_bi_sptr self, int K)"""
        return _trellis_swig0.encoder_bi_sptr_set_K(self, K)

    def history(self) -> "unsigned int":
        r"""history(encoder_bi_sptr self) -> unsigned int"""
        return _trellis_swig0.encoder_bi_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(encoder_bi_sptr self, int which, int delay)
        declare_sample_delay(encoder_bi_sptr self, unsigned int delay)
        """
        return _trellis_swig0.encoder_bi_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(encoder_bi_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.encoder_bi_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(encoder_bi_sptr self, int multiple)"""
        return _trellis_swig0.encoder_bi_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(encoder_bi_sptr self) -> int"""
        return _trellis_swig0.encoder_bi_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(encoder_bi_sptr self) -> double"""
        return _trellis_swig0.encoder_bi_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(encoder_bi_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_bi_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(encoder_bi_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_bi_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(encoder_bi_sptr self) -> bool"""
        return _trellis_swig0.encoder_bi_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(encoder_bi_sptr self) -> bool"""
        return _trellis_swig0.encoder_bi_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(encoder_bi_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.encoder_bi_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(encoder_bi_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.encoder_bi_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(encoder_bi_sptr self, std::string level)"""
        return _trellis_swig0.encoder_bi_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bi_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(encoder_bi_sptr self) -> int"""
        return _trellis_swig0.encoder_bi_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(encoder_bi_sptr self, int m)"""
        return _trellis_swig0.encoder_bi_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(encoder_bi_sptr self)"""
        return _trellis_swig0.encoder_bi_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(encoder_bi_sptr self) -> bool"""
        return _trellis_swig0.encoder_bi_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(encoder_bi_sptr self, int m)"""
        return _trellis_swig0.encoder_bi_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(encoder_bi_sptr self) -> int"""
        return _trellis_swig0.encoder_bi_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(encoder_bi_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_bi_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(encoder_bi_sptr self, long max_output_buffer)
        set_max_output_buffer(encoder_bi_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.encoder_bi_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(encoder_bi_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_bi_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(encoder_bi_sptr self, long min_output_buffer)
        set_min_output_buffer(encoder_bi_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.encoder_bi_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.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(encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full(encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full_avg(encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full_var(encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full(encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full_avg(encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full_var(encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.encoder_bi_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.encoder_bi_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(encoder_bi_sptr self) -> float"""
        return _trellis_swig0.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(encoder_bi_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.encoder_bi_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(encoder_bi_sptr self)"""
        return _trellis_swig0.encoder_bi_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(encoder_bi_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.encoder_bi_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(encoder_bi_sptr self) -> int"""
        return _trellis_swig0.encoder_bi_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(encoder_bi_sptr self) -> int"""
        return _trellis_swig0.encoder_bi_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(encoder_bi_sptr self, int priority) -> int"""
        return _trellis_swig0.encoder_bi_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bi_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bi_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(encoder_bi_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_bi_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(encoder_bi_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_bi_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(encoder_bi_sptr self) -> long"""
        return _trellis_swig0.encoder_bi_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(encoder_bi_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.encoder_bi_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(encoder_bi_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.encoder_bi_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.encoder_bi_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(encoder_bi_sptr self, std::string name)"""
        return _trellis_swig0.encoder_bi_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(encoder_bi_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.encoder_bi_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(encoder_bi_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bi_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(encoder_bi_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bi_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(encoder_bi_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_bi_sptr_message_subscribers(self, which_port)

# Register encoder_bi_sptr in _trellis_swig0:
_trellis_swig0.encoder_bi_sptr_swigregister(encoder_bi_sptr)


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

class encoder_ss(object):
    r"""Proxy of C++ gr::trellis::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(*args) -> "gr::trellis::encoder< short,short >::sptr":
        r"""
        make(fsm FSM, int ST) -> encoder_ss_sptr
        make(fsm FSM, int ST, int K) -> encoder_ss_sptr
        """
        return _trellis_swig0.encoder_ss_make(*args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_ss self) -> fsm"""
        return _trellis_swig0.encoder_ss_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_ss self) -> int"""
        return _trellis_swig0.encoder_ss_ST(self)

    def K(self) -> "int":
        r"""K(encoder_ss self) -> int"""
        return _trellis_swig0.encoder_ss_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_ss self, fsm FSM)"""
        return _trellis_swig0.encoder_ss_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_ss self, int ST)"""
        return _trellis_swig0.encoder_ss_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_ss self, int K)"""
        return _trellis_swig0.encoder_ss_set_K(self, K)
    __swig_destroy__ = _trellis_swig0.delete_encoder_ss

# Register encoder_ss in _trellis_swig0:
_trellis_swig0.encoder_ss_swigregister(encoder_ss)

def encoder_ss_make(*args) -> "gr::trellis::encoder< short,short >::sptr":
    r"""
    encoder_ss_make(fsm FSM, int ST) -> encoder_ss_sptr
    encoder_ss_make(fsm FSM, int ST, int K) -> encoder_ss_sptr
    """
    return _trellis_swig0.encoder_ss_make(*args)

class encoder_ss_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::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__(encoder_ss_sptr self) -> encoder_ss_sptr
        __init__(encoder_ss_sptr self, encoder_ss p) -> encoder_ss_sptr
        """
        _trellis_swig0.encoder_ss_sptr_swiginit(self, _trellis_swig0.new_encoder_ss_sptr(*args))

    def __deref__(self) -> "gr::trellis::encoder< std::int16_t,std::int16_t > *":
        r"""__deref__(encoder_ss_sptr self) -> encoder_ss"""
        return _trellis_swig0.encoder_ss_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_encoder_ss_sptr

    def make(self, *args) -> "gr::trellis::encoder< short,short >::sptr":
        r"""
        make(encoder_ss_sptr self, fsm FSM, int ST) -> encoder_ss_sptr
        make(encoder_ss_sptr self, fsm FSM, int ST, int K) -> encoder_ss_sptr
        """
        return _trellis_swig0.encoder_ss_sptr_make(self, *args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_ss_sptr self) -> fsm"""
        return _trellis_swig0.encoder_ss_sptr_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_ss_sptr self) -> int"""
        return _trellis_swig0.encoder_ss_sptr_ST(self)

    def K(self) -> "int":
        r"""K(encoder_ss_sptr self) -> int"""
        return _trellis_swig0.encoder_ss_sptr_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_ss_sptr self, fsm FSM)"""
        return _trellis_swig0.encoder_ss_sptr_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_ss_sptr self, int ST)"""
        return _trellis_swig0.encoder_ss_sptr_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_ss_sptr self, int K)"""
        return _trellis_swig0.encoder_ss_sptr_set_K(self, K)

    def history(self) -> "unsigned int":
        r"""history(encoder_ss_sptr self) -> unsigned int"""
        return _trellis_swig0.encoder_ss_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(encoder_ss_sptr self, int which, int delay)
        declare_sample_delay(encoder_ss_sptr self, unsigned int delay)
        """
        return _trellis_swig0.encoder_ss_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(encoder_ss_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.encoder_ss_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(encoder_ss_sptr self, int multiple)"""
        return _trellis_swig0.encoder_ss_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(encoder_ss_sptr self) -> int"""
        return _trellis_swig0.encoder_ss_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(encoder_ss_sptr self) -> double"""
        return _trellis_swig0.encoder_ss_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(encoder_ss_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_ss_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(encoder_ss_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_ss_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(encoder_ss_sptr self) -> bool"""
        return _trellis_swig0.encoder_ss_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(encoder_ss_sptr self) -> bool"""
        return _trellis_swig0.encoder_ss_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(encoder_ss_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.encoder_ss_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(encoder_ss_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.encoder_ss_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(encoder_ss_sptr self, std::string level)"""
        return _trellis_swig0.encoder_ss_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.encoder_ss_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(encoder_ss_sptr self) -> int"""
        return _trellis_swig0.encoder_ss_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(encoder_ss_sptr self, int m)"""
        return _trellis_swig0.encoder_ss_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(encoder_ss_sptr self)"""
        return _trellis_swig0.encoder_ss_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(encoder_ss_sptr self) -> bool"""
        return _trellis_swig0.encoder_ss_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(encoder_ss_sptr self, int m)"""
        return _trellis_swig0.encoder_ss_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(encoder_ss_sptr self) -> int"""
        return _trellis_swig0.encoder_ss_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(encoder_ss_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_ss_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(encoder_ss_sptr self, long max_output_buffer)
        set_max_output_buffer(encoder_ss_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.encoder_ss_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(encoder_ss_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_ss_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(encoder_ss_sptr self, long min_output_buffer)
        set_min_output_buffer(encoder_ss_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.encoder_ss_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.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(encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full(encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full_avg(encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full_var(encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full(encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full_avg(encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full_var(encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.encoder_ss_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.encoder_ss_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(encoder_ss_sptr self) -> float"""
        return _trellis_swig0.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(encoder_ss_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.encoder_ss_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(encoder_ss_sptr self)"""
        return _trellis_swig0.encoder_ss_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(encoder_ss_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.encoder_ss_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(encoder_ss_sptr self) -> int"""
        return _trellis_swig0.encoder_ss_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(encoder_ss_sptr self) -> int"""
        return _trellis_swig0.encoder_ss_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(encoder_ss_sptr self, int priority) -> int"""
        return _trellis_swig0.encoder_ss_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.encoder_ss_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.encoder_ss_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(encoder_ss_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_ss_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(encoder_ss_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_ss_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(encoder_ss_sptr self) -> long"""
        return _trellis_swig0.encoder_ss_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(encoder_ss_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.encoder_ss_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(encoder_ss_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.encoder_ss_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.encoder_ss_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(encoder_ss_sptr self, std::string name)"""
        return _trellis_swig0.encoder_ss_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(encoder_ss_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.encoder_ss_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(encoder_ss_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_ss_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(encoder_ss_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_ss_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(encoder_ss_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_ss_sptr_message_subscribers(self, which_port)

# Register encoder_ss_sptr in _trellis_swig0:
_trellis_swig0.encoder_ss_sptr_swigregister(encoder_ss_sptr)


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

class encoder_si(object):
    r"""Proxy of C++ gr::trellis::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(*args) -> "gr::trellis::encoder< short,int >::sptr":
        r"""
        make(fsm FSM, int ST) -> encoder_si_sptr
        make(fsm FSM, int ST, int K) -> encoder_si_sptr
        """
        return _trellis_swig0.encoder_si_make(*args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_si self) -> fsm"""
        return _trellis_swig0.encoder_si_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_si self) -> int"""
        return _trellis_swig0.encoder_si_ST(self)

    def K(self) -> "int":
        r"""K(encoder_si self) -> int"""
        return _trellis_swig0.encoder_si_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_si self, fsm FSM)"""
        return _trellis_swig0.encoder_si_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_si self, int ST)"""
        return _trellis_swig0.encoder_si_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_si self, int K)"""
        return _trellis_swig0.encoder_si_set_K(self, K)
    __swig_destroy__ = _trellis_swig0.delete_encoder_si

# Register encoder_si in _trellis_swig0:
_trellis_swig0.encoder_si_swigregister(encoder_si)

def encoder_si_make(*args) -> "gr::trellis::encoder< short,int >::sptr":
    r"""
    encoder_si_make(fsm FSM, int ST) -> encoder_si_sptr
    encoder_si_make(fsm FSM, int ST, int K) -> encoder_si_sptr
    """
    return _trellis_swig0.encoder_si_make(*args)

class encoder_si_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::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__(encoder_si_sptr self) -> encoder_si_sptr
        __init__(encoder_si_sptr self, encoder_si p) -> encoder_si_sptr
        """
        _trellis_swig0.encoder_si_sptr_swiginit(self, _trellis_swig0.new_encoder_si_sptr(*args))

    def __deref__(self) -> "gr::trellis::encoder< std::int16_t,std::int32_t > *":
        r"""__deref__(encoder_si_sptr self) -> encoder_si"""
        return _trellis_swig0.encoder_si_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_encoder_si_sptr

    def make(self, *args) -> "gr::trellis::encoder< short,int >::sptr":
        r"""
        make(encoder_si_sptr self, fsm FSM, int ST) -> encoder_si_sptr
        make(encoder_si_sptr self, fsm FSM, int ST, int K) -> encoder_si_sptr
        """
        return _trellis_swig0.encoder_si_sptr_make(self, *args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_si_sptr self) -> fsm"""
        return _trellis_swig0.encoder_si_sptr_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_si_sptr self) -> int"""
        return _trellis_swig0.encoder_si_sptr_ST(self)

    def K(self) -> "int":
        r"""K(encoder_si_sptr self) -> int"""
        return _trellis_swig0.encoder_si_sptr_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_si_sptr self, fsm FSM)"""
        return _trellis_swig0.encoder_si_sptr_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_si_sptr self, int ST)"""
        return _trellis_swig0.encoder_si_sptr_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_si_sptr self, int K)"""
        return _trellis_swig0.encoder_si_sptr_set_K(self, K)

    def history(self) -> "unsigned int":
        r"""history(encoder_si_sptr self) -> unsigned int"""
        return _trellis_swig0.encoder_si_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(encoder_si_sptr self, int which, int delay)
        declare_sample_delay(encoder_si_sptr self, unsigned int delay)
        """
        return _trellis_swig0.encoder_si_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(encoder_si_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.encoder_si_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(encoder_si_sptr self, int multiple)"""
        return _trellis_swig0.encoder_si_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(encoder_si_sptr self) -> int"""
        return _trellis_swig0.encoder_si_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(encoder_si_sptr self) -> double"""
        return _trellis_swig0.encoder_si_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(encoder_si_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_si_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(encoder_si_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_si_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(encoder_si_sptr self) -> bool"""
        return _trellis_swig0.encoder_si_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(encoder_si_sptr self) -> bool"""
        return _trellis_swig0.encoder_si_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(encoder_si_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.encoder_si_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(encoder_si_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.encoder_si_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(encoder_si_sptr self, std::string level)"""
        return _trellis_swig0.encoder_si_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.encoder_si_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(encoder_si_sptr self) -> int"""
        return _trellis_swig0.encoder_si_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(encoder_si_sptr self, int m)"""
        return _trellis_swig0.encoder_si_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(encoder_si_sptr self)"""
        return _trellis_swig0.encoder_si_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(encoder_si_sptr self) -> bool"""
        return _trellis_swig0.encoder_si_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(encoder_si_sptr self, int m)"""
        return _trellis_swig0.encoder_si_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(encoder_si_sptr self) -> int"""
        return _trellis_swig0.encoder_si_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(encoder_si_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_si_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(encoder_si_sptr self, long max_output_buffer)
        set_max_output_buffer(encoder_si_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.encoder_si_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(encoder_si_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_si_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(encoder_si_sptr self, long min_output_buffer)
        set_min_output_buffer(encoder_si_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.encoder_si_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(encoder_si_sptr self) -> float"""
        return _trellis_swig0.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(encoder_si_sptr self, int which) -> float
        pc_input_buffers_full(encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_si_sptr self, int which) -> float
        pc_input_buffers_full_avg(encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_si_sptr self, int which) -> float
        pc_input_buffers_full_var(encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_si_sptr self, int which) -> float
        pc_output_buffers_full(encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_si_sptr self, int which) -> float
        pc_output_buffers_full_avg(encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_si_sptr self, int which) -> float
        pc_output_buffers_full_var(encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.encoder_si_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(encoder_si_sptr self) -> float"""
        return _trellis_swig0.encoder_si_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(encoder_si_sptr self) -> float"""
        return _trellis_swig0.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(encoder_si_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.encoder_si_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(encoder_si_sptr self)"""
        return _trellis_swig0.encoder_si_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(encoder_si_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.encoder_si_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(encoder_si_sptr self) -> int"""
        return _trellis_swig0.encoder_si_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(encoder_si_sptr self) -> int"""
        return _trellis_swig0.encoder_si_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(encoder_si_sptr self, int priority) -> int"""
        return _trellis_swig0.encoder_si_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.encoder_si_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.encoder_si_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(encoder_si_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_si_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(encoder_si_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_si_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(encoder_si_sptr self) -> long"""
        return _trellis_swig0.encoder_si_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(encoder_si_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.encoder_si_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(encoder_si_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.encoder_si_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.encoder_si_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(encoder_si_sptr self, std::string name)"""
        return _trellis_swig0.encoder_si_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(encoder_si_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.encoder_si_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(encoder_si_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_si_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(encoder_si_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_si_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(encoder_si_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_si_sptr_message_subscribers(self, which_port)

# Register encoder_si_sptr in _trellis_swig0:
_trellis_swig0.encoder_si_sptr_swigregister(encoder_si_sptr)


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

class encoder_ii(object):
    r"""Proxy of C++ gr::trellis::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(*args) -> "gr::trellis::encoder< int,int >::sptr":
        r"""
        make(fsm FSM, int ST) -> encoder_ii_sptr
        make(fsm FSM, int ST, int K) -> encoder_ii_sptr
        """
        return _trellis_swig0.encoder_ii_make(*args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_ii self) -> fsm"""
        return _trellis_swig0.encoder_ii_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_ii self) -> int"""
        return _trellis_swig0.encoder_ii_ST(self)

    def K(self) -> "int":
        r"""K(encoder_ii self) -> int"""
        return _trellis_swig0.encoder_ii_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_ii self, fsm FSM)"""
        return _trellis_swig0.encoder_ii_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_ii self, int ST)"""
        return _trellis_swig0.encoder_ii_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_ii self, int K)"""
        return _trellis_swig0.encoder_ii_set_K(self, K)
    __swig_destroy__ = _trellis_swig0.delete_encoder_ii

# Register encoder_ii in _trellis_swig0:
_trellis_swig0.encoder_ii_swigregister(encoder_ii)

def encoder_ii_make(*args) -> "gr::trellis::encoder< int,int >::sptr":
    r"""
    encoder_ii_make(fsm FSM, int ST) -> encoder_ii_sptr
    encoder_ii_make(fsm FSM, int ST, int K) -> encoder_ii_sptr
    """
    return _trellis_swig0.encoder_ii_make(*args)

class encoder_ii_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::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__(encoder_ii_sptr self) -> encoder_ii_sptr
        __init__(encoder_ii_sptr self, encoder_ii p) -> encoder_ii_sptr
        """
        _trellis_swig0.encoder_ii_sptr_swiginit(self, _trellis_swig0.new_encoder_ii_sptr(*args))

    def __deref__(self) -> "gr::trellis::encoder< std::int32_t,std::int32_t > *":
        r"""__deref__(encoder_ii_sptr self) -> encoder_ii"""
        return _trellis_swig0.encoder_ii_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_encoder_ii_sptr

    def make(self, *args) -> "gr::trellis::encoder< int,int >::sptr":
        r"""
        make(encoder_ii_sptr self, fsm FSM, int ST) -> encoder_ii_sptr
        make(encoder_ii_sptr self, fsm FSM, int ST, int K) -> encoder_ii_sptr
        """
        return _trellis_swig0.encoder_ii_sptr_make(self, *args)

    def FSM(self) -> "gr::trellis::fsm":
        r"""FSM(encoder_ii_sptr self) -> fsm"""
        return _trellis_swig0.encoder_ii_sptr_FSM(self)

    def ST(self) -> "int":
        r"""ST(encoder_ii_sptr self) -> int"""
        return _trellis_swig0.encoder_ii_sptr_ST(self)

    def K(self) -> "int":
        r"""K(encoder_ii_sptr self) -> int"""
        return _trellis_swig0.encoder_ii_sptr_K(self)

    def set_FSM(self, FSM: "fsm") -> "void":
        r"""set_FSM(encoder_ii_sptr self, fsm FSM)"""
        return _trellis_swig0.encoder_ii_sptr_set_FSM(self, FSM)

    def set_ST(self, ST: "int") -> "void":
        r"""set_ST(encoder_ii_sptr self, int ST)"""
        return _trellis_swig0.encoder_ii_sptr_set_ST(self, ST)

    def set_K(self, K: "int") -> "void":
        r"""set_K(encoder_ii_sptr self, int K)"""
        return _trellis_swig0.encoder_ii_sptr_set_K(self, K)

    def history(self) -> "unsigned int":
        r"""history(encoder_ii_sptr self) -> unsigned int"""
        return _trellis_swig0.encoder_ii_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(encoder_ii_sptr self, int which, int delay)
        declare_sample_delay(encoder_ii_sptr self, unsigned int delay)
        """
        return _trellis_swig0.encoder_ii_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(encoder_ii_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.encoder_ii_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(encoder_ii_sptr self, int multiple)"""
        return _trellis_swig0.encoder_ii_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(encoder_ii_sptr self) -> int"""
        return _trellis_swig0.encoder_ii_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(encoder_ii_sptr self) -> double"""
        return _trellis_swig0.encoder_ii_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(encoder_ii_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_ii_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(encoder_ii_sptr self) -> uint64_t"""
        return _trellis_swig0.encoder_ii_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(encoder_ii_sptr self) -> bool"""
        return _trellis_swig0.encoder_ii_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(encoder_ii_sptr self) -> bool"""
        return _trellis_swig0.encoder_ii_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(encoder_ii_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.encoder_ii_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(encoder_ii_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.encoder_ii_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(encoder_ii_sptr self, std::string level)"""
        return _trellis_swig0.encoder_ii_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.encoder_ii_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(encoder_ii_sptr self) -> int"""
        return _trellis_swig0.encoder_ii_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(encoder_ii_sptr self, int m)"""
        return _trellis_swig0.encoder_ii_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(encoder_ii_sptr self)"""
        return _trellis_swig0.encoder_ii_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(encoder_ii_sptr self) -> bool"""
        return _trellis_swig0.encoder_ii_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(encoder_ii_sptr self, int m)"""
        return _trellis_swig0.encoder_ii_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(encoder_ii_sptr self) -> int"""
        return _trellis_swig0.encoder_ii_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(encoder_ii_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_ii_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(encoder_ii_sptr self, long max_output_buffer)
        set_max_output_buffer(encoder_ii_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.encoder_ii_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(encoder_ii_sptr self, int i) -> long"""
        return _trellis_swig0.encoder_ii_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(encoder_ii_sptr self, long min_output_buffer)
        set_min_output_buffer(encoder_ii_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.encoder_ii_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.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(encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full(encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full_avg(encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full_var(encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full(encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full_avg(encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.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(encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full_var(encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.encoder_ii_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.encoder_ii_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(encoder_ii_sptr self) -> float"""
        return _trellis_swig0.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(encoder_ii_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.encoder_ii_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(encoder_ii_sptr self)"""
        return _trellis_swig0.encoder_ii_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(encoder_ii_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.encoder_ii_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(encoder_ii_sptr self) -> int"""
        return _trellis_swig0.encoder_ii_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(encoder_ii_sptr self) -> int"""
        return _trellis_swig0.encoder_ii_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(encoder_ii_sptr self, int priority) -> int"""
        return _trellis_swig0.encoder_ii_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.encoder_ii_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.encoder_ii_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(encoder_ii_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_ii_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(encoder_ii_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.encoder_ii_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(encoder_ii_sptr self) -> long"""
        return _trellis_swig0.encoder_ii_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(encoder_ii_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.encoder_ii_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(encoder_ii_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.encoder_ii_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.encoder_ii_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(encoder_ii_sptr self, std::string name)"""
        return _trellis_swig0.encoder_ii_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(encoder_ii_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.encoder_ii_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(encoder_ii_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_ii_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(encoder_ii_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_ii_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(encoder_ii_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.encoder_ii_sptr_message_subscribers(self, which_port)

# Register encoder_ii_sptr in _trellis_swig0:
_trellis_swig0.encoder_ii_sptr_swigregister(encoder_ii_sptr)


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

class sccc_encoder_bb(object):
    r"""Proxy of C++ gr::trellis::sccc_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(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,unsigned char >::sptr":
        r"""make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bb_sptr"""
        return _trellis_swig0.sccc_encoder_bb_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_bb self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bb_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_bb self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_bb self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bb_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_bb self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_bb self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_bb_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_bb self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_blocklength(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_bb

# Register sccc_encoder_bb in _trellis_swig0:
_trellis_swig0.sccc_encoder_bb_swigregister(sccc_encoder_bb)

def sccc_encoder_bb_make(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,unsigned char >::sptr":
    r"""sccc_encoder_bb_make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bb_sptr"""
    return _trellis_swig0.sccc_encoder_bb_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

class sccc_encoder_bb_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::sccc_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__(sccc_encoder_bb_sptr self) -> sccc_encoder_bb_sptr
        __init__(sccc_encoder_bb_sptr self, sccc_encoder_bb p) -> sccc_encoder_bb_sptr
        """
        _trellis_swig0.sccc_encoder_bb_sptr_swiginit(self, _trellis_swig0.new_sccc_encoder_bb_sptr(*args))

    def __deref__(self) -> "gr::trellis::sccc_encoder< std::uint8_t,std::uint8_t > *":
        r"""__deref__(sccc_encoder_bb_sptr self) -> sccc_encoder_bb"""
        return _trellis_swig0.sccc_encoder_bb_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_bb_sptr

    def make(self, FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,unsigned char >::sptr":
        r"""make(sccc_encoder_bb_sptr self, fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bb_sptr"""
        return _trellis_swig0.sccc_encoder_bb_sptr_make(self, FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_bb_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bb_sptr_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_bb_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bb_sptr_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_bb_sptr self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_bb_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(sccc_encoder_bb_sptr self) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(sccc_encoder_bb_sptr self, int which, int delay)
        declare_sample_delay(sccc_encoder_bb_sptr self, unsigned int delay)
        """
        return _trellis_swig0.sccc_encoder_bb_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(sccc_encoder_bb_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(sccc_encoder_bb_sptr self, int multiple)"""
        return _trellis_swig0.sccc_encoder_bb_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(sccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(sccc_encoder_bb_sptr self) -> double"""
        return _trellis_swig0.sccc_encoder_bb_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(sccc_encoder_bb_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bb_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(sccc_encoder_bb_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bb_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(sccc_encoder_bb_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bb_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(sccc_encoder_bb_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bb_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(sccc_encoder_bb_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bb_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(sccc_encoder_bb_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bb_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(sccc_encoder_bb_sptr self, std::string level)"""
        return _trellis_swig0.sccc_encoder_bb_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(sccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bb_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(sccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(sccc_encoder_bb_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_bb_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(sccc_encoder_bb_sptr self)"""
        return _trellis_swig0.sccc_encoder_bb_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(sccc_encoder_bb_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bb_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(sccc_encoder_bb_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_bb_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(sccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(sccc_encoder_bb_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_bb_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(sccc_encoder_bb_sptr self, long max_output_buffer)
        set_max_output_buffer(sccc_encoder_bb_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_bb_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(sccc_encoder_bb_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_bb_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(sccc_encoder_bb_sptr self, long min_output_buffer)
        set_min_output_buffer(sccc_encoder_bb_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_bb_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full(sccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full_avg(sccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bb_sptr self, int which) -> float
        pc_input_buffers_full_var(sccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full(sccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full_avg(sccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bb_sptr self, int which) -> float
        pc_output_buffers_full_var(sccc_encoder_bb_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bb_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(sccc_encoder_bb_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_bb_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.sccc_encoder_bb_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(sccc_encoder_bb_sptr self)"""
        return _trellis_swig0.sccc_encoder_bb_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(sccc_encoder_bb_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.sccc_encoder_bb_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(sccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(sccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(sccc_encoder_bb_sptr self, int priority) -> int"""
        return _trellis_swig0.sccc_encoder_bb_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(sccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bb_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(sccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bb_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(sccc_encoder_bb_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_bb_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(sccc_encoder_bb_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_bb_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(sccc_encoder_bb_sptr self) -> long"""
        return _trellis_swig0.sccc_encoder_bb_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(sccc_encoder_bb_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.sccc_encoder_bb_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(sccc_encoder_bb_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.sccc_encoder_bb_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(sccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bb_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(sccc_encoder_bb_sptr self, std::string name)"""
        return _trellis_swig0.sccc_encoder_bb_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(sccc_encoder_bb_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.sccc_encoder_bb_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(sccc_encoder_bb_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bb_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(sccc_encoder_bb_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bb_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(sccc_encoder_bb_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bb_sptr_message_subscribers(self, which_port)

# Register sccc_encoder_bb_sptr in _trellis_swig0:
_trellis_swig0.sccc_encoder_bb_sptr_swigregister(sccc_encoder_bb_sptr)


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

class sccc_encoder_bs(object):
    r"""Proxy of C++ gr::trellis::sccc_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(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,short >::sptr":
        r"""make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bs_sptr"""
        return _trellis_swig0.sccc_encoder_bs_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_bs self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bs_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_bs self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_bs self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bs_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_bs self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_bs self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_bs_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_bs self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_blocklength(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_bs

# Register sccc_encoder_bs in _trellis_swig0:
_trellis_swig0.sccc_encoder_bs_swigregister(sccc_encoder_bs)

def sccc_encoder_bs_make(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,short >::sptr":
    r"""sccc_encoder_bs_make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bs_sptr"""
    return _trellis_swig0.sccc_encoder_bs_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

class sccc_encoder_bs_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::sccc_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__(sccc_encoder_bs_sptr self) -> sccc_encoder_bs_sptr
        __init__(sccc_encoder_bs_sptr self, sccc_encoder_bs p) -> sccc_encoder_bs_sptr
        """
        _trellis_swig0.sccc_encoder_bs_sptr_swiginit(self, _trellis_swig0.new_sccc_encoder_bs_sptr(*args))

    def __deref__(self) -> "gr::trellis::sccc_encoder< std::uint8_t,std::int16_t > *":
        r"""__deref__(sccc_encoder_bs_sptr self) -> sccc_encoder_bs"""
        return _trellis_swig0.sccc_encoder_bs_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_bs_sptr

    def make(self, FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,short >::sptr":
        r"""make(sccc_encoder_bs_sptr self, fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bs_sptr"""
        return _trellis_swig0.sccc_encoder_bs_sptr_make(self, FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_bs_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bs_sptr_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_bs_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bs_sptr_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_bs_sptr self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_bs_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(sccc_encoder_bs_sptr self) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(sccc_encoder_bs_sptr self, int which, int delay)
        declare_sample_delay(sccc_encoder_bs_sptr self, unsigned int delay)
        """
        return _trellis_swig0.sccc_encoder_bs_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(sccc_encoder_bs_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(sccc_encoder_bs_sptr self, int multiple)"""
        return _trellis_swig0.sccc_encoder_bs_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(sccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(sccc_encoder_bs_sptr self) -> double"""
        return _trellis_swig0.sccc_encoder_bs_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(sccc_encoder_bs_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bs_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(sccc_encoder_bs_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bs_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(sccc_encoder_bs_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bs_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(sccc_encoder_bs_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bs_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(sccc_encoder_bs_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bs_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(sccc_encoder_bs_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bs_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(sccc_encoder_bs_sptr self, std::string level)"""
        return _trellis_swig0.sccc_encoder_bs_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(sccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bs_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(sccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(sccc_encoder_bs_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_bs_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(sccc_encoder_bs_sptr self)"""
        return _trellis_swig0.sccc_encoder_bs_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(sccc_encoder_bs_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bs_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(sccc_encoder_bs_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_bs_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(sccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(sccc_encoder_bs_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_bs_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(sccc_encoder_bs_sptr self, long max_output_buffer)
        set_max_output_buffer(sccc_encoder_bs_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_bs_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(sccc_encoder_bs_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_bs_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(sccc_encoder_bs_sptr self, long min_output_buffer)
        set_min_output_buffer(sccc_encoder_bs_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_bs_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full(sccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full_avg(sccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bs_sptr self, int which) -> float
        pc_input_buffers_full_var(sccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full(sccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full_avg(sccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bs_sptr self, int which) -> float
        pc_output_buffers_full_var(sccc_encoder_bs_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bs_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(sccc_encoder_bs_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_bs_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.sccc_encoder_bs_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(sccc_encoder_bs_sptr self)"""
        return _trellis_swig0.sccc_encoder_bs_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(sccc_encoder_bs_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.sccc_encoder_bs_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(sccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(sccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(sccc_encoder_bs_sptr self, int priority) -> int"""
        return _trellis_swig0.sccc_encoder_bs_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(sccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bs_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(sccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bs_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(sccc_encoder_bs_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_bs_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(sccc_encoder_bs_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_bs_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(sccc_encoder_bs_sptr self) -> long"""
        return _trellis_swig0.sccc_encoder_bs_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(sccc_encoder_bs_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.sccc_encoder_bs_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(sccc_encoder_bs_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.sccc_encoder_bs_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(sccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bs_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(sccc_encoder_bs_sptr self, std::string name)"""
        return _trellis_swig0.sccc_encoder_bs_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(sccc_encoder_bs_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.sccc_encoder_bs_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(sccc_encoder_bs_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bs_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(sccc_encoder_bs_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bs_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(sccc_encoder_bs_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bs_sptr_message_subscribers(self, which_port)

# Register sccc_encoder_bs_sptr in _trellis_swig0:
_trellis_swig0.sccc_encoder_bs_sptr_swigregister(sccc_encoder_bs_sptr)


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

class sccc_encoder_bi(object):
    r"""Proxy of C++ gr::trellis::sccc_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(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,int >::sptr":
        r"""make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bi_sptr"""
        return _trellis_swig0.sccc_encoder_bi_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_bi self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bi_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_bi self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_bi self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bi_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_bi self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_bi self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_bi_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_bi self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_blocklength(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_bi

# Register sccc_encoder_bi in _trellis_swig0:
_trellis_swig0.sccc_encoder_bi_swigregister(sccc_encoder_bi)

def sccc_encoder_bi_make(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,int >::sptr":
    r"""sccc_encoder_bi_make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bi_sptr"""
    return _trellis_swig0.sccc_encoder_bi_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

class sccc_encoder_bi_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::sccc_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__(sccc_encoder_bi_sptr self) -> sccc_encoder_bi_sptr
        __init__(sccc_encoder_bi_sptr self, sccc_encoder_bi p) -> sccc_encoder_bi_sptr
        """
        _trellis_swig0.sccc_encoder_bi_sptr_swiginit(self, _trellis_swig0.new_sccc_encoder_bi_sptr(*args))

    def __deref__(self) -> "gr::trellis::sccc_encoder< std::uint8_t,std::int32_t > *":
        r"""__deref__(sccc_encoder_bi_sptr self) -> sccc_encoder_bi"""
        return _trellis_swig0.sccc_encoder_bi_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_bi_sptr

    def make(self, FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< unsigned char,int >::sptr":
        r"""make(sccc_encoder_bi_sptr self, fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_bi_sptr"""
        return _trellis_swig0.sccc_encoder_bi_sptr_make(self, FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_bi_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bi_sptr_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_bi_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_bi_sptr_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_bi_sptr self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_bi_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(sccc_encoder_bi_sptr self) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(sccc_encoder_bi_sptr self, int which, int delay)
        declare_sample_delay(sccc_encoder_bi_sptr self, unsigned int delay)
        """
        return _trellis_swig0.sccc_encoder_bi_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(sccc_encoder_bi_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(sccc_encoder_bi_sptr self, int multiple)"""
        return _trellis_swig0.sccc_encoder_bi_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(sccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(sccc_encoder_bi_sptr self) -> double"""
        return _trellis_swig0.sccc_encoder_bi_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(sccc_encoder_bi_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bi_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(sccc_encoder_bi_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bi_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(sccc_encoder_bi_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bi_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(sccc_encoder_bi_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bi_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(sccc_encoder_bi_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bi_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(sccc_encoder_bi_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_bi_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(sccc_encoder_bi_sptr self, std::string level)"""
        return _trellis_swig0.sccc_encoder_bi_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(sccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bi_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(sccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(sccc_encoder_bi_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_bi_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(sccc_encoder_bi_sptr self)"""
        return _trellis_swig0.sccc_encoder_bi_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(sccc_encoder_bi_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_bi_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(sccc_encoder_bi_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_bi_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(sccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(sccc_encoder_bi_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_bi_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(sccc_encoder_bi_sptr self, long max_output_buffer)
        set_max_output_buffer(sccc_encoder_bi_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_bi_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(sccc_encoder_bi_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_bi_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(sccc_encoder_bi_sptr self, long min_output_buffer)
        set_min_output_buffer(sccc_encoder_bi_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_bi_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full(sccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full_avg(sccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bi_sptr self, int which) -> float
        pc_input_buffers_full_var(sccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full(sccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full_avg(sccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_bi_sptr self, int which) -> float
        pc_output_buffers_full_var(sccc_encoder_bi_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_bi_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(sccc_encoder_bi_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_bi_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.sccc_encoder_bi_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(sccc_encoder_bi_sptr self)"""
        return _trellis_swig0.sccc_encoder_bi_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(sccc_encoder_bi_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.sccc_encoder_bi_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(sccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(sccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(sccc_encoder_bi_sptr self, int priority) -> int"""
        return _trellis_swig0.sccc_encoder_bi_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(sccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bi_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(sccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bi_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(sccc_encoder_bi_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_bi_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(sccc_encoder_bi_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_bi_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(sccc_encoder_bi_sptr self) -> long"""
        return _trellis_swig0.sccc_encoder_bi_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(sccc_encoder_bi_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.sccc_encoder_bi_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(sccc_encoder_bi_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.sccc_encoder_bi_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(sccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_bi_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(sccc_encoder_bi_sptr self, std::string name)"""
        return _trellis_swig0.sccc_encoder_bi_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(sccc_encoder_bi_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.sccc_encoder_bi_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(sccc_encoder_bi_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bi_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(sccc_encoder_bi_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bi_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(sccc_encoder_bi_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_bi_sptr_message_subscribers(self, which_port)

# Register sccc_encoder_bi_sptr in _trellis_swig0:
_trellis_swig0.sccc_encoder_bi_sptr_swigregister(sccc_encoder_bi_sptr)


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

class sccc_encoder_ss(object):
    r"""Proxy of C++ gr::trellis::sccc_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(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< short,short >::sptr":
        r"""make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_ss_sptr"""
        return _trellis_swig0.sccc_encoder_ss_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_ss self) -> fsm"""
        return _trellis_swig0.sccc_encoder_ss_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_ss self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_ss self) -> fsm"""
        return _trellis_swig0.sccc_encoder_ss_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_ss self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_ss self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_ss_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_ss self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_blocklength(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_ss

# Register sccc_encoder_ss in _trellis_swig0:
_trellis_swig0.sccc_encoder_ss_swigregister(sccc_encoder_ss)

def sccc_encoder_ss_make(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< short,short >::sptr":
    r"""sccc_encoder_ss_make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_ss_sptr"""
    return _trellis_swig0.sccc_encoder_ss_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

class sccc_encoder_ss_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::sccc_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__(sccc_encoder_ss_sptr self) -> sccc_encoder_ss_sptr
        __init__(sccc_encoder_ss_sptr self, sccc_encoder_ss p) -> sccc_encoder_ss_sptr
        """
        _trellis_swig0.sccc_encoder_ss_sptr_swiginit(self, _trellis_swig0.new_sccc_encoder_ss_sptr(*args))

    def __deref__(self) -> "gr::trellis::sccc_encoder< std::int16_t,std::int16_t > *":
        r"""__deref__(sccc_encoder_ss_sptr self) -> sccc_encoder_ss"""
        return _trellis_swig0.sccc_encoder_ss_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_ss_sptr

    def make(self, FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< short,short >::sptr":
        r"""make(sccc_encoder_ss_sptr self, fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_ss_sptr"""
        return _trellis_swig0.sccc_encoder_ss_sptr_make(self, FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_ss_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_ss_sptr_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_ss_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_ss_sptr_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_ss_sptr self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_ss_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(sccc_encoder_ss_sptr self) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(sccc_encoder_ss_sptr self, int which, int delay)
        declare_sample_delay(sccc_encoder_ss_sptr self, unsigned int delay)
        """
        return _trellis_swig0.sccc_encoder_ss_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(sccc_encoder_ss_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(sccc_encoder_ss_sptr self, int multiple)"""
        return _trellis_swig0.sccc_encoder_ss_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(sccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(sccc_encoder_ss_sptr self) -> double"""
        return _trellis_swig0.sccc_encoder_ss_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(sccc_encoder_ss_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_ss_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(sccc_encoder_ss_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_ss_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(sccc_encoder_ss_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_ss_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(sccc_encoder_ss_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_ss_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(sccc_encoder_ss_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_ss_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(sccc_encoder_ss_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_ss_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(sccc_encoder_ss_sptr self, std::string level)"""
        return _trellis_swig0.sccc_encoder_ss_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(sccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_ss_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(sccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(sccc_encoder_ss_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_ss_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(sccc_encoder_ss_sptr self)"""
        return _trellis_swig0.sccc_encoder_ss_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(sccc_encoder_ss_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_ss_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(sccc_encoder_ss_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_ss_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(sccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(sccc_encoder_ss_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_ss_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(sccc_encoder_ss_sptr self, long max_output_buffer)
        set_max_output_buffer(sccc_encoder_ss_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_ss_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(sccc_encoder_ss_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_ss_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(sccc_encoder_ss_sptr self, long min_output_buffer)
        set_min_output_buffer(sccc_encoder_ss_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_ss_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full(sccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full_avg(sccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ss_sptr self, int which) -> float
        pc_input_buffers_full_var(sccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full(sccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full_avg(sccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ss_sptr self, int which) -> float
        pc_output_buffers_full_var(sccc_encoder_ss_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ss_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(sccc_encoder_ss_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_ss_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.sccc_encoder_ss_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(sccc_encoder_ss_sptr self)"""
        return _trellis_swig0.sccc_encoder_ss_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(sccc_encoder_ss_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.sccc_encoder_ss_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(sccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(sccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(sccc_encoder_ss_sptr self, int priority) -> int"""
        return _trellis_swig0.sccc_encoder_ss_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(sccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_ss_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(sccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_ss_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(sccc_encoder_ss_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_ss_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(sccc_encoder_ss_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_ss_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(sccc_encoder_ss_sptr self) -> long"""
        return _trellis_swig0.sccc_encoder_ss_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(sccc_encoder_ss_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.sccc_encoder_ss_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(sccc_encoder_ss_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.sccc_encoder_ss_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(sccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_ss_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(sccc_encoder_ss_sptr self, std::string name)"""
        return _trellis_swig0.sccc_encoder_ss_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(sccc_encoder_ss_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.sccc_encoder_ss_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(sccc_encoder_ss_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_ss_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(sccc_encoder_ss_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_ss_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(sccc_encoder_ss_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_ss_sptr_message_subscribers(self, which_port)

# Register sccc_encoder_ss_sptr in _trellis_swig0:
_trellis_swig0.sccc_encoder_ss_sptr_swigregister(sccc_encoder_ss_sptr)


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

class sccc_encoder_si(object):
    r"""Proxy of C++ gr::trellis::sccc_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(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< short,int >::sptr":
        r"""make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_si_sptr"""
        return _trellis_swig0.sccc_encoder_si_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_si self) -> fsm"""
        return _trellis_swig0.sccc_encoder_si_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_si self) -> int"""
        return _trellis_swig0.sccc_encoder_si_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_si self) -> fsm"""
        return _trellis_swig0.sccc_encoder_si_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_si self) -> int"""
        return _trellis_swig0.sccc_encoder_si_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_si self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_si_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_si self) -> int"""
        return _trellis_swig0.sccc_encoder_si_blocklength(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_si

# Register sccc_encoder_si in _trellis_swig0:
_trellis_swig0.sccc_encoder_si_swigregister(sccc_encoder_si)

def sccc_encoder_si_make(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< short,int >::sptr":
    r"""sccc_encoder_si_make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_si_sptr"""
    return _trellis_swig0.sccc_encoder_si_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

class sccc_encoder_si_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::sccc_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__(sccc_encoder_si_sptr self) -> sccc_encoder_si_sptr
        __init__(sccc_encoder_si_sptr self, sccc_encoder_si p) -> sccc_encoder_si_sptr
        """
        _trellis_swig0.sccc_encoder_si_sptr_swiginit(self, _trellis_swig0.new_sccc_encoder_si_sptr(*args))

    def __deref__(self) -> "gr::trellis::sccc_encoder< std::int16_t,std::int32_t > *":
        r"""__deref__(sccc_encoder_si_sptr self) -> sccc_encoder_si"""
        return _trellis_swig0.sccc_encoder_si_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_si_sptr

    def make(self, FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< short,int >::sptr":
        r"""make(sccc_encoder_si_sptr self, fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_si_sptr"""
        return _trellis_swig0.sccc_encoder_si_sptr_make(self, FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_si_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_si_sptr_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_si_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_si_sptr_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_si_sptr self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_si_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(sccc_encoder_si_sptr self) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_si_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(sccc_encoder_si_sptr self, int which, int delay)
        declare_sample_delay(sccc_encoder_si_sptr self, unsigned int delay)
        """
        return _trellis_swig0.sccc_encoder_si_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(sccc_encoder_si_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_si_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(sccc_encoder_si_sptr self, int multiple)"""
        return _trellis_swig0.sccc_encoder_si_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(sccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(sccc_encoder_si_sptr self) -> double"""
        return _trellis_swig0.sccc_encoder_si_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(sccc_encoder_si_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_si_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(sccc_encoder_si_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_si_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(sccc_encoder_si_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_si_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(sccc_encoder_si_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_si_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(sccc_encoder_si_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_si_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(sccc_encoder_si_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_si_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(sccc_encoder_si_sptr self, std::string level)"""
        return _trellis_swig0.sccc_encoder_si_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(sccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_si_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(sccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(sccc_encoder_si_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_si_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(sccc_encoder_si_sptr self)"""
        return _trellis_swig0.sccc_encoder_si_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(sccc_encoder_si_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_si_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(sccc_encoder_si_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_si_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(sccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(sccc_encoder_si_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_si_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(sccc_encoder_si_sptr self, long max_output_buffer)
        set_max_output_buffer(sccc_encoder_si_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_si_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(sccc_encoder_si_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_si_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(sccc_encoder_si_sptr self, long min_output_buffer)
        set_min_output_buffer(sccc_encoder_si_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_si_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_si_sptr self, int which) -> float
        pc_input_buffers_full(sccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_si_sptr self, int which) -> float
        pc_input_buffers_full_avg(sccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_si_sptr self, int which) -> float
        pc_input_buffers_full_var(sccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_si_sptr self, int which) -> float
        pc_output_buffers_full(sccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_si_sptr self, int which) -> float
        pc_output_buffers_full_avg(sccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_si_sptr self, int which) -> float
        pc_output_buffers_full_var(sccc_encoder_si_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_encoder_si_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_si_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(sccc_encoder_si_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_si_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.sccc_encoder_si_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(sccc_encoder_si_sptr self)"""
        return _trellis_swig0.sccc_encoder_si_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(sccc_encoder_si_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.sccc_encoder_si_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(sccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(sccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(sccc_encoder_si_sptr self, int priority) -> int"""
        return _trellis_swig0.sccc_encoder_si_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(sccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_si_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(sccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_si_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(sccc_encoder_si_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_si_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(sccc_encoder_si_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_si_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(sccc_encoder_si_sptr self) -> long"""
        return _trellis_swig0.sccc_encoder_si_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(sccc_encoder_si_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.sccc_encoder_si_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(sccc_encoder_si_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.sccc_encoder_si_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(sccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_si_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(sccc_encoder_si_sptr self, std::string name)"""
        return _trellis_swig0.sccc_encoder_si_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(sccc_encoder_si_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.sccc_encoder_si_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(sccc_encoder_si_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_si_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(sccc_encoder_si_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_si_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(sccc_encoder_si_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_si_sptr_message_subscribers(self, which_port)

# Register sccc_encoder_si_sptr in _trellis_swig0:
_trellis_swig0.sccc_encoder_si_sptr_swigregister(sccc_encoder_si_sptr)


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

class sccc_encoder_ii(object):
    r"""Proxy of C++ gr::trellis::sccc_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(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< int,int >::sptr":
        r"""make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_ii_sptr"""
        return _trellis_swig0.sccc_encoder_ii_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_ii self) -> fsm"""
        return _trellis_swig0.sccc_encoder_ii_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_ii self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_ii self) -> fsm"""
        return _trellis_swig0.sccc_encoder_ii_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_ii self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_ii self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_ii_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_ii self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_blocklength(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_ii

# Register sccc_encoder_ii in _trellis_swig0:
_trellis_swig0.sccc_encoder_ii_swigregister(sccc_encoder_ii)

def sccc_encoder_ii_make(FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< int,int >::sptr":
    r"""sccc_encoder_ii_make(fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_ii_sptr"""
    return _trellis_swig0.sccc_encoder_ii_make(FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

class sccc_encoder_ii_sptr(object):
    r"""Proxy of C++ boost::shared_ptr< gr::trellis::sccc_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__(sccc_encoder_ii_sptr self) -> sccc_encoder_ii_sptr
        __init__(sccc_encoder_ii_sptr self, sccc_encoder_ii p) -> sccc_encoder_ii_sptr
        """
        _trellis_swig0.sccc_encoder_ii_sptr_swiginit(self, _trellis_swig0.new_sccc_encoder_ii_sptr(*args))

    def __deref__(self) -> "gr::trellis::sccc_encoder< std::int32_t,std::int32_t > *":
        r"""__deref__(sccc_encoder_ii_sptr self) -> sccc_encoder_ii"""
        return _trellis_swig0.sccc_encoder_ii_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.delete_sccc_encoder_ii_sptr

    def make(self, FSMo: "fsm", STo: "int", FSMi: "fsm", STi: "int", INTERLEAVER: "interleaver", blocklength: "int") -> "gr::trellis::sccc_encoder< int,int >::sptr":
        r"""make(sccc_encoder_ii_sptr self, fsm FSMo, int STo, fsm FSMi, int STi, interleaver INTERLEAVER, int blocklength) -> sccc_encoder_ii_sptr"""
        return _trellis_swig0.sccc_encoder_ii_sptr_make(self, FSMo, STo, FSMi, STi, INTERLEAVER, blocklength)

    def FSMo(self) -> "gr::trellis::fsm":
        r"""FSMo(sccc_encoder_ii_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_ii_sptr_FSMo(self)

    def STo(self) -> "int":
        r"""STo(sccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_STo(self)

    def FSMi(self) -> "gr::trellis::fsm":
        r"""FSMi(sccc_encoder_ii_sptr self) -> fsm"""
        return _trellis_swig0.sccc_encoder_ii_sptr_FSMi(self)

    def STi(self) -> "int":
        r"""STi(sccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_STi(self)

    def INTERLEAVER(self) -> "gr::trellis::interleaver":
        r"""INTERLEAVER(sccc_encoder_ii_sptr self) -> interleaver"""
        return _trellis_swig0.sccc_encoder_ii_sptr_INTERLEAVER(self)

    def blocklength(self) -> "int":
        r"""blocklength(sccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_blocklength(self)

    def history(self) -> "unsigned int":
        r"""history(sccc_encoder_ii_sptr self) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_history(self)

    def declare_sample_delay(self, *args) -> "void":
        r"""
        declare_sample_delay(sccc_encoder_ii_sptr self, int which, int delay)
        declare_sample_delay(sccc_encoder_ii_sptr self, unsigned int delay)
        """
        return _trellis_swig0.sccc_encoder_ii_sptr_declare_sample_delay(self, *args)

    def sample_delay(self, which: "int") -> "unsigned int":
        r"""sample_delay(sccc_encoder_ii_sptr self, int which) -> unsigned int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_sample_delay(self, which)

    def set_output_multiple(self, multiple: "int") -> "void":
        r"""set_output_multiple(sccc_encoder_ii_sptr self, int multiple)"""
        return _trellis_swig0.sccc_encoder_ii_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(sccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(sccc_encoder_ii_sptr self) -> double"""
        return _trellis_swig0.sccc_encoder_ii_sptr_relative_rate(self)

    def relative_rate_i(self) -> "uint64_t":
        r"""relative_rate_i(sccc_encoder_ii_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_ii_sptr_relative_rate_i(self)

    def relative_rate_d(self) -> "uint64_t":
        r"""relative_rate_d(sccc_encoder_ii_sptr self) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_ii_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(sccc_encoder_ii_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_ii_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(sccc_encoder_ii_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_ii_sptr_stop(self)

    def nitems_read(self, which_input: "unsigned int") -> "uint64_t":
        r"""nitems_read(sccc_encoder_ii_sptr self, unsigned int which_input) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_ii_sptr_nitems_read(self, which_input)

    def nitems_written(self, which_output: "unsigned int") -> "uint64_t":
        r"""nitems_written(sccc_encoder_ii_sptr self, unsigned int which_output) -> uint64_t"""
        return _trellis_swig0.sccc_encoder_ii_sptr_nitems_written(self, which_output)

    def set_log_level(self, level: "std::string") -> "void":
        r"""set_log_level(sccc_encoder_ii_sptr self, std::string level)"""
        return _trellis_swig0.sccc_encoder_ii_sptr_set_log_level(self, level)

    def log_level(self) -> "std::string":
        r"""log_level(sccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_ii_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(sccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_max_noutput_items(self)

    def set_max_noutput_items(self, m: "int") -> "void":
        r"""set_max_noutput_items(sccc_encoder_ii_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_ii_sptr_set_max_noutput_items(self, m)

    def unset_max_noutput_items(self) -> "void":
        r"""unset_max_noutput_items(sccc_encoder_ii_sptr self)"""
        return _trellis_swig0.sccc_encoder_ii_sptr_unset_max_noutput_items(self)

    def is_set_max_noutput_items(self) -> "bool":
        r"""is_set_max_noutput_items(sccc_encoder_ii_sptr self) -> bool"""
        return _trellis_swig0.sccc_encoder_ii_sptr_is_set_max_noutput_items(self)

    def set_min_noutput_items(self, m: "int") -> "void":
        r"""set_min_noutput_items(sccc_encoder_ii_sptr self, int m)"""
        return _trellis_swig0.sccc_encoder_ii_sptr_set_min_noutput_items(self, m)

    def min_noutput_items(self) -> "int":
        r"""min_noutput_items(sccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_min_noutput_items(self)

    def max_output_buffer(self, i: "int") -> "long":
        r"""max_output_buffer(sccc_encoder_ii_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_ii_sptr_max_output_buffer(self, i)

    def set_max_output_buffer(self, *args) -> "void":
        r"""
        set_max_output_buffer(sccc_encoder_ii_sptr self, long max_output_buffer)
        set_max_output_buffer(sccc_encoder_ii_sptr self, int port, long max_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_ii_sptr_set_max_output_buffer(self, *args)

    def min_output_buffer(self, i: "int") -> "long":
        r"""min_output_buffer(sccc_encoder_ii_sptr self, int i) -> long"""
        return _trellis_swig0.sccc_encoder_ii_sptr_min_output_buffer(self, i)

    def set_min_output_buffer(self, *args) -> "void":
        r"""
        set_min_output_buffer(sccc_encoder_ii_sptr self, long min_output_buffer)
        set_min_output_buffer(sccc_encoder_ii_sptr self, int port, long min_output_buffer)
        """
        return _trellis_swig0.sccc_encoder_ii_sptr_set_min_output_buffer(self, *args)

    def pc_noutput_items(self) -> "float":
        r"""pc_noutput_items(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_noutput_items(self)

    def pc_noutput_items_avg(self) -> "float":
        r"""pc_noutput_items_avg(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_noutput_items_avg(self)

    def pc_noutput_items_var(self) -> "float":
        r"""pc_noutput_items_var(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full(sccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full_avg(sccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ii_sptr self, int which) -> float
        pc_input_buffers_full_var(sccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full(sccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full_avg(sccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_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(sccc_encoder_ii_sptr self, int which) -> float
        pc_output_buffers_full_var(sccc_encoder_ii_sptr self) -> pmt_vector_float
        """
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_output_buffers_full_var(self, *args)

    def pc_work_time(self) -> "float":
        r"""pc_work_time(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_work_time(self)

    def pc_work_time_avg(self) -> "float":
        r"""pc_work_time_avg(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_work_time_avg(self)

    def pc_work_time_var(self) -> "float":
        r"""pc_work_time_var(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_work_time_var(self)

    def pc_work_time_total(self) -> "float":
        r"""pc_work_time_total(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_encoder_ii_sptr_pc_work_time_total(self)

    def pc_throughput_avg(self) -> "float":
        r"""pc_throughput_avg(sccc_encoder_ii_sptr self) -> float"""
        return _trellis_swig0.sccc_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(sccc_encoder_ii_sptr self, std::vector< int,std::allocator< int > > const & mask)"""
        return _trellis_swig0.sccc_encoder_ii_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(sccc_encoder_ii_sptr self)"""
        return _trellis_swig0.sccc_encoder_ii_sptr_unset_processor_affinity(self)

    def processor_affinity(self) -> "std::vector< int,std::allocator< int > >":
        r"""processor_affinity(sccc_encoder_ii_sptr self) -> std::vector< int,std::allocator< int > >"""
        return _trellis_swig0.sccc_encoder_ii_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(sccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(sccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_thread_priority(self)

    def set_thread_priority(self, priority: "int") -> "int":
        r"""set_thread_priority(sccc_encoder_ii_sptr self, int priority) -> int"""
        return _trellis_swig0.sccc_encoder_ii_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(sccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_ii_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(sccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_ii_sptr_symbol_name(self)

    def input_signature(self) -> "gr::io_signature::sptr":
        r"""input_signature(sccc_encoder_ii_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_ii_sptr_input_signature(self)

    def output_signature(self) -> "gr::io_signature::sptr":
        r"""output_signature(sccc_encoder_ii_sptr self) -> io_signature_sptr"""
        return _trellis_swig0.sccc_encoder_ii_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(sccc_encoder_ii_sptr self) -> long"""
        return _trellis_swig0.sccc_encoder_ii_sptr_unique_id(self)

    def to_basic_block(self) -> "gr::basic_block_sptr":
        r"""to_basic_block(sccc_encoder_ii_sptr self) -> basic_block_sptr"""
        return _trellis_swig0.sccc_encoder_ii_sptr_to_basic_block(self)

    def check_topology(self, ninputs: "int", noutputs: "int") -> "bool":
        r"""check_topology(sccc_encoder_ii_sptr self, int ninputs, int noutputs) -> bool"""
        return _trellis_swig0.sccc_encoder_ii_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(sccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.sccc_encoder_ii_sptr_alias(self)

    def set_block_alias(self, name: "std::string") -> "void":
        r"""set_block_alias(sccc_encoder_ii_sptr self, std::string name)"""
        return _trellis_swig0.sccc_encoder_ii_sptr_set_block_alias(self, name)

    def _post(self, which_port: "swig_pmt_ptr", msg: "swig_pmt_ptr") -> "void":
        r"""_post(sccc_encoder_ii_sptr self, swig_pmt_ptr which_port, swig_pmt_ptr msg)"""
        return _trellis_swig0.sccc_encoder_ii_sptr__post(self, which_port, msg)

    def message_ports_in(self) -> "pmt::pmt_t":
        r"""message_ports_in(sccc_encoder_ii_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_ii_sptr_message_ports_in(self)

    def message_ports_out(self) -> "pmt::pmt_t":
        r"""message_ports_out(sccc_encoder_ii_sptr self) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_ii_sptr_message_ports_out(self)

    def message_subscribers(self, which_port: "swig_pmt_ptr") -> "pmt::pmt_t":
        r"""message_subscribers(sccc_encoder_ii_sptr self, swig_pmt_ptr which_port) -> swig_pmt_ptr"""
        return _trellis_swig0.sccc_encoder_ii_sptr_message_subscribers(self, which_port)

# Register sccc_encoder_ii_sptr in _trellis_swig0:
_trellis_swig0.sccc_encoder_ii_sptr_swigregister(sccc_encoder_ii_sptr)


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

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_swig0.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_swig0.pccc_encoder_bb_FSM1(self)

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

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

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

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

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

# Register pccc_encoder_bb in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_bb_sptr_swiginit(self, _trellis_swig0.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_swig0.pccc_encoder_bb_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bb_sptr_FSM1(self)

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

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

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

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

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

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_bb_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bb_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_bb_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bb_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_bb_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bb_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_bb_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bb_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_bb_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bb_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_bb_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bb_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_bb_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_bs_FSM1(self)

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

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

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

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

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

# Register pccc_encoder_bs in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_bs_sptr_swiginit(self, _trellis_swig0.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_swig0.pccc_encoder_bs_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bs_sptr_FSM1(self)

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

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

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

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

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

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_bs_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bs_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_bs_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bs_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_bs_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bs_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_bs_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bs_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_bs_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bs_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_bs_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bs_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_bs_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_bi_FSM1(self)

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

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

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

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

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

# Register pccc_encoder_bi in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_bi_sptr_swiginit(self, _trellis_swig0.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_swig0.pccc_encoder_bi_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bi_sptr_FSM1(self)

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

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

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

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

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

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_bi_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bi_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_bi_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bi_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_bi_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bi_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_bi_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bi_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_bi_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_bi_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_bi_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_bi_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_bi_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_ss_FSM1(self)

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

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

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

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

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

# Register pccc_encoder_ss in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_ss_sptr_swiginit(self, _trellis_swig0.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_swig0.pccc_encoder_ss_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.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_swig0.pccc_encoder_ss_sptr_FSM1(self)

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

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

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

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

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

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_ss_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_ss_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_ss_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_ss_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_ss_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_ss_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_ss_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_ss_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_ss_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_ss_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_ss_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_ss_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_ss_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_si_FSM1(self)

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

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

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

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

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

# Register pccc_encoder_si in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_si_sptr_swiginit(self, _trellis_swig0.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_swig0.pccc_encoder_si_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.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_swig0.pccc_encoder_si_sptr_FSM1(self)

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

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

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

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

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

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_si_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_si_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_si_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_si_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_si_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_si_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_si_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_si_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_si_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_si_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_si_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_si_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_si_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_ii_FSM1(self)

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

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

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

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

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

# Register pccc_encoder_ii in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.pccc_encoder_ii_sptr_swiginit(self, _trellis_swig0.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_swig0.pccc_encoder_ii_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.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_swig0.pccc_encoder_ii_sptr_FSM1(self)

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

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

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

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

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

    def history(self) -> "unsigned int":
        r"""history(pccc_encoder_ii_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_ii_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(pccc_encoder_ii_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_ii_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(pccc_encoder_ii_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_ii_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(pccc_encoder_ii_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_ii_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(pccc_encoder_ii_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.pccc_encoder_ii_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(pccc_encoder_ii_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.pccc_encoder_ii_sptr_message_subscribers(self, which_port)

# Register pccc_encoder_ii_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.metrics_s_make(O, D, TABLE, TYPE)

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

    def D(self) -> "int":
        r"""D(metrics_s self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_s_TABLE(self)

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

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_s self, int D)"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_s_set_TABLE(self, table)
    __swig_destroy__ = _trellis_swig0.delete_metrics_s

# Register metrics_s in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.metrics_s_sptr_swiginit(self, _trellis_swig0.new_metrics_s_sptr(*args))

    def __deref__(self) -> "gr::trellis::metrics< std::int16_t > *":
        r"""__deref__(metrics_s_sptr self) -> metrics_s"""
        return _trellis_swig0.metrics_s_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.metrics_s_sptr_make(self, O, D, TABLE, TYPE)

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

    def D(self) -> "int":
        r"""D(metrics_s_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_s_sptr_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_s_sptr self, int O)"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.metrics_s_sptr_set_TABLE(self, table)

    def history(self) -> "unsigned int":
        r"""history(metrics_s_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.metrics_s_sptr_set_output_multiple(self, multiple)

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

    def relative_rate(self) -> "double":
        r"""relative_rate(metrics_s_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_s_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(metrics_s_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_s_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(metrics_s_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_s_sptr_pc_noutput_items_var(self)

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

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

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(metrics_s_sptr self) -> float"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_s_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(metrics_s_sptr self)"""
        return _trellis_swig0.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_swig0.metrics_s_sptr_processor_affinity(self)

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

    def thread_priority(self) -> "int":
        r"""thread_priority(metrics_s_sptr self) -> int"""
        return _trellis_swig0.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_swig0.metrics_s_sptr_set_thread_priority(self, priority)

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

    def symbol_name(self) -> "std::string":
        r"""symbol_name(metrics_s_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_s_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(metrics_s_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_s_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(metrics_s_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_s_sptr_message_subscribers(self, which_port)

# Register metrics_s_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.metrics_i_make(O, D, TABLE, TYPE)

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

    def D(self) -> "int":
        r"""D(metrics_i self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_i_TABLE(self)

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

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_i self, int D)"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_i_set_TABLE(self, table)
    __swig_destroy__ = _trellis_swig0.delete_metrics_i

# Register metrics_i in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.metrics_i_sptr_swiginit(self, _trellis_swig0.new_metrics_i_sptr(*args))

    def __deref__(self) -> "gr::trellis::metrics< std::int32_t > *":
        r"""__deref__(metrics_i_sptr self) -> metrics_i"""
        return _trellis_swig0.metrics_i_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.metrics_i_sptr_make(self, O, D, TABLE, TYPE)

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

    def D(self) -> "int":
        r"""D(metrics_i_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_i_sptr_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_i_sptr self, int O)"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.metrics_i_sptr_set_TABLE(self, table)

    def history(self) -> "unsigned int":
        r"""history(metrics_i_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.metrics_i_sptr_set_output_multiple(self, multiple)

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

    def relative_rate(self) -> "double":
        r"""relative_rate(metrics_i_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_i_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(metrics_i_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_i_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(metrics_i_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_i_sptr_pc_noutput_items_var(self)

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

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

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(metrics_i_sptr self) -> float"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_i_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(metrics_i_sptr self)"""
        return _trellis_swig0.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_swig0.metrics_i_sptr_processor_affinity(self)

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

    def thread_priority(self) -> "int":
        r"""thread_priority(metrics_i_sptr self) -> int"""
        return _trellis_swig0.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_swig0.metrics_i_sptr_set_thread_priority(self, priority)

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

    def symbol_name(self) -> "std::string":
        r"""symbol_name(metrics_i_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_i_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(metrics_i_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_i_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(metrics_i_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_i_sptr_message_subscribers(self, which_port)

# Register metrics_i_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.metrics_f_make(O, D, TABLE, TYPE)

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

    def D(self) -> "int":
        r"""D(metrics_f self) -> int"""
        return _trellis_swig0.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_swig0.metrics_f_TYPE(self)

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

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

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_f self, int D)"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_f_set_TABLE(self, table)
    __swig_destroy__ = _trellis_swig0.delete_metrics_f

# Register metrics_f in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.metrics_f_sptr_swiginit(self, _trellis_swig0.new_metrics_f_sptr(*args))

    def __deref__(self) -> "gr::trellis::metrics< float > *":
        r"""__deref__(metrics_f_sptr self) -> metrics_f"""
        return _trellis_swig0.metrics_f_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.metrics_f_sptr_make(self, O, D, TABLE, TYPE)

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

    def D(self) -> "int":
        r"""D(metrics_f_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_f_sptr_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_f_sptr self, int O)"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.metrics_f_sptr_set_TABLE(self, table)

    def history(self) -> "unsigned int":
        r"""history(metrics_f_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.metrics_f_sptr_set_output_multiple(self, multiple)

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

    def relative_rate(self) -> "double":
        r"""relative_rate(metrics_f_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_f_sptr_relative_rate_d(self)

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

    def stop(self) -> "bool":
        r"""stop(metrics_f_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_f_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(metrics_f_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_f_sptr_pc_noutput_items_var(self)

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

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

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(metrics_f_sptr self) -> float"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_f_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(metrics_f_sptr self)"""
        return _trellis_swig0.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_swig0.metrics_f_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(metrics_f_sptr self) -> int"""
        return _trellis_swig0.metrics_f_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(metrics_f_sptr self) -> int"""
        return _trellis_swig0.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_swig0.metrics_f_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(metrics_f_sptr self) -> std::string"""
        return _trellis_swig0.metrics_f_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(metrics_f_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_f_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(metrics_f_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_f_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(metrics_f_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_f_sptr_message_subscribers(self, which_port)

# Register metrics_f_sptr in _trellis_swig0:
_trellis_swig0.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_swig0.metrics_c_make(O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_c self) -> int"""
        return _trellis_swig0.metrics_c_O(self)

    def D(self) -> "int":
        r"""D(metrics_c self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_c_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_c self, int O)"""
        return _trellis_swig0.metrics_c_set_O(self, O)

    def set_D(self, D: "int") -> "void":
        r"""set_D(metrics_c self, int D)"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_c_set_TABLE(self, table)
    __swig_destroy__ = _trellis_swig0.delete_metrics_c

# Register metrics_c in _trellis_swig0:
_trellis_swig0.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_swig0.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_swig0.metrics_c_sptr_swiginit(self, _trellis_swig0.new_metrics_c_sptr(*args))

    def __deref__(self) -> "gr::trellis::metrics< gr_complex > *":
        r"""__deref__(metrics_c_sptr self) -> metrics_c"""
        return _trellis_swig0.metrics_c_sptr___deref__(self)
    __swig_destroy__ = _trellis_swig0.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_swig0.metrics_c_sptr_make(self, O, D, TABLE, TYPE)

    def O(self) -> "int":
        r"""O(metrics_c_sptr self) -> int"""
        return _trellis_swig0.metrics_c_sptr_O(self)

    def D(self) -> "int":
        r"""D(metrics_c_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_c_sptr_TABLE(self)

    def set_O(self, O: "int") -> "void":
        r"""set_O(metrics_c_sptr self, int O)"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.metrics_c_sptr_set_TABLE(self, table)

    def history(self) -> "unsigned int":
        r"""history(metrics_c_sptr self) -> unsigned int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.metrics_c_sptr_set_output_multiple(self, multiple)

    def output_multiple(self) -> "int":
        r"""output_multiple(metrics_c_sptr self) -> int"""
        return _trellis_swig0.metrics_c_sptr_output_multiple(self)

    def relative_rate(self) -> "double":
        r"""relative_rate(metrics_c_sptr self) -> double"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_c_sptr_relative_rate_d(self)

    def start(self) -> "bool":
        r"""start(metrics_c_sptr self) -> bool"""
        return _trellis_swig0.metrics_c_sptr_start(self)

    def stop(self) -> "bool":
        r"""stop(metrics_c_sptr self) -> bool"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_c_sptr_log_level(self)

    def max_noutput_items(self) -> "int":
        r"""max_noutput_items(metrics_c_sptr self) -> int"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_c_sptr_pc_noutput_items_var(self)

    def pc_nproduced(self) -> "float":
        r"""pc_nproduced(metrics_c_sptr self) -> float"""
        return _trellis_swig0.metrics_c_sptr_pc_nproduced(self)

    def pc_nproduced_avg(self) -> "float":
        r"""pc_nproduced_avg(metrics_c_sptr self) -> float"""
        return _trellis_swig0.metrics_c_sptr_pc_nproduced_avg(self)

    def pc_nproduced_var(self) -> "float":
        r"""pc_nproduced_var(metrics_c_sptr self) -> float"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_c_sptr_set_processor_affinity(self, mask)

    def unset_processor_affinity(self) -> "void":
        r"""unset_processor_affinity(metrics_c_sptr self)"""
        return _trellis_swig0.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_swig0.metrics_c_sptr_processor_affinity(self)

    def active_thread_priority(self) -> "int":
        r"""active_thread_priority(metrics_c_sptr self) -> int"""
        return _trellis_swig0.metrics_c_sptr_active_thread_priority(self)

    def thread_priority(self) -> "int":
        r"""thread_priority(metrics_c_sptr self) -> int"""
        return _trellis_swig0.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_swig0.metrics_c_sptr_set_thread_priority(self, priority)

    def name(self) -> "std::string":
        r"""name(metrics_c_sptr self) -> std::string"""
        return _trellis_swig0.metrics_c_sptr_name(self)

    def symbol_name(self) -> "std::string":
        r"""symbol_name(metrics_c_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_c_sptr_output_signature(self)

    def unique_id(self) -> "long":
        r"""unique_id(metrics_c_sptr self) -> long"""
        return _trellis_swig0.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_swig0.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_swig0.metrics_c_sptr_check_topology(self, ninputs, noutputs)

    def alias(self) -> "std::string":
        r"""alias(metrics_c_sptr self) -> std::string"""
        return _trellis_swig0.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_swig0.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_swig0.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_swig0.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_swig0.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_swig0.metrics_c_sptr_message_subscribers(self, which_port)

# Register metrics_c_sptr in _trellis_swig0:
_trellis_swig0.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



