From 973abe019b2a7b779bd0c06279443457d690ffa5 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Mon, 16 Oct 2000 01:32:31 +0000 Subject: [PATCH] The role is now completely assumed by extclass.h [SVN r7956] --- extclass_pygen.h | 80 ------------------------------------------------ 1 file changed, 80 deletions(-) delete mode 100644 extclass_pygen.h diff --git a/extclass_pygen.h b/extclass_pygen.h deleted file mode 100644 index a63fe12d..00000000 --- a/extclass_pygen.h +++ /dev/null @@ -1,80 +0,0 @@ -// (C) Copyright David Abrahams 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// The author gratefully acknowleges the support of Dragon Systems, Inc., in -// producing this work. -// -// This file automatically generated for 5-argument constructors by -// gen_extclass.py - -#ifndef EXTCLASS_PYGEN_DWA070900_H_ -# define EXTCLASS_PYGEN_DWA070900_H_ - - -// A simple wrapper over a T which allows us to use ExtensionClass with a -// single template parameter only. See ExtensionClass, above. -template -class HeldInstance : public T -{ - // There are no member functions: we want to avoid inadvertently overriding - // any virtual functions in T. -public: - HeldInstance(PyObject* p) : T(), m_self(p) {} - template - HeldInstance(PyObject* p, const A1& a1) : T(a1), m_self(p) {} - template - HeldInstance(PyObject* p, const A1& a1, const A2& a2) : T(a1, a2), m_self(p) {} - template - HeldInstance(PyObject* p, const A1& a1, const A2& a2, const A3& a3) : T(a1, a2, a3), m_self(p) {} - template - HeldInstance(PyObject* p, const A1& a1, const A2& a2, const A3& a3, const A4& a4) : T(a1, a2, a3, a4), m_self(p) {} - template - HeldInstance(PyObject* p, const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5) : T(a1, a2, a3, a4, a5), m_self(p) {} -protected: - PyObject* m_self; // Not really needed; doesn't really hurt. -}; - -class InstanceHolderBase -{ -public: - virtual ~InstanceHolderBase() {} -}; - -template -class InstanceHolder : public InstanceHolderBase -{ -public: - virtual Held *target() = 0; -}; - -template -class InstanceValueHolder : public InstanceHolder -{ -public: - Held* target() { return &m_held; } - Wrapper* value_target() { return &m_held; } - - InstanceValueHolder(ExtensionInstance* p) : - m_held(p) {} - template - InstanceValueHolder(ExtensionInstance* p, const A1& a1) : - m_held(p, a1) {} - template - InstanceValueHolder(ExtensionInstance* p, const A1& a1, const A2& a2) : - m_held(p, a1, a2) {} - template - InstanceValueHolder(ExtensionInstance* p, const A1& a1, const A2& a2, const A3& a3) : - m_held(p, a1, a2, a3) {} - template - InstanceValueHolder(ExtensionInstance* p, const A1& a1, const A2& a2, const A3& a3, const A4& a4) : - m_held(p, a1, a2, a3, a4) {} - template - InstanceValueHolder(ExtensionInstance* p, const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5) : - m_held(p, a1, a2, a3, a4, a5) {} -private: - Wrapper m_held; -}; - -#endif