mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
[BE][clang-format] make macro PyObject_HEAD_INIT(type)
and PyVarObject_HEAD_INIT(type, size)
have its own line (#136949)
Pull Request resolved: https://github.com/pytorch/pytorch/pull/136949 Approved by: https://github.com/albanD, https://github.com/eqy ghstack dependencies: #136945
This commit is contained in:
committed by
PyTorch MergeBot
parent
89c37be6b7
commit
8962610247
@ -60,6 +60,24 @@ IndentWrappedFunctionNames: false
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
Macros:
|
||||
- >-
|
||||
PyObject_HEAD_INIT(type)={
|
||||
/* this is not exactly match with PyObject_HEAD_INIT in Python source code
|
||||
* but it is enough for clang-format */
|
||||
{ 0xFFFFFFFF },
|
||||
(type)
|
||||
},
|
||||
- >-
|
||||
PyVarObject_HEAD_INIT(type, size)={
|
||||
{
|
||||
/* manually expand PyObject_HEAD_INIT(type) above
|
||||
* because clang-format do not support recursive expansion */
|
||||
{ 0xFFFFFFFF },
|
||||
(type)
|
||||
},
|
||||
(size)
|
||||
},
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
PenaltyBreakBeforeFirstCallParameter: 1
|
||||
|
@ -59,6 +59,24 @@ IndentWrappedFunctionNames: false
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
Macros:
|
||||
- >-
|
||||
PyObject_HEAD_INIT(type)={
|
||||
/* this is not exactly match with PyObject_HEAD_INIT in Python source code
|
||||
* but it is enough for clang-format */
|
||||
{ 0xFFFFFFFF },
|
||||
(type)
|
||||
},
|
||||
- >-
|
||||
PyVarObject_HEAD_INIT(type, size)={
|
||||
{
|
||||
/* manually expand PyObject_HEAD_INIT(type) above
|
||||
* because clang-format do not support recursive expansion */
|
||||
{ 0xFFFFFFFF },
|
||||
(type)
|
||||
},
|
||||
(size)
|
||||
},
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
ObjCBlockIndentWidth: 2
|
||||
|
@ -225,7 +225,8 @@ static PyMethodDef THPDevice_methods[] = {
|
||||
};
|
||||
|
||||
PyTypeObject THPDeviceType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.device", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.device", /* tp_name */
|
||||
sizeof(THPDevice), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -123,7 +123,8 @@ PyObject* THPDtype_repr(THPDtype* self) {
|
||||
}
|
||||
|
||||
PyTypeObject THPDtypeType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.dtype", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.dtype", /* tp_name */
|
||||
sizeof(THPDtype), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -276,7 +276,8 @@ static PyMethodDef THPEvent_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THPEventType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.Event", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.Event", /* tp_name */
|
||||
sizeof(THPEvent), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)THPEvent_dealloc, /* tp_dealloc */
|
||||
|
@ -330,7 +330,8 @@ static struct PyMemberDef THPGenerator_members[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THPGeneratorType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C.Generator", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C.Generator", /* tp_name */
|
||||
sizeof(THPGenerator), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
THPGenerator_dealloc, /* tp_dealloc */
|
||||
|
@ -27,7 +27,8 @@ PyObject* THPLayout_repr(THPLayout* self) {
|
||||
}
|
||||
|
||||
PyTypeObject THPLayoutType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.layout", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.layout", /* tp_name */
|
||||
sizeof(THPLayout), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -40,7 +40,8 @@ static PyMethodDef THPMemoryFormat_methods[] = {
|
||||
};
|
||||
|
||||
PyTypeObject THPMemoryFormatType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.memory_format", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.memory_format", /* tp_name */
|
||||
sizeof(THPMemoryFormat), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -39,7 +39,8 @@ PyObject* THPQScheme_repr(THPQScheme* self) {
|
||||
}
|
||||
|
||||
PyTypeObject THPQSchemeType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.qscheme", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.qscheme", /* tp_name */
|
||||
sizeof(THPQScheme), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -234,7 +234,8 @@ static PyMethodDef THPSize_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THPSizeType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.Size", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.Size", /* tp_name */
|
||||
sizeof(THPSize), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -593,9 +593,8 @@ struct THPStorageMeta {
|
||||
int THPStorageMetaType_init(PyObject* cls, PyObject* args, PyObject* kwargs);
|
||||
|
||||
PyTypeObject THPStorageMetaType = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
DEFERRED_ADDRESS(&PyType_Type),
|
||||
0) "torch._C._StorageMeta", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0)
|
||||
"torch._C._StorageMeta", /* tp_name */
|
||||
sizeof(THPStorageMeta), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
@ -637,9 +636,8 @@ PyTypeObject THPStorageMetaType = {
|
||||
|
||||
// TODO: implement equality
|
||||
PyTypeObject THPStorageType = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
&THPStorageMetaType,
|
||||
0) "torch._C.StorageBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(&THPStorageMetaType, 0)
|
||||
"torch._C.StorageBase", /* tp_name */
|
||||
sizeof(THPStorage), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -332,7 +332,8 @@ static PyMethodDef THPStream_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THPStreamType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.Stream", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.Stream", /* tp_name */
|
||||
sizeof(THPStream), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)THPStream_dealloc, /* tp_dealloc */
|
||||
|
@ -286,7 +286,8 @@ static PyMethodDef THPFInfo_methods[] = {
|
||||
};
|
||||
|
||||
PyTypeObject THPFInfoType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.finfo", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.finfo", /* tp_name */
|
||||
sizeof(THPFInfo), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
@ -339,7 +340,8 @@ static PyMethodDef THPIInfo_methods[] = {
|
||||
};
|
||||
|
||||
PyTypeObject THPIInfoType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.iinfo", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.iinfo", /* tp_name */
|
||||
sizeof(THPIInfo), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -554,7 +554,8 @@ struct TraceContext {
|
||||
|
||||
// CPython boilerplate to define `TraceContext` as a proper python object.
|
||||
static PyTypeObject TraceContextType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "TraceContext", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"TraceContext", /* tp_name */
|
||||
sizeof(TraceContext), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -246,7 +246,9 @@ PyTypeObject* _initFunctionPyTypeObject(
|
||||
const char* name,
|
||||
PyGetSetDef* function_properties,
|
||||
PyMethodDef* function_methods) {
|
||||
type.ob_base = {PyObject_HEAD_INIT(nullptr) 0};
|
||||
type.ob_base = {
|
||||
PyObject_HEAD_INIT(nullptr)
|
||||
0};
|
||||
// NOLINTNEXTLINE(misc-redundant-expression)
|
||||
type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC;
|
||||
type.tp_name = name;
|
||||
|
@ -460,7 +460,8 @@ static struct PyMethodDef THPEngine_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THPEngineType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C._EngineBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._EngineBase", /* tp_name */
|
||||
sizeof(THPEngine), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -1791,7 +1791,8 @@ static struct PyMethodDef THPFunction_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THPFunctionType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C._FunctionBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._FunctionBase", /* tp_name */
|
||||
sizeof(THPFunction), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)THPFunction_dealloc, /* tp_dealloc */
|
||||
|
@ -109,9 +109,8 @@ static PyObject* THPVariable_pynew(
|
||||
}
|
||||
|
||||
PyTypeObject THPLegacyVariableType = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
nullptr,
|
||||
0) "torch._C._LegacyVariableBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._LegacyVariableBase", /* tp_name */
|
||||
0, /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -532,9 +532,8 @@ void gatherTorchFunctions(std::vector<PyMethodDef>& torch_functions) {
|
||||
}
|
||||
|
||||
static PyTypeObject THPVariableFunctions = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
nullptr,
|
||||
0) "torch._C._VariableFunctionsClass", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._VariableFunctionsClass", /* tp_name */
|
||||
0, /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -1781,9 +1781,8 @@ struct THPVariableMeta {
|
||||
int THPVariableMetaType_init(PyObject* cls, PyObject* args, PyObject* kwargs);
|
||||
|
||||
PyTypeObject THPVariableMetaType = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
DEFERRED_ADDRESS(&PyType_Type),
|
||||
0) "torch._C._TensorMeta", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0)
|
||||
"torch._C._TensorMeta", /* tp_name */
|
||||
sizeof(THPVariableMeta), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
@ -1824,9 +1823,8 @@ PyTypeObject THPVariableMetaType = {
|
||||
};
|
||||
|
||||
PyTypeObject THPVariableType = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
&THPVariableMetaType,
|
||||
0) "torch._C.TensorBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(&THPVariableMetaType, 0)
|
||||
"torch._C.TensorBase", /* tp_name */
|
||||
sizeof(THPVariable), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
// This is unspecified, because it is illegal to create a THPVariableType
|
||||
|
@ -200,7 +200,8 @@ static PyMethodDef THCPEvent_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THCPEventType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C._CudaEventBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._CudaEventBase", /* tp_name */
|
||||
sizeof(THCPEvent), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)THCPEvent_dealloc, /* tp_dealloc */
|
||||
|
@ -156,7 +156,8 @@ static PyMethodDef THCPStream_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THCPStreamType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C._CudaStreamBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._CudaStreamBase", /* tp_name */
|
||||
sizeof(THCPStream), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)THCPStream_dealloc, /* tp_dealloc */
|
||||
|
@ -500,7 +500,8 @@ static PyMethodDef TensorGuards_methods[] = {
|
||||
{nullptr} /* Sentinel */
|
||||
};
|
||||
|
||||
static PyTypeObject TensorGuardsType = {PyVarObject_HEAD_INIT(nullptr, 0)};
|
||||
static PyTypeObject TensorGuardsType = { PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
};
|
||||
|
||||
// TODO (janimesh) - Remove the PyObject_HEAD part when C++ guard manager is
|
||||
// merged.
|
||||
@ -617,7 +618,8 @@ static PyMethodDef GlobalStateGuard_methods[] = {
|
||||
METH_NOARGS,
|
||||
"Return string reason for guard check failing"},
|
||||
{nullptr}};
|
||||
static PyTypeObject GlobalStateGuardType = {PyVarObject_HEAD_INIT(nullptr, 0)};
|
||||
static PyTypeObject GlobalStateGuardType = { PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
};
|
||||
|
||||
static PyObject* check_type_id(PyObject* dummy, PyObject* args) {
|
||||
// faster `lambda obj, expected: id(type(obj)) == expected`
|
||||
|
@ -60,7 +60,8 @@ static void NodeBase_dealloc(PyObject* self) {
|
||||
}
|
||||
|
||||
static PyTypeObject NodeBaseType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C._NodeBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._NodeBase", /* tp_name */
|
||||
sizeof(NodeBase), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)NodeBase_dealloc, /* tp_dealloc */
|
||||
@ -212,7 +213,8 @@ static void NodeIter_dealloc(PyObject* self) {
|
||||
}
|
||||
|
||||
static PyTypeObject NodeIterType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C._NodeIter", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._NodeIter", /* tp_name */
|
||||
sizeof(NodeIter), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)NodeIter_dealloc, /* tp_dealloc */
|
||||
|
@ -38,9 +38,8 @@ static void THPCapturedTraceback_dealloc(PyObject* self_) {
|
||||
}
|
||||
|
||||
PyTypeObject THPCapturedTracebackType = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
nullptr,
|
||||
0) "torch._C._profiler.CapturedTraceback", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._profiler.CapturedTraceback", /* tp_name */
|
||||
sizeof(THPCapturedTraceback), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
THPCapturedTraceback_dealloc, /* tp_dealloc */
|
||||
@ -643,8 +642,9 @@ void initPythonBindings(PyObject* module) {
|
||||
{nullptr},
|
||||
};
|
||||
|
||||
static PyTypeObject RecordFunctionFast_Type = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)};
|
||||
static PyTypeObject RecordFunctionFast_Type = { PyVarObject_HEAD_INIT(nullptr,
|
||||
0)
|
||||
};
|
||||
|
||||
RecordFunctionFast_Type.tp_name = "torch._C._profiler.RecordFunctionFast",
|
||||
RecordFunctionFast_Type.tp_basicsize = sizeof(RecordFunctionFast);
|
||||
|
@ -172,7 +172,8 @@ static struct PyGetSetDef metaclass_properties[] = {
|
||||
{nullptr}};
|
||||
|
||||
static PyTypeObject metaclass = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch.tensortype", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch.tensortype", /* tp_name */
|
||||
sizeof(PyTypeObject) /* tp_basicsize */
|
||||
};
|
||||
|
||||
@ -188,7 +189,8 @@ static void py_initialize_metaclass(PyTypeObject& metaclass) {
|
||||
}
|
||||
|
||||
static PyTypeObject tensor_type_prototype = {
|
||||
PyVarObject_HEAD_INIT(&metaclass, 0) nullptr, /* tp_name */
|
||||
PyVarObject_HEAD_INIT(&metaclass, 0)
|
||||
nullptr, /* tp_name */
|
||||
sizeof(PyTensorType) /* tp_basicsize */
|
||||
};
|
||||
|
||||
|
@ -80,9 +80,8 @@ static PyMethodDef DisableTorchFunctionSubclass_methods[] = { // NOLINT
|
||||
{nullptr, nullptr, 0, nullptr}};
|
||||
|
||||
PyTypeObject DisableTorchFunctionSubclassType = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
nullptr,
|
||||
0) "torch._C.DisableTorchFunctionSubclass", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C.DisableTorchFunctionSubclass", /* tp_name */
|
||||
sizeof(DisableTorchFunctionSubclass), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
@ -155,9 +154,8 @@ static PyMethodDef DisableTorchFunction_methods[] = { // NOLINT
|
||||
{nullptr, nullptr, 0, nullptr}};
|
||||
|
||||
PyTypeObject DisableTorchFunctionType = {
|
||||
PyVarObject_HEAD_INIT(
|
||||
nullptr,
|
||||
0) "torch._C.DisableTorchFunction", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C.DisableTorchFunction", /* tp_name */
|
||||
sizeof(DisableTorchFunction), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
nullptr, /* tp_dealloc */
|
||||
|
@ -127,7 +127,8 @@ static PyMethodDef THXPEvent_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THXPEventType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C._XpuEventBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._XpuEventBase", /* tp_name */
|
||||
sizeof(THXPEvent), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)THXPEvent_dealloc, /* tp_dealloc */
|
||||
|
@ -139,7 +139,8 @@ static PyMethodDef THXPStream_methods[] = {
|
||||
{nullptr}};
|
||||
|
||||
PyTypeObject THXPStreamType = {
|
||||
PyVarObject_HEAD_INIT(nullptr, 0) "torch._C._XpuStreamBase", /* tp_name */
|
||||
PyVarObject_HEAD_INIT(nullptr, 0)
|
||||
"torch._C._XpuStreamBase", /* tp_name */
|
||||
sizeof(THXPStream), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
(destructor)THXPStream_dealloc, /* tp_dealloc */
|
||||
|
Reference in New Issue
Block a user