P i
P i

Reputation: 30714

What's the correct name for a Python Extension-thingy?

Is it:

?

Could somebody disambiguate?

I'm asking because I have the following object structure in my C++ code, and I'm trying to figure out whether I should revise the names before I release my code:

class ExtObjBase_noTemplate : public PyObject


template< typename FinalClass >
class ExtObjBase : public FuncMapper<FinalClass> , public ExtObjBase_noTemplate


// - - - - - - - 

template<typename FinalClass>
class ExtObj_old : public ExtObjBase<FinalClass>

template<typename FinalClass>
class ExtObj_new : public ExtObjBase<FinalClass>


//= = = = = = = = = = = 
//CONSUMER does:

class new_style_class: public ExtObj_new< new_style_class >

class old_style_class: public ExtObj_old< old_style_class >

Upvotes: 1

Views: 107

Answers (1)

Kevin
Kevin

Reputation: 30161

Extension class, Extension type:

These are synonyms, if we ignore classic (old-style) classes. They refer to classes or types created in extension modules.

Sometimes, we do care about classic classes. New-style classes are types. Classic classes are not types. I don't recommend working with classic classes in new code. They have been removed in Python 3.

Extension object

I've not heard this term before, but I would assume it refers to an instance of an extension class/type.

Upvotes: 1

Related Questions