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


import collections

from sys import version_info as _version_info
if _version_info < (3, 7, 0):
    raise RuntimeError("Python 3.7 or later required")

from . import _ITKCommonPython


from . import _ITKCommonPython



from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _itkVariableLengthVectorPython
else:
    import _itkVariableLengthVectorPython

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 == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(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__)


if _swig_python_version_info[0:2] >= (3, 3):
    import collections.abc
else:
    import collections

import itk.stdcomplexPython
import itk.pyBasePython
class itkVariableLengthVectorCF(object):
    r"""Proxy of C++ itkVariableLengthVectorCF 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__(self) -> itkVariableLengthVectorCF
        __init__(self, length) -> itkVariableLengthVectorCF

        Parameters
        ----------
        length: unsigned int

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorCF

        Parameters
        ----------
        datain: stdcomplexF *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorCF

        Parameters
        ----------
        datain: stdcomplexF const *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, v) -> itkVariableLengthVectorCF

        Parameters
        ----------
        v: itkVariableLengthVectorCF const &

        """
        _itkVariableLengthVectorPython.itkVariableLengthVectorCF_swiginit(self, _itkVariableLengthVectorPython.new_itkVariableLengthVectorCF(*args))

    def Swap(self, v):
        r"""
        Swap(self, v)

        Parameters
        ----------
        v: itkVariableLengthVectorCF &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_Swap(self, v)

    def Fill(self, v):
        r"""
        Fill(self, v)

        Parameters
        ----------
        v: stdcomplexF const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_Fill(self, v)

    def FastAssign(self, v):
        r"""
        FastAssign(self, v) -> itkVariableLengthVectorCF

        Parameters
        ----------
        v: itkVariableLengthVectorCF const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_FastAssign(self, v)

    def Size(self):
        r"""Size(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_Size(self)

    def GetSize(self):
        r"""GetSize(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_GetSize(self)

    def GetNumberOfElements(self):
        r"""GetNumberOfElements(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_GetNumberOfElements(self)

    def GetElement(self, i):
        r"""
        GetElement(self, i) -> stdcomplexF

        Parameters
        ----------
        i: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_GetElement(self, i)

    def SetElement(self, i, value):
        r"""
        SetElement(self, i, value)

        Parameters
        ----------
        i: unsigned int
        value: stdcomplexF const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_SetElement(self, i, value)

    def SetSize(self, sz, destroyExistingData=True):
        r"""
        SetSize(self, sz, destroyExistingData=True)

        Parameters
        ----------
        sz: unsigned int
        destroyExistingData: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_SetSize(self, sz, destroyExistingData)

    def DestroyExistingData(self):
        r"""DestroyExistingData(self)"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_DestroyExistingData(self)

    def SetData(self, *args):
        r"""
        SetData(self, datain, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: stdcomplexF *
        LetArrayManageMemory: bool

        SetData(self, datain, sz, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: stdcomplexF *
        sz: unsigned int
        LetArrayManageMemory: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_SetData(self, *args)
    __swig_destroy__ = _itkVariableLengthVectorPython.delete_itkVariableLengthVectorCF

    def Reserve(self, size):
        r"""
        Reserve(self, size)

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_Reserve(self, size)

    def AllocateElements(self, size):
        r"""
        AllocateElements(self, size) -> stdcomplexF

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_AllocateElements(self, size)

    def GetDataPointer(self):
        r"""GetDataPointer(self) -> stdcomplexF"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_GetDataPointer(self)

    def __isub__(self, s):
        r"""
        __isub__(self, s) -> itkVariableLengthVectorCF

        Parameters
        ----------
        s: stdcomplexF

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF___isub__(self, s)

    def __iadd__(self, s):
        r"""
        __iadd__(self, s) -> itkVariableLengthVectorCF

        Parameters
        ----------
        s: stdcomplexF

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF___iadd__(self, s)

    def __imul__(self, s):
        r"""
        __imul__(self, s) -> itkVariableLengthVectorCF

        Parameters
        ----------
        s: stdcomplexF

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF___imul__(self, s)

    def __neg__(self):
        r"""__neg__(self) -> itkVariableLengthVectorCF"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF___neg__(self)

    def __eq__(self, v):
        r"""
        __eq__(self, v) -> bool

        Parameters
        ----------
        v: itkVariableLengthVectorCF const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF___eq__(self, v)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkVariableLengthVectorCF const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF___ne__(self, other)

    def GetNorm(self):
        r"""GetNorm(self) -> stdcomplexD"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_GetNorm(self)

    def GetSquaredNorm(self):
        r"""GetSquaredNorm(self) -> stdcomplexD"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_GetSquaredNorm(self)

    def IsAProxy(self):
        r"""IsAProxy(self) -> bool"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorCF_IsAProxy(self)

# Register itkVariableLengthVectorCF in _itkVariableLengthVectorPython:
_itkVariableLengthVectorPython.itkVariableLengthVectorCF_swigregister(itkVariableLengthVectorCF)
class itkVariableLengthVectorD(object):
    r"""Proxy of C++ itkVariableLengthVectorD class."""

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

    def __init__(self, *args):
        r"""
        __init__(self) -> itkVariableLengthVectorD
        __init__(self, length) -> itkVariableLengthVectorD

        Parameters
        ----------
        length: unsigned int

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorD

        Parameters
        ----------
        datain: double *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorD

        Parameters
        ----------
        datain: double const *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, v) -> itkVariableLengthVectorD

        Parameters
        ----------
        v: itkVariableLengthVectorD const &

        """
        _itkVariableLengthVectorPython.itkVariableLengthVectorD_swiginit(self, _itkVariableLengthVectorPython.new_itkVariableLengthVectorD(*args))

    def Swap(self, v):
        r"""
        Swap(self, v)

        Parameters
        ----------
        v: itkVariableLengthVectorD &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_Swap(self, v)

    def Fill(self, v):
        r"""
        Fill(self, v)

        Parameters
        ----------
        v: double const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_Fill(self, v)

    def FastAssign(self, v):
        r"""
        FastAssign(self, v) -> itkVariableLengthVectorD

        Parameters
        ----------
        v: itkVariableLengthVectorD const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_FastAssign(self, v)

    def Size(self):
        r"""Size(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_Size(self)

    def GetSize(self):
        r"""GetSize(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_GetSize(self)

    def GetNumberOfElements(self):
        r"""GetNumberOfElements(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_GetNumberOfElements(self)

    def GetElement(self, i):
        r"""
        GetElement(self, i) -> double const &

        Parameters
        ----------
        i: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_GetElement(self, i)

    def SetElement(self, i, value):
        r"""
        SetElement(self, i, value)

        Parameters
        ----------
        i: unsigned int
        value: double const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_SetElement(self, i, value)

    def SetSize(self, sz, destroyExistingData=True):
        r"""
        SetSize(self, sz, destroyExistingData=True)

        Parameters
        ----------
        sz: unsigned int
        destroyExistingData: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_SetSize(self, sz, destroyExistingData)

    def DestroyExistingData(self):
        r"""DestroyExistingData(self)"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_DestroyExistingData(self)

    def SetData(self, *args):
        r"""
        SetData(self, datain, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: double *
        LetArrayManageMemory: bool

        SetData(self, datain, sz, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: double *
        sz: unsigned int
        LetArrayManageMemory: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_SetData(self, *args)
    __swig_destroy__ = _itkVariableLengthVectorPython.delete_itkVariableLengthVectorD

    def Reserve(self, size):
        r"""
        Reserve(self, size)

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_Reserve(self, size)

    def AllocateElements(self, size):
        r"""
        AllocateElements(self, size) -> double *

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_AllocateElements(self, size)

    def GetDataPointer(self):
        r"""GetDataPointer(self) -> double const *"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_GetDataPointer(self)

    def __isub__(self, s):
        r"""
        __isub__(self, s) -> itkVariableLengthVectorD

        Parameters
        ----------
        s: double

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___isub__(self, s)

    def __iadd__(self, s):
        r"""
        __iadd__(self, s) -> itkVariableLengthVectorD

        Parameters
        ----------
        s: double

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___iadd__(self, s)

    def __imul__(self, s):
        r"""
        __imul__(self, s) -> itkVariableLengthVectorD

        Parameters
        ----------
        s: double

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___imul__(self, s)

    def __neg__(self):
        r"""__neg__(self) -> itkVariableLengthVectorD"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___neg__(self)

    def __eq__(self, v):
        r"""
        __eq__(self, v) -> bool

        Parameters
        ----------
        v: itkVariableLengthVectorD const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___eq__(self, v)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkVariableLengthVectorD const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___ne__(self, other)

    def GetNorm(self):
        r"""GetNorm(self) -> double"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_GetNorm(self)

    def GetSquaredNorm(self):
        r"""GetSquaredNorm(self) -> double"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_GetSquaredNorm(self)

    def IsAProxy(self):
        r"""IsAProxy(self) -> bool"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD_IsAProxy(self)

    def __add__(self, v2):
        r"""
        __add__(self, v2) -> itkVariableLengthVectorD

        Parameters
        ----------
        v2: itkVariableLengthVectorD

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___add__(self, v2)

    def __sub__(self, v2):
        r"""
        __sub__(self, v2) -> itkVariableLengthVectorD

        Parameters
        ----------
        v2: itkVariableLengthVectorD

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___sub__(self, v2)

    def __getitem__(self, d):
        r"""
        __getitem__(self, d) -> double

        Parameters
        ----------
        d: unsigned long

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___getitem__(self, d)

    def __setitem__(self, d, v):
        r"""
        __setitem__(self, d, v)

        Parameters
        ----------
        d: unsigned long
        v: double

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___setitem__(self, d, v)

    def __len__(self):
        r"""__len__(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___len__(self)

    def __repr__(self):
        r"""__repr__(self) -> std::string"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorD___repr__(self)

# Register itkVariableLengthVectorD in _itkVariableLengthVectorPython:
_itkVariableLengthVectorPython.itkVariableLengthVectorD_swigregister(itkVariableLengthVectorD)
class itkVariableLengthVectorF(object):
    r"""Proxy of C++ itkVariableLengthVectorF class."""

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

    def __init__(self, *args):
        r"""
        __init__(self) -> itkVariableLengthVectorF
        __init__(self, length) -> itkVariableLengthVectorF

        Parameters
        ----------
        length: unsigned int

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorF

        Parameters
        ----------
        datain: float *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorF

        Parameters
        ----------
        datain: float const *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, v) -> itkVariableLengthVectorF

        Parameters
        ----------
        v: itkVariableLengthVectorF const &

        """
        _itkVariableLengthVectorPython.itkVariableLengthVectorF_swiginit(self, _itkVariableLengthVectorPython.new_itkVariableLengthVectorF(*args))

    def Swap(self, v):
        r"""
        Swap(self, v)

        Parameters
        ----------
        v: itkVariableLengthVectorF &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_Swap(self, v)

    def Fill(self, v):
        r"""
        Fill(self, v)

        Parameters
        ----------
        v: float const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_Fill(self, v)

    def FastAssign(self, v):
        r"""
        FastAssign(self, v) -> itkVariableLengthVectorF

        Parameters
        ----------
        v: itkVariableLengthVectorF const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_FastAssign(self, v)

    def Size(self):
        r"""Size(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_Size(self)

    def GetSize(self):
        r"""GetSize(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_GetSize(self)

    def GetNumberOfElements(self):
        r"""GetNumberOfElements(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_GetNumberOfElements(self)

    def GetElement(self, i):
        r"""
        GetElement(self, i) -> float const &

        Parameters
        ----------
        i: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_GetElement(self, i)

    def SetElement(self, i, value):
        r"""
        SetElement(self, i, value)

        Parameters
        ----------
        i: unsigned int
        value: float const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_SetElement(self, i, value)

    def SetSize(self, sz, destroyExistingData=True):
        r"""
        SetSize(self, sz, destroyExistingData=True)

        Parameters
        ----------
        sz: unsigned int
        destroyExistingData: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_SetSize(self, sz, destroyExistingData)

    def DestroyExistingData(self):
        r"""DestroyExistingData(self)"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_DestroyExistingData(self)

    def SetData(self, *args):
        r"""
        SetData(self, datain, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: float *
        LetArrayManageMemory: bool

        SetData(self, datain, sz, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: float *
        sz: unsigned int
        LetArrayManageMemory: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_SetData(self, *args)
    __swig_destroy__ = _itkVariableLengthVectorPython.delete_itkVariableLengthVectorF

    def Reserve(self, size):
        r"""
        Reserve(self, size)

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_Reserve(self, size)

    def AllocateElements(self, size):
        r"""
        AllocateElements(self, size) -> float *

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_AllocateElements(self, size)

    def GetDataPointer(self):
        r"""GetDataPointer(self) -> float const *"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_GetDataPointer(self)

    def __isub__(self, s):
        r"""
        __isub__(self, s) -> itkVariableLengthVectorF

        Parameters
        ----------
        s: float

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___isub__(self, s)

    def __iadd__(self, s):
        r"""
        __iadd__(self, s) -> itkVariableLengthVectorF

        Parameters
        ----------
        s: float

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___iadd__(self, s)

    def __imul__(self, s):
        r"""
        __imul__(self, s) -> itkVariableLengthVectorF

        Parameters
        ----------
        s: float

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___imul__(self, s)

    def __neg__(self):
        r"""__neg__(self) -> itkVariableLengthVectorF"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___neg__(self)

    def __eq__(self, v):
        r"""
        __eq__(self, v) -> bool

        Parameters
        ----------
        v: itkVariableLengthVectorF const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___eq__(self, v)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkVariableLengthVectorF const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___ne__(self, other)

    def GetNorm(self):
        r"""GetNorm(self) -> double"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_GetNorm(self)

    def GetSquaredNorm(self):
        r"""GetSquaredNorm(self) -> double"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_GetSquaredNorm(self)

    def IsAProxy(self):
        r"""IsAProxy(self) -> bool"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF_IsAProxy(self)

    def __add__(self, v2):
        r"""
        __add__(self, v2) -> itkVariableLengthVectorF

        Parameters
        ----------
        v2: itkVariableLengthVectorF

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___add__(self, v2)

    def __sub__(self, v2):
        r"""
        __sub__(self, v2) -> itkVariableLengthVectorF

        Parameters
        ----------
        v2: itkVariableLengthVectorF

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___sub__(self, v2)

    def __getitem__(self, d):
        r"""
        __getitem__(self, d) -> float

        Parameters
        ----------
        d: unsigned long

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___getitem__(self, d)

    def __setitem__(self, d, v):
        r"""
        __setitem__(self, d, v)

        Parameters
        ----------
        d: unsigned long
        v: float

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___setitem__(self, d, v)

    def __len__(self):
        r"""__len__(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___len__(self)

    def __repr__(self):
        r"""__repr__(self) -> std::string"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorF___repr__(self)

# Register itkVariableLengthVectorF in _itkVariableLengthVectorPython:
_itkVariableLengthVectorPython.itkVariableLengthVectorF_swigregister(itkVariableLengthVectorF)
class itkVariableLengthVectorSS(object):
    r"""Proxy of C++ itkVariableLengthVectorSS class."""

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

    def __init__(self, *args):
        r"""
        __init__(self) -> itkVariableLengthVectorSS
        __init__(self, length) -> itkVariableLengthVectorSS

        Parameters
        ----------
        length: unsigned int

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorSS

        Parameters
        ----------
        datain: short *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorSS

        Parameters
        ----------
        datain: short const *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, v) -> itkVariableLengthVectorSS

        Parameters
        ----------
        v: itkVariableLengthVectorSS const &

        """
        _itkVariableLengthVectorPython.itkVariableLengthVectorSS_swiginit(self, _itkVariableLengthVectorPython.new_itkVariableLengthVectorSS(*args))

    def Swap(self, v):
        r"""
        Swap(self, v)

        Parameters
        ----------
        v: itkVariableLengthVectorSS &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_Swap(self, v)

    def Fill(self, v):
        r"""
        Fill(self, v)

        Parameters
        ----------
        v: short const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_Fill(self, v)

    def FastAssign(self, v):
        r"""
        FastAssign(self, v) -> itkVariableLengthVectorSS

        Parameters
        ----------
        v: itkVariableLengthVectorSS const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_FastAssign(self, v)

    def Size(self):
        r"""Size(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_Size(self)

    def GetSize(self):
        r"""GetSize(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_GetSize(self)

    def GetNumberOfElements(self):
        r"""GetNumberOfElements(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_GetNumberOfElements(self)

    def GetElement(self, i):
        r"""
        GetElement(self, i) -> short const &

        Parameters
        ----------
        i: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_GetElement(self, i)

    def SetElement(self, i, value):
        r"""
        SetElement(self, i, value)

        Parameters
        ----------
        i: unsigned int
        value: short const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_SetElement(self, i, value)

    def SetSize(self, sz, destroyExistingData=True):
        r"""
        SetSize(self, sz, destroyExistingData=True)

        Parameters
        ----------
        sz: unsigned int
        destroyExistingData: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_SetSize(self, sz, destroyExistingData)

    def DestroyExistingData(self):
        r"""DestroyExistingData(self)"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_DestroyExistingData(self)

    def SetData(self, *args):
        r"""
        SetData(self, datain, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: short *
        LetArrayManageMemory: bool

        SetData(self, datain, sz, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: short *
        sz: unsigned int
        LetArrayManageMemory: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_SetData(self, *args)
    __swig_destroy__ = _itkVariableLengthVectorPython.delete_itkVariableLengthVectorSS

    def Reserve(self, size):
        r"""
        Reserve(self, size)

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_Reserve(self, size)

    def AllocateElements(self, size):
        r"""
        AllocateElements(self, size) -> short *

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_AllocateElements(self, size)

    def GetDataPointer(self):
        r"""GetDataPointer(self) -> short const *"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_GetDataPointer(self)

    def __isub__(self, s):
        r"""
        __isub__(self, s) -> itkVariableLengthVectorSS

        Parameters
        ----------
        s: short

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___isub__(self, s)

    def __iadd__(self, s):
        r"""
        __iadd__(self, s) -> itkVariableLengthVectorSS

        Parameters
        ----------
        s: short

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___iadd__(self, s)

    def __imul__(self, s):
        r"""
        __imul__(self, s) -> itkVariableLengthVectorSS

        Parameters
        ----------
        s: short

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___imul__(self, s)

    def __neg__(self):
        r"""__neg__(self) -> itkVariableLengthVectorSS"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___neg__(self)

    def __eq__(self, v):
        r"""
        __eq__(self, v) -> bool

        Parameters
        ----------
        v: itkVariableLengthVectorSS const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___eq__(self, v)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkVariableLengthVectorSS const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___ne__(self, other)

    def GetNorm(self):
        r"""GetNorm(self) -> double"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_GetNorm(self)

    def GetSquaredNorm(self):
        r"""GetSquaredNorm(self) -> double"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_GetSquaredNorm(self)

    def IsAProxy(self):
        r"""IsAProxy(self) -> bool"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS_IsAProxy(self)

    def __add__(self, v2):
        r"""
        __add__(self, v2) -> itkVariableLengthVectorSS

        Parameters
        ----------
        v2: itkVariableLengthVectorSS

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___add__(self, v2)

    def __sub__(self, v2):
        r"""
        __sub__(self, v2) -> itkVariableLengthVectorSS

        Parameters
        ----------
        v2: itkVariableLengthVectorSS

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___sub__(self, v2)

    def __getitem__(self, d):
        r"""
        __getitem__(self, d) -> short

        Parameters
        ----------
        d: unsigned long

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___getitem__(self, d)

    def __setitem__(self, d, v):
        r"""
        __setitem__(self, d, v)

        Parameters
        ----------
        d: unsigned long
        v: short

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___setitem__(self, d, v)

    def __len__(self):
        r"""__len__(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___len__(self)

    def __repr__(self):
        r"""__repr__(self) -> std::string"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorSS___repr__(self)

# Register itkVariableLengthVectorSS in _itkVariableLengthVectorPython:
_itkVariableLengthVectorPython.itkVariableLengthVectorSS_swigregister(itkVariableLengthVectorSS)
class itkVariableLengthVectorUC(object):
    r"""Proxy of C++ itkVariableLengthVectorUC class."""

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

    def __init__(self, *args):
        r"""
        __init__(self) -> itkVariableLengthVectorUC
        __init__(self, length) -> itkVariableLengthVectorUC

        Parameters
        ----------
        length: unsigned int

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorUC

        Parameters
        ----------
        datain: unsigned char *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, datain, sz, LetArrayManageMemory=False) -> itkVariableLengthVectorUC

        Parameters
        ----------
        datain: unsigned char const *
        sz: unsigned int
        LetArrayManageMemory: bool

        __init__(self, v) -> itkVariableLengthVectorUC

        Parameters
        ----------
        v: itkVariableLengthVectorUC const &

        """
        _itkVariableLengthVectorPython.itkVariableLengthVectorUC_swiginit(self, _itkVariableLengthVectorPython.new_itkVariableLengthVectorUC(*args))

    def Swap(self, v):
        r"""
        Swap(self, v)

        Parameters
        ----------
        v: itkVariableLengthVectorUC &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_Swap(self, v)

    def Fill(self, v):
        r"""
        Fill(self, v)

        Parameters
        ----------
        v: unsigned char const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_Fill(self, v)

    def FastAssign(self, v):
        r"""
        FastAssign(self, v) -> itkVariableLengthVectorUC

        Parameters
        ----------
        v: itkVariableLengthVectorUC const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_FastAssign(self, v)

    def Size(self):
        r"""Size(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_Size(self)

    def GetSize(self):
        r"""GetSize(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_GetSize(self)

    def GetNumberOfElements(self):
        r"""GetNumberOfElements(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_GetNumberOfElements(self)

    def GetElement(self, i):
        r"""
        GetElement(self, i) -> unsigned char const &

        Parameters
        ----------
        i: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_GetElement(self, i)

    def SetElement(self, i, value):
        r"""
        SetElement(self, i, value)

        Parameters
        ----------
        i: unsigned int
        value: unsigned char const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_SetElement(self, i, value)

    def SetSize(self, sz, destroyExistingData=True):
        r"""
        SetSize(self, sz, destroyExistingData=True)

        Parameters
        ----------
        sz: unsigned int
        destroyExistingData: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_SetSize(self, sz, destroyExistingData)

    def DestroyExistingData(self):
        r"""DestroyExistingData(self)"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_DestroyExistingData(self)

    def SetData(self, *args):
        r"""
        SetData(self, datain, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: unsigned char *
        LetArrayManageMemory: bool

        SetData(self, datain, sz, LetArrayManageMemory=False)

        Parameters
        ----------
        datain: unsigned char *
        sz: unsigned int
        LetArrayManageMemory: bool

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_SetData(self, *args)
    __swig_destroy__ = _itkVariableLengthVectorPython.delete_itkVariableLengthVectorUC

    def Reserve(self, size):
        r"""
        Reserve(self, size)

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_Reserve(self, size)

    def AllocateElements(self, size):
        r"""
        AllocateElements(self, size) -> unsigned char *

        Parameters
        ----------
        size: unsigned int

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_AllocateElements(self, size)

    def GetDataPointer(self):
        r"""GetDataPointer(self) -> unsigned char const *"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_GetDataPointer(self)

    def __isub__(self, s):
        r"""
        __isub__(self, s) -> itkVariableLengthVectorUC

        Parameters
        ----------
        s: unsigned char

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___isub__(self, s)

    def __iadd__(self, s):
        r"""
        __iadd__(self, s) -> itkVariableLengthVectorUC

        Parameters
        ----------
        s: unsigned char

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___iadd__(self, s)

    def __imul__(self, s):
        r"""
        __imul__(self, s) -> itkVariableLengthVectorUC

        Parameters
        ----------
        s: unsigned char

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___imul__(self, s)

    def __neg__(self):
        r"""__neg__(self) -> itkVariableLengthVectorUC"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___neg__(self)

    def __eq__(self, v):
        r"""
        __eq__(self, v) -> bool

        Parameters
        ----------
        v: itkVariableLengthVectorUC const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___eq__(self, v)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkVariableLengthVectorUC const &

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___ne__(self, other)

    def GetNorm(self):
        r"""GetNorm(self) -> double"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_GetNorm(self)

    def GetSquaredNorm(self):
        r"""GetSquaredNorm(self) -> double"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_GetSquaredNorm(self)

    def IsAProxy(self):
        r"""IsAProxy(self) -> bool"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC_IsAProxy(self)

    def __add__(self, v2):
        r"""
        __add__(self, v2) -> itkVariableLengthVectorUC

        Parameters
        ----------
        v2: itkVariableLengthVectorUC

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___add__(self, v2)

    def __sub__(self, v2):
        r"""
        __sub__(self, v2) -> itkVariableLengthVectorUC

        Parameters
        ----------
        v2: itkVariableLengthVectorUC

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___sub__(self, v2)

    def __getitem__(self, d):
        r"""
        __getitem__(self, d) -> unsigned char

        Parameters
        ----------
        d: unsigned long

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___getitem__(self, d)

    def __setitem__(self, d, v):
        r"""
        __setitem__(self, d, v)

        Parameters
        ----------
        d: unsigned long
        v: unsigned char

        """
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___setitem__(self, d, v)

    def __len__(self):
        r"""__len__(self) -> unsigned int"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___len__(self)

    def __repr__(self):
        r"""__repr__(self) -> std::string"""
        return _itkVariableLengthVectorPython.itkVariableLengthVectorUC___repr__(self)

# Register itkVariableLengthVectorUC in _itkVariableLengthVectorPython:
_itkVariableLengthVectorPython.itkVariableLengthVectorUC_swigregister(itkVariableLengthVectorUC)

