diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-02-26 20:18:05 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-02-26 20:24:28 -0300 |
commit | eaec9c4a8ace3a91fccb12492d445fc939cb8bf5 (patch) | |
tree | 9acc3cbb6310f12b0775c668877793d09a97aa15 | |
parent | 4453b8a31a9e08b24d5f5679c990d66cbf123077 (diff) |
AbstractMetaClasses now store a collection of external conversions.
Conversion operators that result in an AbstractMetaClass are added
to a collection belonging to said meta class.
-rw-r--r-- | abstractmetalang.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/abstractmetalang.h b/abstractmetalang.h index e3d6ad746..0e60926b5 100644 --- a/abstractmetalang.h +++ b/abstractmetalang.h @@ -1757,6 +1757,23 @@ public: return m_greaterThanEqFunctions; } + /// Returns a list of conversion operators for this class. The conversion operators are defined in other classes of the same module. + AbstractMetaFunctionList externalConversionOperators() const + { + return m_externalConversionOperators; + } + /// Adds a converter operator for this class. + void addExternalConversionOperator(AbstractMetaFunction* conversionOp) + { + if (!m_externalConversionOperators.contains(conversionOp)) + m_externalConversionOperators.append(conversionOp); + } + /// Returns true if this class has any converter operators defined elsewhere. + bool hasExternalConversionOperators() const + { + return !m_externalConversionOperators.isEmpty(); + } + void sortFunctions(); const AbstractMetaClass *templateBaseClass() const @@ -1827,6 +1844,8 @@ private: AbstractMetaFunctionList m_lessThanEqFunctions; AbstractMetaFunctionList m_greaterThanEqFunctions; + AbstractMetaFunctionList m_externalConversionOperators; + QStringList m_baseClassNames; QList<TypeEntry *> m_templateArgs; ComplexTypeEntry *m_typeEntry; |