# 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit/PySide/QtWebKit/qwebpage_extensionoption_wrapper.cpp" # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit//" # 1 "" # 1 "" # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit/PySide/QtWebKit/qwebpage_extensionoption_wrapper.cpp" # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit/PySide/QtWebKit/qwebpage_extensionoption_wrapper.cpp" # 1 "/usr/include/qt4/QtWebKit/qwebpage.h" 1 # 24 "/usr/include/qt4/QtWebKit/qwebpage.h" # 1 "/usr/include/qt4/QtWebKit/qwebsettings.h" 1 # 23 "/usr/include/qt4/QtWebKit/qwebsettings.h" # 1 "/usr/include/qt4/QtWebKit/qwebkitglobal.h" 1 # 23 "/usr/include/qt4/QtWebKit/qwebkitglobal.h" # 1 "/usr/include/qt4/QtCore/qglobal.h" 1 # 45 "/usr/include/qt4/QtCore/qglobal.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 149 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 3 4 typedef long int ptrdiff_t; # 211 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 3 4 typedef long unsigned int size_t; # 46 "/usr/include/qt4/QtCore/qglobal.h" 2 # 62 "/usr/include/qt4/QtCore/qglobal.h" # 1 "/usr/include/qt4/QtCore/qconfig.h" 1 # 1 "/usr/include/qt4/Gentoo/gentoo-qconfig.h" 1 # 4 "/usr/include/qt4/QtCore/qconfig.h" 2 # 63 "/usr/include/qt4/QtCore/qglobal.h" 2 # 828 "/usr/include/qt4/QtCore/qglobal.h" typedef signed char qint8; typedef unsigned char quint8; typedef short qint16; typedef unsigned short quint16; typedef int qint32; typedef unsigned int quint32; # 851 "/usr/include/qt4/QtCore/qglobal.h" typedef long long qint64; typedef unsigned long long quint64; typedef qint64 qlonglong; typedef quint64 qulonglong; # 881 "/usr/include/qt4/QtCore/qglobal.h" template struct QIntegerForSize; template <> struct QIntegerForSize<1> { typedef quint8 Unsigned; typedef qint8 Signed; }; template <> struct QIntegerForSize<2> { typedef quint16 Unsigned; typedef qint16 Signed; }; template <> struct QIntegerForSize<4> { typedef quint32 Unsigned; typedef qint32 Signed; }; template <> struct QIntegerForSize<8> { typedef quint64 Unsigned; typedef qint64 Signed; }; template struct QIntegerForSizeof: QIntegerForSize { }; typedef QIntegerForSizeof::Unsigned quintptr; typedef QIntegerForSizeof::Signed qptrdiff; typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; # 1063 "/usr/include/qt4/QtCore/qglobal.h" typedef int QNoImplicitBoolCast; # 1075 "/usr/include/qt4/QtCore/qglobal.h" typedef double qreal; template inline T qAbs(const T &t) { return t >= 0 ? t : -t; } inline int qRound(qreal d) { return d >= 0.0 ? int(d + 0.5) : int(d - int(d-1) + 0.5) + int(d-1); } inline qint64 qRound64(qreal d) { return d >= 0.0 ? qint64(d + 0.5) : qint64(d - qreal(qint64(d-1)) + 0.5) + qint64(d-1); } template inline const T &qMin(const T &a, const T &b) { if (a < b) return a; return b; } template inline const T &qMax(const T &a, const T &b) { if (a < b) return b; return a; } template inline const T &qBound(const T &min, const T &val, const T &max) { return qMax(min, qMin(max, val)); } # 1133 "/usr/include/qt4/QtCore/qglobal.h" class QDataStream; # 1158 "/usr/include/qt4/QtCore/qglobal.h" # 1 "/usr/include/qt4/QtCore/qfeatures.h" 1 # 1159 "/usr/include/qt4/QtCore/qglobal.h" 2 # 1368 "/usr/include/qt4/QtCore/qglobal.h" inline void qt_noop() {} # 1401 "/usr/include/qt4/QtCore/qglobal.h" class QString; class QSysInfo { public: enum Sizes { WordSize = (sizeof(void *)<<3) }; # 1416 "/usr/include/qt4/QtCore/qglobal.h" enum Endian { BigEndian, LittleEndian , ByteOrder = LittleEndian }; # 1519 "/usr/include/qt4/QtCore/qglobal.h" }; const char *qVersion(); bool qSharedBuild(); # 1592 "/usr/include/qt4/QtCore/qglobal.h" void qDebug(const char *, ...) __attribute__ ((format (printf, 1, 2))) ; void qWarning(const char *, ...) __attribute__ ((format (printf, 1, 2))) ; class QString; QString qt_error_string(int errorCode = -1); void qCritical(const char *, ...) __attribute__ ((format (printf, 1, 2))) ; void qFatal(const char *, ...) __attribute__ ((format (printf, 1, 2))) ; void qErrnoWarning(int code, const char *msg, ...); void qErrnoWarning(const char *msg, ...); # 1632 "/usr/include/qt4/QtCore/qglobal.h" class QDebug; class QNoDebug; inline QDebug qDebug(); inline QDebug qWarning(); inline QDebug qCritical(); # 1652 "/usr/include/qt4/QtCore/qglobal.h" void qt_assert(const char *assertion, const char *file, int line); # 1666 "/usr/include/qt4/QtCore/qglobal.h" void qt_assert_x(const char *where, const char *what, const char *file, int line); # 1676 "/usr/include/qt4/QtCore/qglobal.h" void qt_check_pointer(const char *, int); void qBadAlloc(); # 1692 "/usr/include/qt4/QtCore/qglobal.h" template inline T *q_check_ptr(T *p) { do { if (!(p)) qBadAlloc(); } while (0); return p; } # 1722 "/usr/include/qt4/QtCore/qglobal.h" enum QtMsgType { QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtSystemMsg = QtCriticalMsg }; void qt_message_output(QtMsgType, const char *buf); typedef void (*QtMsgHandler)(QtMsgType, const char *); QtMsgHandler qInstallMsgHandler(QtMsgHandler); # 1776 "/usr/include/qt4/QtCore/qglobal.h" template class QBasicAtomicPointer; template class QGlobalStatic { public: QBasicAtomicPointer pointer; bool destroyed; }; template class QGlobalStaticDeleter { public: QGlobalStatic &globalStatic; QGlobalStaticDeleter(QGlobalStatic &_globalStatic) : globalStatic(_globalStatic) { } inline ~QGlobalStaticDeleter() { delete globalStatic.pointer; globalStatic.pointer = 0; globalStatic.destroyed = true; } }; # 1853 "/usr/include/qt4/QtCore/qglobal.h" class QBool { bool b; public: inline explicit QBool(bool B) : b(B) {} inline operator const void *() const { return b ? static_cast(this) : static_cast(0); } }; inline bool operator==(QBool b1, bool b2) { return !b1 == !b2; } inline bool operator==(bool b1, QBool b2) { return !b1 == !b2; } inline bool operator==(QBool b1, QBool b2) { return !b1 == !b2; } inline bool operator!=(QBool b1, bool b2) { return !b1 != !b2; } inline bool operator!=(bool b1, QBool b2) { return !b1 != !b2; } inline bool operator!=(QBool b1, QBool b2) { return !b1 != !b2; } static inline bool qFuzzyCompare(double p1, double p2) { return (qAbs(p1 - p2) <= 0.000000000001 * qMin(qAbs(p1), qAbs(p2))); } static inline bool qFuzzyCompare(float p1, float p2) { return (qAbs(p1 - p2) <= 0.00001f * qMin(qAbs(p1), qAbs(p2))); } static inline bool qFuzzyIsNull(double d) { return qAbs(d) <= 0.000000000001; } static inline bool qFuzzyIsNull(float f) { return qAbs(f) <= 0.00001f; } static inline bool qIsNull(double d) { union U { double d; quint64 u; }; U val; val.d = d; return val.u == quint64(0); } static inline bool qIsNull(float f) { union U { float f; quint32 u; }; U val; val.f = f; return val.u == 0u; } # 1959 "/usr/include/qt4/QtCore/qglobal.h" template inline bool qIsDetached(T &) { return true; } template class QTypeInfo { public: enum { isPointer = false, isComplex = true, isStatic = true, isLarge = (sizeof(T)>sizeof(void*)), isDummy = false }; }; template class QTypeInfo { public: enum { isPointer = true, isComplex = false, isStatic = false, isLarge = false, isDummy = false }; }; # 2017 "/usr/include/qt4/QtCore/qglobal.h" enum { Q_COMPLEX_TYPE = 0, Q_PRIMITIVE_TYPE = 0x1, Q_STATIC_TYPE = 0, Q_MOVABLE_TYPE = 0x2, Q_DUMMY_TYPE = 0x4 }; # 2040 "/usr/include/qt4/QtCore/qglobal.h" template inline void qSwap(T &value1, T &value2) { const T t = value1; value1 = value2; value2 = t; } # 2067 "/usr/include/qt4/QtCore/qglobal.h" template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(bool)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "bool"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(char)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "char"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(signed char)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "signed char"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(uchar)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "uchar"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(short)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "short"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(ushort)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "ushort"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(int)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "int"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(uint)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "uint"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(long)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "long"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(ulong)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "ulong"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(qint64)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "qint64"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(quint64)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "quint64"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(float)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "float"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(double)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "double"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(long double)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "long double"; } }; void *qMalloc(size_t size); void qFree(void *ptr); void *qRealloc(void *ptr, size_t size); void *qMallocAligned(size_t size, size_t alignment); void *qReallocAligned(void *ptr, size_t size, size_t oldsize, size_t alignment); void qFreeAligned(void *ptr); void *qMemCopy(void *dest, const void *src, size_t n); void *qMemSet(void *dest, int c, size_t n); # 2137 "/usr/include/qt4/QtCore/qglobal.h" class QFlag { int i; public: inline QFlag(int i); inline operator int() const { return i; } }; inline QFlag::QFlag(int ai) : i(ai) {} class QIncompatibleFlag { int i; public: inline explicit QIncompatibleFlag(int i); inline operator int() const { return i; } }; inline QIncompatibleFlag::QIncompatibleFlag(int ai) : i(ai) {} template class QFlags { typedef void **Zero; int i; public: typedef Enum enum_type; inline QFlags(const QFlags &f) : i(f.i) {} inline QFlags(Enum f) : i(f) {} inline QFlags(Zero = 0) : i(0) {} inline QFlags(QFlag f) : i(f) {} inline QFlags &operator=(const QFlags &f) { i = f.i; return *this; } inline QFlags &operator&=(int mask) { i &= mask; return *this; } inline QFlags &operator&=(uint mask) { i &= mask; return *this; } inline QFlags &operator|=(QFlags f) { i |= f.i; return *this; } inline QFlags &operator|=(Enum f) { i |= f; return *this; } inline QFlags &operator^=(QFlags f) { i ^= f.i; return *this; } inline QFlags &operator^=(Enum f) { i ^= f; return *this; } inline operator int() const { return i; } inline QFlags operator|(QFlags f) const { QFlags g; g.i = i | f.i; return g; } inline QFlags operator|(Enum f) const { QFlags g; g.i = i | f; return g; } inline QFlags operator^(QFlags f) const { QFlags g; g.i = i ^ f.i; return g; } inline QFlags operator^(Enum f) const { QFlags g; g.i = i ^ f; return g; } inline QFlags operator&(int mask) const { QFlags g; g.i = i & mask; return g; } inline QFlags operator&(uint mask) const { QFlags g; g.i = i & mask; return g; } inline QFlags operator&(Enum f) const { QFlags g; g.i = i & f; return g; } inline QFlags operator~() const { QFlags g; g.i = ~i; return g; } inline bool operator!() const { return !i; } inline bool testFlag(Enum f) const { return (i & f) == f && (f != 0 || i == int(f) ); } }; # 2224 "/usr/include/qt4/QtCore/qglobal.h" template class QForeachContainer { public: inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { } const T c; int brk; typename T::const_iterator i, e; }; # 2316 "/usr/include/qt4/QtCore/qglobal.h" template static inline T *qGetPtrHelper(T *ptr) { return ptr; } template static inline typename Wrapper::pointer qGetPtrHelper(const Wrapper &p) { return p.data(); } # 2349 "/usr/include/qt4/QtCore/qglobal.h" QString qtTrId(const char *id, int n = -1); # 2379 "/usr/include/qt4/QtCore/qglobal.h" class QByteArray; QByteArray qgetenv(const char *varName); bool qputenv(const char *varName, const QByteArray& value); inline int qIntCast(double f) { return int(f); } inline int qIntCast(float f) { return int(f); } void qsrand(uint seed); int qrand(); # 2552 "/usr/include/qt4/QtCore/qglobal.h" enum QtValidLicenseForCoreModule { LicensedCore = true }; enum QtValidLicenseForGuiModule { LicensedGui = true }; enum QtValidLicenseForNetworkModule { LicensedNetwork = true }; enum QtValidLicenseForOpenGLModule { LicensedOpenGL = true }; enum QtValidLicenseForOpenVGModule { LicensedOpenVG = true }; enum QtValidLicenseForSqlModule { LicensedSql = true }; enum QtValidLicenseForMultimediaModule { LicensedMultimedia = true }; enum QtValidLicenseForXmlModule { LicensedXml = true }; enum QtValidLicenseForXmlPatternsModule { LicensedXmlPatterns = true }; enum QtValidLicenseForHelpModule { LicensedHelp = true }; enum QtValidLicenseForScriptModule { LicensedScript = true }; enum QtValidLicenseForScriptToolsModule { LicensedScriptTools = true }; enum QtValidLicenseForQt3SupportLightModule { LicensedQt3SupportLight = true }; enum QtValidLicenseForQt3SupportModule { LicensedQt3Support = true }; enum QtValidLicenseForSvgModule { LicensedSvg = true }; enum QtValidLicenseForDeclarativeModule { LicensedDeclarative = true }; enum QtValidLicenseForActiveQtModule { LicensedActiveQt = true }; enum QtValidLicenseForTestModule { LicensedTest = true }; enum QtValidLicenseForDBusModule { LicensedDBus = true }; # 2640 "/usr/include/qt4/QtCore/qglobal.h" # 24 "/usr/include/qt4/QtWebKit/qwebkitglobal.h" 2 # 24 "/usr/include/qt4/QtWebKit/qwebsettings.h" 2 # 1 "/usr/include/qt4/QtCore/qstring.h" 1 # 45 "/usr/include/qt4/QtCore/qstring.h" # 1 "/usr/include/qt4/QtCore/qchar.h" 1 # 47 "/usr/include/qt4/QtCore/qchar.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QString; struct QLatin1Char { public: inline explicit QLatin1Char(char c) : ch(c) {} inline char toLatin1() const { return ch; } inline ushort unicode() const { return ushort(uchar(ch)); } private: char ch; }; class QChar { public: QChar(); QChar(char c); QChar(uchar c); QChar(QLatin1Char ch); QChar(uchar c, uchar r); inline QChar(ushort rc) : ucs(rc){} QChar(short rc); QChar(uint rc); QChar(int rc); enum SpecialCharacter { Null = 0x0000, Nbsp = 0x00a0, ReplacementCharacter = 0xfffd, ObjectReplacementCharacter = 0xfffc, ByteOrderMark = 0xfeff, ByteOrderSwapped = 0xfffe, ParagraphSeparator = 0x2029, LineSeparator = 0x2028 }; QChar(SpecialCharacter sc); enum Category { NoCategory, Mark_NonSpacing, Mark_SpacingCombining, Mark_Enclosing, Number_DecimalDigit, Number_Letter, Number_Other, Separator_Space, Separator_Line, Separator_Paragraph, Other_Control, Other_Format, Other_Surrogate, Other_PrivateUse, Other_NotAssigned, Letter_Uppercase, Letter_Lowercase, Letter_Titlecase, Letter_Modifier, Letter_Other, Punctuation_Connector, Punctuation_Dash, Punctuation_Open, Punctuation_Close, Punctuation_InitialQuote, Punctuation_FinalQuote, Punctuation_Other, Symbol_Math, Symbol_Currency, Symbol_Modifier, Symbol_Other, Punctuation_Dask = Punctuation_Dash }; enum Direction { DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN }; enum Decomposition { NoDecomposition, Canonical, Font, NoBreak, Initial, Medial, Final, Isolated, Circle, Super, Sub, Vertical, Wide, Narrow, Small, Square, Compat, Fraction }; enum Joining { OtherJoining, Dual, Right, Center }; enum CombiningClass { Combining_BelowLeftAttached = 200, Combining_BelowAttached = 202, Combining_BelowRightAttached = 204, Combining_LeftAttached = 208, Combining_RightAttached = 210, Combining_AboveLeftAttached = 212, Combining_AboveAttached = 214, Combining_AboveRightAttached = 216, Combining_BelowLeft = 218, Combining_Below = 220, Combining_BelowRight = 222, Combining_Left = 224, Combining_Right = 226, Combining_AboveLeft = 228, Combining_Above = 230, Combining_AboveRight = 232, Combining_DoubleBelow = 233, Combining_DoubleAbove = 234, Combining_IotaSubscript = 240 }; enum UnicodeVersion { Unicode_Unassigned, Unicode_1_1, Unicode_2_0, Unicode_2_1_2, Unicode_3_0, Unicode_3_1, Unicode_3_2, Unicode_4_0, Unicode_4_1, Unicode_5_0 }; Category category() const; Direction direction() const; Joining joining() const; bool hasMirrored() const; unsigned char combiningClass() const; QChar mirroredChar() const; QString decomposition() const; Decomposition decompositionTag() const; int digitValue() const; QChar toLower() const; QChar toUpper() const; QChar toTitleCase() const; QChar toCaseFolded() const; UnicodeVersion unicodeVersion() const; char toAscii() const; inline char toLatin1() const; inline ushort unicode() const { return ucs; } inline ushort &unicode() { return const_cast(ucs); } static QChar fromAscii(char c); static QChar fromLatin1(char c); inline bool isNull() const { return ucs == 0; } bool isPrint() const; bool isPunct() const; bool isSpace() const; bool isMark() const; bool isLetter() const; bool isNumber() const; bool isLetterOrNumber() const; bool isDigit() const; bool isSymbol() const; inline bool isLower() const { return category() == Letter_Lowercase; } inline bool isUpper() const { return category() == Letter_Uppercase; } inline bool isTitleCase() const { return category() == Letter_Titlecase; } inline bool isHighSurrogate() const { return ((ucs & 0xfc00) == 0xd800); } inline bool isLowSurrogate() const { return ((ucs & 0xfc00) == 0xdc00); } inline uchar cell() const { return uchar(ucs & 0xff); } inline uchar row() const { return uchar((ucs>>8)&0xff); } inline void setCell(uchar cell); inline void setRow(uchar row); static inline uint surrogateToUcs4(ushort high, ushort low) { return (uint(high)<<10) + low - 0x35fdc00; } static inline uint surrogateToUcs4(QChar high, QChar low) { return (uint(high.ucs)<<10) + low.ucs - 0x35fdc00; } static inline ushort highSurrogate(uint ucs4) { return ushort((ucs4>>10) + 0xd7c0); } static inline ushort lowSurrogate(uint ucs4) { return ushort(ucs4%0x400 + 0xdc00); } static Category category(uint ucs4); static Category category(ushort ucs2); static Direction direction(uint ucs4); static Direction direction(ushort ucs2); static Joining joining(uint ucs4); static Joining joining(ushort ucs2); static unsigned char combiningClass(uint ucs4); static unsigned char combiningClass(ushort ucs2); static uint mirroredChar(uint ucs4); static ushort mirroredChar(ushort ucs2); static Decomposition decompositionTag(uint ucs4); static int digitValue(uint ucs4); static int digitValue(ushort ucs2); static uint toLower(uint ucs4); static ushort toLower(ushort ucs2); static uint toUpper(uint ucs4); static ushort toUpper(ushort ucs2); static uint toTitleCase(uint ucs4); static ushort toTitleCase(ushort ucs2); static uint toCaseFolded(uint ucs4); static ushort toCaseFolded(ushort ucs2); static UnicodeVersion unicodeVersion(uint ucs4); static UnicodeVersion unicodeVersion(ushort ucs2); static QString decomposition(uint ucs4); # 346 "/usr/include/qt4/QtCore/qchar.h" private: ushort ucs; } ; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QChar)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QChar"; } }; inline QChar::QChar() : ucs(0) {} inline char QChar::toLatin1() const { return ucs > 0xff ? '\0' : char(ucs); } inline QChar QChar::fromLatin1(char c) { return QChar(ushort(uchar(c))); } inline QChar::QChar(uchar c, uchar r) : ucs(ushort((r << 8) | c)){} inline QChar::QChar(short rc) : ucs(ushort(rc)){} inline QChar::QChar(uint rc) : ucs(ushort(rc & 0xffff)){} inline QChar::QChar(int rc) : ucs(ushort(rc & 0xffff)){} inline QChar::QChar(SpecialCharacter s) : ucs(ushort(s)) {} inline QChar::QChar(QLatin1Char ch) : ucs(ch.unicode()) {} inline void QChar::setCell(uchar acell) { ucs = ushort((ucs & 0xff00) + acell); } inline void QChar::setRow(uchar arow) { ucs = ushort((ushort(arow)<<8) + (ucs&0xff)); } inline bool operator==(QChar c1, QChar c2) { return c1.unicode() == c2.unicode(); } inline bool operator!=(QChar c1, QChar c2) { return c1.unicode() != c2.unicode(); } inline bool operator<=(QChar c1, QChar c2) { return c1.unicode() <= c2.unicode(); } inline bool operator>=(QChar c1, QChar c2) { return c1.unicode() >= c2.unicode(); } inline bool operator<(QChar c1, QChar c2) { return c1.unicode() < c2.unicode(); } inline bool operator>(QChar c1, QChar c2) { return c1.unicode() > c2.unicode(); } QDataStream &operator<<(QDataStream &, const QChar &); QDataStream &operator>>(QDataStream &, QChar &); # 46 "/usr/include/qt4/QtCore/qstring.h" 2 # 1 "/usr/include/qt4/QtCore/qbytearray.h" 1 # 45 "/usr/include/qt4/QtCore/qbytearray.h" # 1 "/usr/include/qt4/QtCore/qatomic.h" 1 # 46 "/usr/include/qt4/QtCore/qatomic.h" # 1 "/usr/include/qt4/QtCore/qbasicatomic.h" 1 # 47 "/usr/include/qt4/QtCore/qbasicatomic.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QBasicAtomicInt { public: # 64 "/usr/include/qt4/QtCore/qbasicatomic.h" volatile int _q_value; inline bool operator==(int value) const { return _q_value == value; } inline bool operator!=(int value) const { return _q_value != value; } inline bool operator!() const { return _q_value == 0; } inline operator int() const { return _q_value; } inline QBasicAtomicInt &operator=(int value) { _q_value = value; return *this; } static bool isReferenceCountingNative(); static bool isReferenceCountingWaitFree(); bool ref(); bool deref(); static bool isTestAndSetNative(); static bool isTestAndSetWaitFree(); bool testAndSetRelaxed(int expectedValue, int newValue); bool testAndSetAcquire(int expectedValue, int newValue); bool testAndSetRelease(int expectedValue, int newValue); bool testAndSetOrdered(int expectedValue, int newValue); static bool isFetchAndStoreNative(); static bool isFetchAndStoreWaitFree(); int fetchAndStoreRelaxed(int newValue); int fetchAndStoreAcquire(int newValue); int fetchAndStoreRelease(int newValue); int fetchAndStoreOrdered(int newValue); static bool isFetchAndAddNative(); static bool isFetchAndAddWaitFree(); int fetchAndAddRelaxed(int valueToAdd); int fetchAndAddAcquire(int valueToAdd); int fetchAndAddRelease(int valueToAdd); int fetchAndAddOrdered(int valueToAdd); }; template class QBasicAtomicPointer { public: # 148 "/usr/include/qt4/QtCore/qbasicatomic.h" T * volatile _q_value; inline bool operator==(T *value) const { return _q_value == value; } inline bool operator!=(T *value) const { return !operator==(value); } inline bool operator!() const { return operator==(0); } inline operator T *() const { return _q_value; } inline T *operator->() const { return _q_value; } inline QBasicAtomicPointer &operator=(T *value) { _q_value = value; return *this; } static bool isTestAndSetNative(); static bool isTestAndSetWaitFree(); bool testAndSetRelaxed(T *expectedValue, T *newValue); bool testAndSetAcquire(T *expectedValue, T *newValue); bool testAndSetRelease(T *expectedValue, T *newValue); bool testAndSetOrdered(T *expectedValue, T *newValue); static bool isFetchAndStoreNative(); static bool isFetchAndStoreWaitFree(); T *fetchAndStoreRelaxed(T *newValue); T *fetchAndStoreAcquire(T *newValue); T *fetchAndStoreRelease(T *newValue); T *fetchAndStoreOrdered(T *newValue); static bool isFetchAndAddNative(); static bool isFetchAndAddWaitFree(); T *fetchAndAddRelaxed(qptrdiff valueToAdd); T *fetchAndAddAcquire(qptrdiff valueToAdd); T *fetchAndAddRelease(qptrdiff valueToAdd); T *fetchAndAddOrdered(qptrdiff valueToAdd); }; # 221 "/usr/include/qt4/QtCore/qbasicatomic.h" # 1 "/usr/include/qt4/QtCore/qatomic_arch.h" 1 # 45 "/usr/include/qt4/QtCore/qatomic_arch.h" # 84 "/usr/include/qt4/QtCore/qatomic_arch.h" # 1 "/usr/include/qt4/QtCore/qatomic_x86_64.h" 1 # 45 "/usr/include/qt4/QtCore/qatomic_x86_64.h" inline bool QBasicAtomicInt::isReferenceCountingNative() { return true; } inline bool QBasicAtomicInt::isReferenceCountingWaitFree() { return true; } inline bool QBasicAtomicInt::isTestAndSetNative() { return true; } inline bool QBasicAtomicInt::isTestAndSetWaitFree() { return true; } inline bool QBasicAtomicInt::isFetchAndStoreNative() { return true; } inline bool QBasicAtomicInt::isFetchAndStoreWaitFree() { return true; } inline bool QBasicAtomicInt::isFetchAndAddNative() { return true; } inline bool QBasicAtomicInt::isFetchAndAddWaitFree() { return true; } template inline bool QBasicAtomicPointer::isTestAndSetNative() { return true; } template inline bool QBasicAtomicPointer::isTestAndSetWaitFree() { return true; } template inline bool QBasicAtomicPointer::isFetchAndStoreNative() { return true; } template inline bool QBasicAtomicPointer::isFetchAndStoreWaitFree() { return true; } template inline bool QBasicAtomicPointer::isFetchAndAddNative() { return true; } template inline bool QBasicAtomicPointer::isFetchAndAddWaitFree() { return true; } inline bool QBasicAtomicInt::ref() { unsigned char ret; asm volatile("lock\n" "incl %0\n" "setne %1" : "=m" (_q_value), "=qm" (ret) : "m" (_q_value) : "memory"); return ret != 0; } inline bool QBasicAtomicInt::deref() { unsigned char ret; asm volatile("lock\n" "decl %0\n" "setne %1" : "=m" (_q_value), "=qm" (ret) : "m" (_q_value) : "memory"); return ret != 0; } inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue) { unsigned char ret; asm volatile("lock\n" "cmpxchgl %3,%2\n" "sete %1\n" : "=a" (newValue), "=qm" (ret), "+m" (_q_value) : "r" (newValue), "0" (expectedValue) : "memory"); return ret != 0; } inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue) { asm volatile("xchgl %0,%1" : "=r" (newValue), "+m" (_q_value) : "0" (newValue) : "memory"); return newValue; } inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd) { asm volatile("lock\n" "xaddl %0,%1" : "=r" (valueToAdd), "+m" (_q_value) : "0" (valueToAdd) : "memory"); return valueToAdd; } template inline bool QBasicAtomicPointer::testAndSetOrdered(T *expectedValue, T *newValue) { unsigned char ret; asm volatile("lock\n" "cmpxchgq %3,%2\n" "sete %1\n" : "=a" (newValue), "=qm" (ret), "+m" (_q_value) : "r" (newValue), "0" (expectedValue) : "memory"); return ret != 0; } template inline T *QBasicAtomicPointer::fetchAndStoreOrdered(T *newValue) { asm volatile("xchgq %0,%1" : "=r" (newValue), "+m" (_q_value) : "0" (newValue) : "memory"); return newValue; } template inline T *QBasicAtomicPointer::fetchAndAddOrdered(qptrdiff valueToAdd) { asm volatile("lock\n" "xaddq %0,%1" : "=r" (valueToAdd), "+m" (_q_value) : "0" (valueToAdd * sizeof(T)) : "memory"); return reinterpret_cast(valueToAdd); } # 260 "/usr/include/qt4/QtCore/qatomic_x86_64.h" inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue) { return testAndSetOrdered(expectedValue, newValue); } inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue) { return testAndSetOrdered(expectedValue, newValue); } inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue) { return testAndSetOrdered(expectedValue, newValue); } inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue) { return fetchAndStoreOrdered(newValue); } inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue) { return fetchAndStoreOrdered(newValue); } inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue) { return fetchAndStoreOrdered(newValue); } inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd) { return fetchAndAddOrdered(valueToAdd); } inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd) { return fetchAndAddOrdered(valueToAdd); } inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd) { return fetchAndAddOrdered(valueToAdd); } template inline bool QBasicAtomicPointer::testAndSetRelaxed(T *expectedValue, T *newValue) { return testAndSetOrdered(expectedValue, newValue); } template inline bool QBasicAtomicPointer::testAndSetAcquire(T *expectedValue, T *newValue) { return testAndSetOrdered(expectedValue, newValue); } template inline bool QBasicAtomicPointer::testAndSetRelease(T *expectedValue, T *newValue) { return testAndSetOrdered(expectedValue, newValue); } template inline T *QBasicAtomicPointer::fetchAndStoreRelaxed(T *newValue) { return fetchAndStoreOrdered(newValue); } template inline T *QBasicAtomicPointer::fetchAndStoreAcquire(T *newValue) { return fetchAndStoreOrdered(newValue); } template inline T *QBasicAtomicPointer::fetchAndStoreRelease(T *newValue) { return fetchAndStoreOrdered(newValue); } template inline T *QBasicAtomicPointer::fetchAndAddRelaxed(qptrdiff valueToAdd) { return fetchAndAddOrdered(valueToAdd); } template inline T *QBasicAtomicPointer::fetchAndAddAcquire(qptrdiff valueToAdd) { return fetchAndAddOrdered(valueToAdd); } template inline T *QBasicAtomicPointer::fetchAndAddRelease(qptrdiff valueToAdd) { return fetchAndAddOrdered(valueToAdd); } # 85 "/usr/include/qt4/QtCore/qatomic_arch.h" 2 # 95 "/usr/include/qt4/QtCore/qatomic_arch.h" # 228 "/usr/include/qt4/QtCore/qbasicatomic.h" 2 # 47 "/usr/include/qt4/QtCore/qatomic.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QAtomicInt : public QBasicAtomicInt { public: inline QAtomicInt(int value = 0) { _q_value = value; } inline QAtomicInt(const QAtomicInt &other) { _q_value = other._q_value; } inline QAtomicInt &operator=(int value) { (void) QBasicAtomicInt::operator=(value); return *this; } inline QAtomicInt &operator=(const QAtomicInt &other) { (void) QBasicAtomicInt::operator=(other); return *this; } # 121 "/usr/include/qt4/QtCore/qatomic.h" }; template class QAtomicPointer : public QBasicAtomicPointer { public: inline QAtomicPointer(T *value = 0) { QBasicAtomicPointer::_q_value = value; } inline QAtomicPointer(const QAtomicPointer &other) { QBasicAtomicPointer::_q_value = other._q_value; } inline QAtomicPointer &operator=(T *value) { (void) QBasicAtomicPointer::operator=(value); return *this; } inline QAtomicPointer &operator=(const QAtomicPointer &other) { (void) QBasicAtomicPointer::operator=(other); return *this; } # 186 "/usr/include/qt4/QtCore/qatomic.h" }; template inline void qAtomicAssign(T *&d, T *x) { if (d == x) return; x->ref.ref(); if (!d->ref.deref()) delete d; d = x; } # 213 "/usr/include/qt4/QtCore/qatomic.h" template inline void qAtomicDetach(T *&d) { if (d->ref == 1) return; T *x = d; d = new T(*d); if (!x->ref.deref()) delete x; } # 46 "/usr/include/qt4/QtCore/qbytearray.h" 2 # 1 "/usr/include/qt4/QtCore/qnamespace.h" 1 # 47 "/usr/include/qt4/QtCore/qnamespace.h" typedef QtValidLicenseForCoreModule QtCoreModule; namespace Qt { # 99 "/usr/include/qt4/QtCore/qnamespace.h" enum GlobalColor { color0, color1, black, white, darkGray, gray, lightGray, red, green, blue, cyan, magenta, yellow, darkRed, darkGreen, darkBlue, darkCyan, darkMagenta, darkYellow, transparent }; enum KeyboardModifier { NoModifier = 0x00000000, ShiftModifier = 0x02000000, ControlModifier = 0x04000000, AltModifier = 0x08000000, MetaModifier = 0x10000000, KeypadModifier = 0x20000000, GroupSwitchModifier = 0x40000000, KeyboardModifierMask = 0xfe000000 }; typedef QFlags KeyboardModifiers; enum Modifier { META = Qt::MetaModifier, SHIFT = Qt::ShiftModifier, CTRL = Qt::ControlModifier, ALT = Qt::AltModifier, MODIFIER_MASK = KeyboardModifierMask, UNICODE_ACCEL = 0x00000000 }; enum MouseButton { NoButton = 0x00000000, LeftButton = 0x00000001, RightButton = 0x00000002, MidButton = 0x00000004, XButton1 = 0x00000008, XButton2 = 0x00000010, MouseButtonMask = 0x000000ff }; typedef QFlags MouseButtons; # 168 "/usr/include/qt4/QtCore/qnamespace.h" enum Orientation { Horizontal = 0x1, Vertical = 0x2 }; typedef QFlags Orientations; enum FocusPolicy { NoFocus = 0, TabFocus = 0x1, ClickFocus = 0x2, StrongFocus = TabFocus | ClickFocus | 0x8, WheelFocus = StrongFocus | 0x4 }; enum SortOrder { AscendingOrder, DescendingOrder }; enum TileRule { StretchTile, RepeatTile, RoundTile }; enum AlignmentFlag { AlignLeft = 0x0001, AlignLeading = AlignLeft, AlignRight = 0x0002, AlignTrailing = AlignRight, AlignHCenter = 0x0004, AlignJustify = 0x0008, AlignAbsolute = 0x0010, AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute, AlignTop = 0x0020, AlignBottom = 0x0040, AlignVCenter = 0x0080, AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter, AlignCenter = AlignVCenter | AlignHCenter }; typedef QFlags Alignment; enum TextFlag { TextSingleLine = 0x0100, TextDontClip = 0x0200, TextExpandTabs = 0x0400, TextShowMnemonic = 0x0800, TextWordWrap = 0x1000, TextWrapAnywhere = 0x2000, TextDontPrint = 0x4000, TextIncludeTrailingSpaces = 0x08000000, TextHideMnemonic = 0x8000, TextJustificationForced = 0x10000, TextForceLeftToRight = 0x20000, TextForceRightToLeft = 0x40000, TextLongestVariant = 0x80000 # 251 "/usr/include/qt4/QtCore/qnamespace.h" }; enum TextElideMode { ElideLeft, ElideRight, ElideMiddle, ElideNone }; enum WindowType { Widget = 0x00000000, Window = 0x00000001, Dialog = 0x00000002 | Window, Sheet = 0x00000004 | Window, Drawer = 0x00000006 | Window, Popup = 0x00000008 | Window, Tool = 0x0000000a | Window, ToolTip = 0x0000000c | Window, SplashScreen = 0x0000000e | Window, Desktop = 0x00000010 | Window, SubWindow = 0x00000012, WindowType_Mask = 0x000000ff, MSWindowsFixedSizeDialogHint = 0x00000100, MSWindowsOwnDC = 0x00000200, X11BypassWindowManagerHint = 0x00000400, FramelessWindowHint = 0x00000800, WindowTitleHint = 0x00001000, WindowSystemMenuHint = 0x00002000, WindowMinimizeButtonHint = 0x00004000, WindowMaximizeButtonHint = 0x00008000, WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint, WindowContextHelpButtonHint = 0x00010000, WindowShadeButtonHint = 0x00020000, WindowStaysOnTopHint = 0x00040000, CustomizeWindowHint = 0x02000000, WindowStaysOnBottomHint = 0x04000000, WindowCloseButtonHint = 0x08000000, MacWindowToolBarButtonHint = 0x10000000, BypassGraphicsProxyWidget = 0x20000000, WindowOkButtonHint = 0x00080000, WindowCancelButtonHint = 0x00100000 # 353 "/usr/include/qt4/QtCore/qnamespace.h" }; typedef QFlags WindowFlags; enum WindowState { WindowNoState = 0x00000000, WindowMinimized = 0x00000001, WindowMaximized = 0x00000002, WindowFullScreen = 0x00000004, WindowActive = 0x00000008 }; typedef QFlags WindowStates; enum WidgetAttribute { WA_Disabled = 0, WA_UnderMouse = 1, WA_MouseTracking = 2, WA_ContentsPropagated = 3, WA_OpaquePaintEvent = 4, WA_NoBackground = WA_OpaquePaintEvent, WA_StaticContents = 5, WA_LaidOut = 7, WA_PaintOnScreen = 8, WA_NoSystemBackground = 9, WA_UpdatesDisabled = 10, WA_Mapped = 11, WA_MacNoClickThrough = 12, WA_PaintOutsidePaintEvent = 13, WA_InputMethodEnabled = 14, WA_WState_Visible = 15, WA_WState_Hidden = 16, WA_ForceDisabled = 32, WA_KeyCompression = 33, WA_PendingMoveEvent = 34, WA_PendingResizeEvent = 35, WA_SetPalette = 36, WA_SetFont = 37, WA_SetCursor = 38, WA_NoChildEventsFromChildren = 39, WA_WindowModified = 41, WA_Resized = 42, WA_Moved = 43, WA_PendingUpdate = 44, WA_InvalidSize = 45, WA_MacBrushedMetal = 46, WA_MacMetalStyle = WA_MacBrushedMetal, WA_CustomWhatsThis = 47, WA_LayoutOnEntireRect = 48, WA_OutsideWSRange = 49, WA_GrabbedShortcut = 50, WA_TransparentForMouseEvents = 51, WA_PaintUnclipped = 52, WA_SetWindowIcon = 53, WA_NoMouseReplay = 54, WA_DeleteOnClose = 55, WA_RightToLeft = 56, WA_SetLayoutDirection = 57, WA_NoChildEventsForParent = 58, WA_ForceUpdatesDisabled = 59, WA_WState_Created = 60, WA_WState_CompressKeys = 61, WA_WState_InPaintEvent = 62, WA_WState_Reparented = 63, WA_WState_ConfigPending = 64, WA_WState_Polished = 66, WA_WState_DND = 67, WA_WState_OwnSizePolicy = 68, WA_WState_ExplicitShowHide = 69, WA_ShowModal = 70, WA_MouseNoMask = 71, WA_GroupLeader = 72, WA_NoMousePropagation = 73, WA_Hover = 74, WA_InputMethodTransparent = 75, WA_QuitOnClose = 76, WA_KeyboardFocusChange = 77, WA_AcceptDrops = 78, WA_DropSiteRegistered = 79, WA_ForceAcceptDrops = WA_DropSiteRegistered, WA_WindowPropagation = 80, WA_NoX11EventCompression = 81, WA_TintedBackground = 82, WA_X11OpenGLOverlay = 83, WA_AlwaysShowToolTips = 84, WA_MacOpaqueSizeGrip = 85, WA_SetStyle = 86, WA_SetLocale = 87, WA_MacShowFocusRect = 88, WA_MacNormalSize = 89, WA_MacSmallSize = 90, WA_MacMiniSize = 91, WA_LayoutUsesWidgetRect = 92, WA_StyledBackground = 93, WA_MSWindowsUseDirect3D = 94, WA_CanHostQMdiSubWindowTitleBar = 95, WA_MacAlwaysShowToolWindow = 96, WA_StyleSheet = 97, WA_ShowWithoutActivating = 98, WA_X11BypassTransientForHint = 99, WA_NativeWindow = 100, WA_DontCreateNativeAncestors = 101, WA_MacVariableSize = 102, WA_DontShowOnScreen = 103, WA_X11NetWmWindowTypeDesktop = 104, WA_X11NetWmWindowTypeDock = 105, WA_X11NetWmWindowTypeToolBar = 106, WA_X11NetWmWindowTypeMenu = 107, WA_X11NetWmWindowTypeUtility = 108, WA_X11NetWmWindowTypeSplash = 109, WA_X11NetWmWindowTypeDialog = 110, WA_X11NetWmWindowTypeDropDownMenu = 111, WA_X11NetWmWindowTypePopupMenu = 112, WA_X11NetWmWindowTypeToolTip = 113, WA_X11NetWmWindowTypeNotification = 114, WA_X11NetWmWindowTypeCombo = 115, WA_X11NetWmWindowTypeDND = 116, WA_MacFrameworkScaled = 117, WA_SetWindowModality = 118, WA_WState_WindowOpacitySet = 119, WA_TranslucentBackground = 120, WA_AcceptTouchEvents = 121, WA_WState_AcceptedTouchBeginEvent = 122, WA_TouchPadAcceptSingleTouchEvents = 123, WA_MergeSoftkeys = 124, WA_MergeSoftkeysRecursively = 125, WA_AttributeCount }; enum ApplicationAttribute { AA_ImmediateWidgetCreation = 0, AA_MSWindowsUseDirect3DByDefault = 1, AA_DontShowIconsInMenus = 2, AA_NativeWindows = 3, AA_DontCreateNativeWidgetSiblings = 4, AA_MacPluginApplication = 5, AA_DontUseNativeMenuBar = 6, AA_MacDontSwapCtrlAndMeta = 7, AA_S60DontConstructApplicationPanes = 8, AA_AttributeCount }; enum ImageConversionFlag { ColorMode_Mask = 0x00000003, AutoColor = 0x00000000, ColorOnly = 0x00000003, MonoOnly = 0x00000002, AlphaDither_Mask = 0x0000000c, ThresholdAlphaDither = 0x00000000, OrderedAlphaDither = 0x00000004, DiffuseAlphaDither = 0x00000008, NoAlpha = 0x0000000c, Dither_Mask = 0x00000030, DiffuseDither = 0x00000000, OrderedDither = 0x00000010, ThresholdDither = 0x00000020, DitherMode_Mask = 0x000000c0, AutoDither = 0x00000000, PreferDither = 0x00000040, AvoidDither = 0x00000080, NoOpaqueDetection = 0x00000100 }; typedef QFlags ImageConversionFlags; enum BGMode { TransparentMode, OpaqueMode }; # 579 "/usr/include/qt4/QtCore/qnamespace.h" enum Key { Key_Escape = 0x01000000, Key_Tab = 0x01000001, Key_Backtab = 0x01000002, Key_Backspace = 0x01000003, Key_Return = 0x01000004, Key_Enter = 0x01000005, Key_Insert = 0x01000006, Key_Delete = 0x01000007, Key_Pause = 0x01000008, Key_Print = 0x01000009, Key_SysReq = 0x0100000a, Key_Clear = 0x0100000b, Key_Home = 0x01000010, Key_End = 0x01000011, Key_Left = 0x01000012, Key_Up = 0x01000013, Key_Right = 0x01000014, Key_Down = 0x01000015, Key_PageUp = 0x01000016, Key_PageDown = 0x01000017, Key_Shift = 0x01000020, Key_Control = 0x01000021, Key_Meta = 0x01000022, Key_Alt = 0x01000023, Key_CapsLock = 0x01000024, Key_NumLock = 0x01000025, Key_ScrollLock = 0x01000026, Key_F1 = 0x01000030, Key_F2 = 0x01000031, Key_F3 = 0x01000032, Key_F4 = 0x01000033, Key_F5 = 0x01000034, Key_F6 = 0x01000035, Key_F7 = 0x01000036, Key_F8 = 0x01000037, Key_F9 = 0x01000038, Key_F10 = 0x01000039, Key_F11 = 0x0100003a, Key_F12 = 0x0100003b, Key_F13 = 0x0100003c, Key_F14 = 0x0100003d, Key_F15 = 0x0100003e, Key_F16 = 0x0100003f, Key_F17 = 0x01000040, Key_F18 = 0x01000041, Key_F19 = 0x01000042, Key_F20 = 0x01000043, Key_F21 = 0x01000044, Key_F22 = 0x01000045, Key_F23 = 0x01000046, Key_F24 = 0x01000047, Key_F25 = 0x01000048, Key_F26 = 0x01000049, Key_F27 = 0x0100004a, Key_F28 = 0x0100004b, Key_F29 = 0x0100004c, Key_F30 = 0x0100004d, Key_F31 = 0x0100004e, Key_F32 = 0x0100004f, Key_F33 = 0x01000050, Key_F34 = 0x01000051, Key_F35 = 0x01000052, Key_Super_L = 0x01000053, Key_Super_R = 0x01000054, Key_Menu = 0x01000055, Key_Hyper_L = 0x01000056, Key_Hyper_R = 0x01000057, Key_Help = 0x01000058, Key_Direction_L = 0x01000059, Key_Direction_R = 0x01000060, Key_Space = 0x20, Key_Any = Key_Space, Key_Exclam = 0x21, Key_QuoteDbl = 0x22, Key_NumberSign = 0x23, Key_Dollar = 0x24, Key_Percent = 0x25, Key_Ampersand = 0x26, Key_Apostrophe = 0x27, Key_ParenLeft = 0x28, Key_ParenRight = 0x29, Key_Asterisk = 0x2a, Key_Plus = 0x2b, Key_Comma = 0x2c, Key_Minus = 0x2d, Key_Period = 0x2e, Key_Slash = 0x2f, Key_0 = 0x30, Key_1 = 0x31, Key_2 = 0x32, Key_3 = 0x33, Key_4 = 0x34, Key_5 = 0x35, Key_6 = 0x36, Key_7 = 0x37, Key_8 = 0x38, Key_9 = 0x39, Key_Colon = 0x3a, Key_Semicolon = 0x3b, Key_Less = 0x3c, Key_Equal = 0x3d, Key_Greater = 0x3e, Key_Question = 0x3f, Key_At = 0x40, Key_A = 0x41, Key_B = 0x42, Key_C = 0x43, Key_D = 0x44, Key_E = 0x45, Key_F = 0x46, Key_G = 0x47, Key_H = 0x48, Key_I = 0x49, Key_J = 0x4a, Key_K = 0x4b, Key_L = 0x4c, Key_M = 0x4d, Key_N = 0x4e, Key_O = 0x4f, Key_P = 0x50, Key_Q = 0x51, Key_R = 0x52, Key_S = 0x53, Key_T = 0x54, Key_U = 0x55, Key_V = 0x56, Key_W = 0x57, Key_X = 0x58, Key_Y = 0x59, Key_Z = 0x5a, Key_BracketLeft = 0x5b, Key_Backslash = 0x5c, Key_BracketRight = 0x5d, Key_AsciiCircum = 0x5e, Key_Underscore = 0x5f, Key_QuoteLeft = 0x60, Key_BraceLeft = 0x7b, Key_Bar = 0x7c, Key_BraceRight = 0x7d, Key_AsciiTilde = 0x7e, Key_nobreakspace = 0x0a0, Key_exclamdown = 0x0a1, Key_cent = 0x0a2, Key_sterling = 0x0a3, Key_currency = 0x0a4, Key_yen = 0x0a5, Key_brokenbar = 0x0a6, Key_section = 0x0a7, Key_diaeresis = 0x0a8, Key_copyright = 0x0a9, Key_ordfeminine = 0x0aa, Key_guillemotleft = 0x0ab, Key_notsign = 0x0ac, Key_hyphen = 0x0ad, Key_registered = 0x0ae, Key_macron = 0x0af, Key_degree = 0x0b0, Key_plusminus = 0x0b1, Key_twosuperior = 0x0b2, Key_threesuperior = 0x0b3, Key_acute = 0x0b4, Key_mu = 0x0b5, Key_paragraph = 0x0b6, Key_periodcentered = 0x0b7, Key_cedilla = 0x0b8, Key_onesuperior = 0x0b9, Key_masculine = 0x0ba, Key_guillemotright = 0x0bb, Key_onequarter = 0x0bc, Key_onehalf = 0x0bd, Key_threequarters = 0x0be, Key_questiondown = 0x0bf, Key_Agrave = 0x0c0, Key_Aacute = 0x0c1, Key_Acircumflex = 0x0c2, Key_Atilde = 0x0c3, Key_Adiaeresis = 0x0c4, Key_Aring = 0x0c5, Key_AE = 0x0c6, Key_Ccedilla = 0x0c7, Key_Egrave = 0x0c8, Key_Eacute = 0x0c9, Key_Ecircumflex = 0x0ca, Key_Ediaeresis = 0x0cb, Key_Igrave = 0x0cc, Key_Iacute = 0x0cd, Key_Icircumflex = 0x0ce, Key_Idiaeresis = 0x0cf, Key_ETH = 0x0d0, Key_Ntilde = 0x0d1, Key_Ograve = 0x0d2, Key_Oacute = 0x0d3, Key_Ocircumflex = 0x0d4, Key_Otilde = 0x0d5, Key_Odiaeresis = 0x0d6, Key_multiply = 0x0d7, Key_Ooblique = 0x0d8, Key_Ugrave = 0x0d9, Key_Uacute = 0x0da, Key_Ucircumflex = 0x0db, Key_Udiaeresis = 0x0dc, Key_Yacute = 0x0dd, Key_THORN = 0x0de, Key_ssharp = 0x0df, # 822 "/usr/include/qt4/QtCore/qnamespace.h" Key_division = 0x0f7, # 832 "/usr/include/qt4/QtCore/qnamespace.h" Key_ydiaeresis = 0x0ff, Key_AltGr = 0x01001103, Key_Multi_key = 0x01001120, Key_Codeinput = 0x01001137, Key_SingleCandidate = 0x0100113c, Key_MultipleCandidate = 0x0100113d, Key_PreviousCandidate = 0x0100113e, Key_Mode_switch = 0x0100117e, Key_Kanji = 0x01001121, Key_Muhenkan = 0x01001122, Key_Henkan = 0x01001123, Key_Romaji = 0x01001124, Key_Hiragana = 0x01001125, Key_Katakana = 0x01001126, Key_Hiragana_Katakana = 0x01001127, Key_Zenkaku = 0x01001128, Key_Hankaku = 0x01001129, Key_Zenkaku_Hankaku = 0x0100112a, Key_Touroku = 0x0100112b, Key_Massyo = 0x0100112c, Key_Kana_Lock = 0x0100112d, Key_Kana_Shift = 0x0100112e, Key_Eisu_Shift = 0x0100112f, Key_Eisu_toggle = 0x01001130, # 877 "/usr/include/qt4/QtCore/qnamespace.h" Key_Hangul = 0x01001131, Key_Hangul_Start = 0x01001132, Key_Hangul_End = 0x01001133, Key_Hangul_Hanja = 0x01001134, Key_Hangul_Jamo = 0x01001135, Key_Hangul_Romaja = 0x01001136, Key_Hangul_Jeonja = 0x01001138, Key_Hangul_Banja = 0x01001139, Key_Hangul_PreHanja = 0x0100113a, Key_Hangul_PostHanja = 0x0100113b, Key_Hangul_Special = 0x0100113f, Key_Dead_Grave = 0x01001250, Key_Dead_Acute = 0x01001251, Key_Dead_Circumflex = 0x01001252, Key_Dead_Tilde = 0x01001253, Key_Dead_Macron = 0x01001254, Key_Dead_Breve = 0x01001255, Key_Dead_Abovedot = 0x01001256, Key_Dead_Diaeresis = 0x01001257, Key_Dead_Abovering = 0x01001258, Key_Dead_Doubleacute = 0x01001259, Key_Dead_Caron = 0x0100125a, Key_Dead_Cedilla = 0x0100125b, Key_Dead_Ogonek = 0x0100125c, Key_Dead_Iota = 0x0100125d, Key_Dead_Voiced_Sound = 0x0100125e, Key_Dead_Semivoiced_Sound = 0x0100125f, Key_Dead_Belowdot = 0x01001260, Key_Dead_Hook = 0x01001261, Key_Dead_Horn = 0x01001262, Key_Back = 0x01000061, Key_Forward = 0x01000062, Key_Stop = 0x01000063, Key_Refresh = 0x01000064, Key_VolumeDown = 0x01000070, Key_VolumeMute = 0x01000071, Key_VolumeUp = 0x01000072, Key_BassBoost = 0x01000073, Key_BassUp = 0x01000074, Key_BassDown = 0x01000075, Key_TrebleUp = 0x01000076, Key_TrebleDown = 0x01000077, Key_MediaPlay = 0x01000080, Key_MediaStop = 0x01000081, Key_MediaPrevious = 0x01000082, Key_MediaNext = 0x01000083, Key_MediaRecord = 0x01000084, Key_HomePage = 0x01000090, Key_Favorites = 0x01000091, Key_Search = 0x01000092, Key_Standby = 0x01000093, Key_OpenUrl = 0x01000094, Key_LaunchMail = 0x010000a0, Key_LaunchMedia = 0x010000a1, Key_Launch0 = 0x010000a2, Key_Launch1 = 0x010000a3, Key_Launch2 = 0x010000a4, Key_Launch3 = 0x010000a5, Key_Launch4 = 0x010000a6, Key_Launch5 = 0x010000a7, Key_Launch6 = 0x010000a8, Key_Launch7 = 0x010000a9, Key_Launch8 = 0x010000aa, Key_Launch9 = 0x010000ab, Key_LaunchA = 0x010000ac, Key_LaunchB = 0x010000ad, Key_LaunchC = 0x010000ae, Key_LaunchD = 0x010000af, Key_LaunchE = 0x010000b0, Key_LaunchF = 0x010000b1, Key_MonBrightnessUp = 0x010000b2, Key_MonBrightnessDown = 0x010000b3, Key_KeyboardLightOnOff = 0x010000b4, Key_KeyboardBrightnessUp = 0x010000b5, Key_KeyboardBrightnessDown = 0x010000b6, Key_PowerOff = 0x010000b7, Key_WakeUp = 0x010000b8, Key_Eject = 0x010000b9, Key_ScreenSaver = 0x010000ba, Key_WWW = 0x010000bb, Key_Memo = 0x010000bc, Key_LightBulb = 0x010000bd, Key_Shop = 0x010000be, Key_History = 0x010000bf, Key_AddFavorite = 0x010000c0, Key_HotLinks = 0x010000c1, Key_BrightnessAdjust = 0x010000c2, Key_Finance = 0x010000c3, Key_Community = 0x010000c4, Key_AudioRewind = 0x010000c5, Key_BackForward = 0x010000c6, Key_ApplicationLeft = 0x010000c7, Key_ApplicationRight = 0x010000c8, Key_Book = 0x010000c9, Key_CD = 0x010000ca, Key_Calculator = 0x010000cb, Key_ToDoList = 0x010000cc, Key_ClearGrab = 0x010000cd, Key_Close = 0x010000ce, Key_Copy = 0x010000cf, Key_Cut = 0x010000d0, Key_Display = 0x010000d1, Key_DOS = 0x010000d2, Key_Documents = 0x010000d3, Key_Excel = 0x010000d4, Key_Explorer = 0x010000d5, Key_Game = 0x010000d6, Key_Go = 0x010000d7, Key_iTouch = 0x010000d8, Key_LogOff = 0x010000d9, Key_Market = 0x010000da, Key_Meeting = 0x010000db, Key_MenuKB = 0x010000dc, Key_MenuPB = 0x010000dd, Key_MySites = 0x010000de, Key_News = 0x010000df, Key_OfficeHome = 0x010000e0, Key_Option = 0x010000e1, Key_Paste = 0x010000e2, Key_Phone = 0x010000e3, Key_Calendar = 0x010000e4, Key_Reply = 0x010000e5, Key_Reload = 0x010000e6, Key_RotateWindows = 0x010000e7, Key_RotationPB = 0x010000e8, Key_RotationKB = 0x010000e9, Key_Save = 0x010000ea, Key_Send = 0x010000eb, Key_Spell = 0x010000ec, Key_SplitScreen = 0x010000ed, Key_Support = 0x010000ee, Key_TaskPane = 0x010000ef, Key_Terminal = 0x010000f0, Key_Tools = 0x010000f1, Key_Travel = 0x010000f2, Key_Video = 0x010000f3, Key_Word = 0x010000f4, Key_Xfer = 0x010000f5, Key_ZoomIn = 0x010000f6, Key_ZoomOut = 0x010000f7, Key_Away = 0x010000f8, Key_Messenger = 0x010000f9, Key_WebCam = 0x010000fa, Key_MailForward = 0x010000fb, Key_Pictures = 0x010000fc, Key_Music = 0x010000fd, Key_Battery = 0x010000fe, Key_Bluetooth = 0x010000ff, Key_WLAN = 0x01000100, Key_UWB = 0x01000101, Key_AudioForward = 0x01000102, Key_AudioRepeat = 0x01000103, Key_AudioRandomPlay = 0x01000104, Key_Subtitle = 0x01000105, Key_AudioCycleTrack = 0x01000106, Key_Time = 0x01000107, Key_Hibernate = 0x01000108, Key_View = 0x01000109, Key_TopMenu = 0x0100010a, Key_PowerDown = 0x0100010b, Key_Suspend = 0x0100010c, Key_ContrastAdjust = 0x0100010d, Key_MediaLast = 0x0100ffff, Key_Select = 0x01010000, Key_Yes = 0x01010001, Key_No = 0x01010002, Key_Cancel = 0x01020001, Key_Printer = 0x01020002, Key_Execute = 0x01020003, Key_Sleep = 0x01020004, Key_Play = 0x01020005, Key_Zoom = 0x01020006, Key_Context1 = 0x01100000, Key_Context2 = 0x01100001, Key_Context3 = 0x01100002, Key_Context4 = 0x01100003, Key_Call = 0x01100004, Key_Hangup = 0x01100005, Key_Flip = 0x01100006, Key_unknown = 0x01ffffff }; enum ArrowType { NoArrow, UpArrow, DownArrow, LeftArrow, RightArrow }; enum PenStyle { NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine, CustomDashLine , MPenStyle = 0x0f }; enum PenCapStyle { FlatCap = 0x00, SquareCap = 0x10, RoundCap = 0x20, MPenCapStyle = 0x30 }; enum PenJoinStyle { MiterJoin = 0x00, BevelJoin = 0x40, RoundJoin = 0x80, SvgMiterJoin = 0x100, MPenJoinStyle = 0x1c0 }; enum BrushStyle { NoBrush, SolidPattern, Dense1Pattern, Dense2Pattern, Dense3Pattern, Dense4Pattern, Dense5Pattern, Dense6Pattern, Dense7Pattern, HorPattern, VerPattern, CrossPattern, BDiagPattern, FDiagPattern, DiagCrossPattern, LinearGradientPattern, RadialGradientPattern, ConicalGradientPattern, TexturePattern = 24 }; enum SizeMode { AbsoluteSize, RelativeSize }; # 1208 "/usr/include/qt4/QtCore/qnamespace.h" enum UIEffect { UI_General, UI_AnimateMenu, UI_FadeMenu, UI_AnimateCombo, UI_AnimateTooltip, UI_FadeTooltip, UI_AnimateToolBox }; enum CursorShape { ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IBeamCursor, SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor, SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor, PointingHandCursor, ForbiddenCursor, WhatsThisCursor, BusyCursor, OpenHandCursor, ClosedHandCursor, LastCursor = ClosedHandCursor, BitmapCursor = 24, CustomCursor = 25 # 1261 "/usr/include/qt4/QtCore/qnamespace.h" }; enum TextFormat { PlainText, RichText, AutoText, LogText }; enum AspectRatioMode { IgnoreAspectRatio, KeepAspectRatio, KeepAspectRatioByExpanding }; enum AnchorAttribute { AnchorName, AnchorHref }; enum DockWidgetArea { LeftDockWidgetArea = 0x1, RightDockWidgetArea = 0x2, TopDockWidgetArea = 0x4, BottomDockWidgetArea = 0x8, DockWidgetArea_Mask = 0xf, AllDockWidgetAreas = DockWidgetArea_Mask, NoDockWidgetArea = 0 }; enum DockWidgetAreaSizes { NDockWidgetAreas = 4 }; typedef QFlags DockWidgetAreas; enum ToolBarArea { LeftToolBarArea = 0x1, RightToolBarArea = 0x2, TopToolBarArea = 0x4, BottomToolBarArea = 0x8, ToolBarArea_Mask = 0xf, AllToolBarAreas = ToolBarArea_Mask, NoToolBarArea = 0 }; enum ToolBarAreaSizes { NToolBarAreas = 4 }; typedef QFlags ToolBarAreas; # 1345 "/usr/include/qt4/QtCore/qnamespace.h" enum DateFormat { TextDate, ISODate, SystemLocaleDate, LocalDate = SystemLocaleDate, LocaleDate, SystemLocaleShortDate, SystemLocaleLongDate, DefaultLocaleShortDate, DefaultLocaleLongDate }; enum TimeSpec { LocalTime, UTC, OffsetFromUTC }; enum DayOfWeek { Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, Sunday = 7 }; enum ScrollBarPolicy { ScrollBarAsNeeded, ScrollBarAlwaysOff, ScrollBarAlwaysOn }; # 1404 "/usr/include/qt4/QtCore/qnamespace.h" enum CaseSensitivity { CaseInsensitive, CaseSensitive }; enum Corner { TopLeftCorner = 0x00000, TopRightCorner = 0x00001, BottomLeftCorner = 0x00002, BottomRightCorner = 0x00003 }; enum ConnectionType { AutoConnection, DirectConnection, QueuedConnection, AutoCompatConnection, BlockingQueuedConnection, UniqueConnection = 0x80 }; enum ShortcutContext { WidgetShortcut, WindowShortcut, ApplicationShortcut, WidgetWithChildrenShortcut }; enum FillRule { OddEvenFill, WindingFill }; enum MaskMode { MaskInColor, MaskOutColor }; enum ClipOperation { NoClip, ReplaceClip, IntersectClip, UniteClip }; enum ItemSelectionMode { ContainsItemShape = 0x0, IntersectsItemShape = 0x1, ContainsItemBoundingRect = 0x2, IntersectsItemBoundingRect = 0x3 }; enum TransformationMode { FastTransformation, SmoothTransformation }; enum Axis { XAxis, YAxis, ZAxis }; enum FocusReason { MouseFocusReason, TabFocusReason, BacktabFocusReason, ActiveWindowFocusReason, PopupFocusReason, ShortcutFocusReason, MenuBarFocusReason, OtherFocusReason, NoFocusReason }; enum ContextMenuPolicy { NoContextMenu, DefaultContextMenu, ActionsContextMenu, CustomContextMenu, PreventContextMenu }; enum InputMethodQuery { ImMicroFocus, ImFont, ImCursorPosition, ImSurroundingText, ImCurrentSelection, ImMaximumTextLength, ImAnchorPosition }; enum InputMethodHint { ImhNone = 0x0, ImhHiddenText = 0x1, ImhNoAutoUppercase = 0x2, ImhPreferNumbers = 0x4, ImhPreferUppercase = 0x8, ImhPreferLowercase = 0x10, ImhNoPredictiveText = 0x20, ImhDigitsOnly = 0x10000, ImhFormattedNumbersOnly = 0x20000, ImhUppercaseOnly = 0x40000, ImhLowercaseOnly = 0x80000, ImhDialableCharactersOnly = 0x100000, ImhEmailCharactersOnly = 0x200000, ImhUrlCharactersOnly = 0x400000, ImhExclusiveInputMask = 0xffff0000 }; typedef QFlags InputMethodHints; enum ToolButtonStyle { ToolButtonIconOnly, ToolButtonTextOnly, ToolButtonTextBesideIcon, ToolButtonTextUnderIcon, ToolButtonFollowStyle }; enum LayoutDirection { LeftToRight, RightToLeft }; enum AnchorPoint { AnchorLeft = 0, AnchorHorizontalCenter, AnchorRight, AnchorTop, AnchorVerticalCenter, AnchorBottom }; enum DropAction { CopyAction = 0x1, MoveAction = 0x2, LinkAction = 0x4, ActionMask = 0xff, TargetMoveAction = 0x8002, IgnoreAction = 0x0 }; typedef QFlags DropActions; enum CheckState { Unchecked, PartiallyChecked, Checked }; enum ItemDataRole { DisplayRole = 0, DecorationRole = 1, EditRole = 2, ToolTipRole = 3, StatusTipRole = 4, WhatsThisRole = 5, FontRole = 6, TextAlignmentRole = 7, BackgroundColorRole = 8, BackgroundRole = 8, TextColorRole = 9, ForegroundRole = 9, CheckStateRole = 10, AccessibleTextRole = 11, AccessibleDescriptionRole = 12, SizeHintRole = 13, DisplayPropertyRole = 27, DecorationPropertyRole = 28, ToolTipPropertyRole = 29, StatusTipPropertyRole = 30, WhatsThisPropertyRole = 31, UserRole = 32 }; enum ItemFlag { NoItemFlags = 0, ItemIsSelectable = 1, ItemIsEditable = 2, ItemIsDragEnabled = 4, ItemIsDropEnabled = 8, ItemIsUserCheckable = 16, ItemIsEnabled = 32, ItemIsTristate = 64 }; typedef QFlags ItemFlags; enum MatchFlag { MatchExactly = 0, MatchContains = 1, MatchStartsWith = 2, MatchEndsWith = 3, MatchRegExp = 4, MatchWildcard = 5, MatchFixedString = 8, MatchCaseSensitive = 16, MatchWrap = 32, MatchRecursive = 64 }; typedef QFlags MatchFlags; typedef unsigned long HANDLE; typedef WindowFlags WFlags; enum WindowModality { NonModal, WindowModal, ApplicationModal }; enum TextInteractionFlag { NoTextInteraction = 0, TextSelectableByMouse = 1, TextSelectableByKeyboard = 2, LinksAccessibleByMouse = 4, LinksAccessibleByKeyboard = 8, TextEditable = 16, TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable, TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard }; typedef QFlags TextInteractionFlags; enum EventPriority { HighEventPriority = 1, NormalEventPriority = 0, LowEventPriority = -1 }; enum SizeHint { MinimumSize, PreferredSize, MaximumSize, MinimumDescent, NSizeHints }; enum WindowFrameSection { NoSection, LeftSection, TopLeftSection, TopSection, TopRightSection, RightSection, BottomRightSection, BottomSection, BottomLeftSection, TitleBarArea }; enum Initialization { Uninitialized }; enum CoordinateSystem { DeviceCoordinates, LogicalCoordinates }; enum TouchPointState { TouchPointPressed = 0x01, TouchPointMoved = 0x02, TouchPointStationary = 0x04, TouchPointReleased = 0x08, TouchPointStateMask = 0x0f, TouchPointPrimary = 0x10 }; typedef QFlags TouchPointStates; enum GestureState { NoGesture, GestureStarted = 1, GestureUpdated = 2, GestureFinished = 3, GestureCanceled = 4 }; enum GestureType { TapGesture = 1, TapAndHoldGesture = 2, PanGesture = 3, PinchGesture = 4, SwipeGesture = 5, CustomGesture = 0x0100, LastGestureType = ~0u }; enum GestureFlag { DontStartGestureOnChildren = 0x01, ReceivePartialGestures = 0x02 }; typedef QFlags GestureFlags; enum NavigationMode { NavigationModeNone, NavigationModeKeypadTabOrder, NavigationModeKeypadDirectional, NavigationModeCursorAuto, NavigationModeCursorForceVisible }; } inline QFlags operator|(Qt::MouseButtons::enum_type f1, Qt::MouseButtons::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::MouseButtons::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::MouseButtons::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::Orientations::enum_type f1, Qt::Orientations::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::Orientations::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::Orientations::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::KeyboardModifiers::enum_type f1, Qt::KeyboardModifiers::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::KeyboardModifiers::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::KeyboardModifiers::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::WindowFlags::enum_type f1, Qt::WindowFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::WindowFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::WindowFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::Alignment::enum_type f1, Qt::Alignment::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::Alignment::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::Alignment::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::ImageConversionFlags::enum_type f1, Qt::ImageConversionFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::ImageConversionFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::ImageConversionFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::DockWidgetAreas::enum_type f1, Qt::DockWidgetAreas::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::DockWidgetAreas::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::DockWidgetAreas::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::ToolBarAreas::enum_type f1, Qt::ToolBarAreas::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::ToolBarAreas::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::ToolBarAreas::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::WindowStates::enum_type f1, Qt::WindowStates::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::WindowStates::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::WindowStates::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::DropActions::enum_type f1, Qt::DropActions::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::DropActions::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::DropActions::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::ItemFlags::enum_type f1, Qt::ItemFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::ItemFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::ItemFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::MatchFlags::enum_type f1, Qt::MatchFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::MatchFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::MatchFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::TextInteractionFlags::enum_type f1, Qt::TextInteractionFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::TextInteractionFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::TextInteractionFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::InputMethodHints::enum_type f1, Qt::InputMethodHints::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::InputMethodHints::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::InputMethodHints::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::TouchPointStates::enum_type f1, Qt::TouchPointStates::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::TouchPointStates::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::TouchPointStates::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QFlags operator|(Qt::GestureFlags::enum_type f1, Qt::GestureFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::GestureFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(Qt::GestureFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } typedef bool (*qInternalCallback)(void **); class QInternal { public: enum PaintDeviceFlags { UnknownDevice = 0x00, Widget = 0x01, Pixmap = 0x02, Image = 0x03, Printer = 0x04, Picture = 0x05, Pbuffer = 0x06, FramebufferObject = 0x07, CustomRaster = 0x08, MacQuartz = 0x09, PaintBuffer = 0x0a, OpenGL = 0x0b }; enum RelayoutType { RelayoutNormal, RelayoutDragging, RelayoutDropped }; enum Callback { ConnectCallback, DisconnectCallback, AdoptCurrentThread, EventNotifyCallback, LastCallback }; enum InternalFunction { CreateThreadForAdoption, RefAdoptedThread, DerefAdoptedThread, SetCurrentThreadToMainThread, SetQObjectSender, GetQObjectSender, ResetQObjectSender, LastInternalFunction }; enum DockPosition { LeftDock, RightDock, TopDock, BottomDock, DockCount }; static bool registerCallback(Callback, qInternalCallback); static bool unregisterCallback(Callback, qInternalCallback); static bool activateCallbacks(Callback, void **); static bool callFunction(InternalFunction func, void **); }; # 1826 "/usr/include/qt4/QtCore/qnamespace.h" # 47 "/usr/include/qt4/QtCore/qbytearray.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 26 "/usr/include/string.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 347 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 353 "/usr/include/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 354 "/usr/include/sys/cdefs.h" 2 3 4 # 348 "/usr/include/features.h" 2 3 4 # 371 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 5 "/usr/include/gnu/stubs.h" 2 3 4 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4 # 10 "/usr/include/gnu/stubs.h" 2 3 4 # 372 "/usr/include/features.h" 2 3 4 # 27 "/usr/include/string.h" 2 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern "C++" { extern void *memchr (void *__s, int __c, size_t __n) throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __const void *memchr (__const void *__s, int __c, size_t __n) throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void * memchr (void *__s, int __c, size_t __n) throw () { return __builtin_memchr (__s, __c, __n); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __const void * memchr (__const void *__s, int __c, size_t __n) throw () { return __builtin_memchr (__s, __c, __n); } } extern "C++" void *rawmemchr (void *__s, int __c) throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern "C++" __const void *rawmemchr (__const void *__s, int __c) throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern "C++" void *memrchr (void *__s, int __c, size_t __n) throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern "C++" __const void *memrchr (__const void *__s, int __c, size_t __n) throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (2))); # 1 "/usr/include/xlocale.h" 1 3 4 # 28 "/usr/include/xlocale.h" 3 4 typedef struct __locale_struct { struct locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; typedef __locale_t locale_t; # 162 "/usr/include/string.h" 2 3 4 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); extern char *strdup (__const char *__s) throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (__const char *__string, size_t __n) throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 208 "/usr/include/string.h" 3 4 extern "C++" { extern char *strchr (char *__s, int __c) throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __const char *strchr (__const char *__s, int __c) throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * strchr (char *__s, int __c) throw () { return __builtin_strchr (__s, __c); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __const char * strchr (__const char *__s, int __c) throw () { return __builtin_strchr (__s, __c); } } extern "C++" { extern char *strrchr (char *__s, int __c) throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __const char *strrchr (__const char *__s, int __c) throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * strrchr (char *__s, int __c) throw () { return __builtin_strrchr (__s, __c); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __const char * strrchr (__const char *__s, int __c) throw () { return __builtin_strrchr (__s, __c); } } extern "C++" char *strchrnul (char *__s, int __c) throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern "C++" __const char *strchrnul (__const char *__s, int __c) throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (__const char *__s, __const char *__reject) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern "C++" { extern char *strpbrk (char *__s, __const char *__accept) throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern __const char *strpbrk (__const char *__s, __const char *__accept) throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * strpbrk (char *__s, __const char *__accept) throw () { return __builtin_strpbrk (__s, __accept); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __const char * strpbrk (__const char *__s, __const char *__accept) throw () { return __builtin_strpbrk (__s, __accept); } } extern "C++" { extern char *strstr (char *__haystack, __const char *__needle) throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern __const char *strstr (__const char *__haystack, __const char *__needle) throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * strstr (char *__haystack, __const char *__needle) throw () { return __builtin_strstr (__haystack, __needle); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __const char * strstr (__const char *__haystack, __const char *__needle) throw () { return __builtin_strstr (__haystack, __needle); } } extern char *strtok (char *__restrict __s, __const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) throw () __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) throw () __attribute__ ((__nonnull__ (2, 3))); extern "C++" char *strcasestr (char *__haystack, __const char *__needle) throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern "C++" __const char *strcasestr (__const char *__haystack, __const char *__needle) throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 380 "/usr/include/string.h" 3 4 extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (__const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (__const char *__string, size_t __maxlen) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) throw (); # 436 "/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))); extern char *strerror_l (int __errnum, __locale_t __l) throw (); extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern "C++" { extern char *index (char *__s, int __c) throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __const char *index (__const char *__s, int __c) throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * index (char *__s, int __c) throw () { return __builtin_index (__s, __c); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __const char * index (__const char *__s, int __c) throw () { return __builtin_index (__s, __c); } } extern "C++" { extern char *rindex (char *__s, int __c) throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __const char *rindex (__const char *__s, int __c) throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * rindex (char *__s, int __c) throw () { return __builtin_rindex (__s, __c); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __const char * rindex (__const char *__s, int __c) throw () { return __builtin_rindex (__s, __c); } } extern int ffs (int __i) throw () __attribute__ ((__const__)); extern int ffsl (long int __l) throw () __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) throw () __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) throw (); extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern int strverscmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern "C++" char *basename (char *__filename) throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); extern "C++" __const char *basename (__const char *__filename) throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); # 640 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/string3.h" 1 3 4 # 23 "/usr/include/bits/string3.h" 3 4 extern void __warn_memset_zero_len (void) __attribute__((__warning__ ("memset used with constant zero length parameter; this could be due to transposed parameters"))) ; # 48 "/usr/include/bits/string3.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void * memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __len) throw () { return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void * memmove (void *__restrict __dest, __const void *__restrict __src, size_t __len) throw () { return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void * mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __len) throw () { return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } # 77 "/usr/include/bits/string3.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void * memset (void *__dest, int __ch, size_t __len) throw () { if (__builtin_constant_p (__len) && __len == 0 && (!__builtin_constant_p (__ch) || __ch != 0)) { __warn_memset_zero_len (); return __dest; } return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void bcopy (__const void *__restrict __src, void *__restrict __dest, size_t __len) throw () { (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void bzero (void *__dest, size_t __len) throw () { (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * strcpy (char *__restrict __dest, __const char *__restrict __src) throw () { return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * stpcpy (char *__restrict __dest, __const char *__restrict __src) throw () { return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __len) throw () { return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); } extern char *__stpncpy_chk (char *__dest, __const char *__src, size_t __n, size_t __destlen) throw (); extern char *__stpncpy_alias (char *__dest, __const char *__src, size_t __n) throw () __asm__ ("" "stpncpy") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * stpncpy (char *__dest, __const char *__src, size_t __n) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 && (!__builtin_constant_p (__n) || __n <= __builtin_object_size (__dest, 2 > 1))) return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); return __stpncpy_alias (__dest, __src, __n); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * strcat (char *__restrict __dest, __const char *__restrict __src) throw () { return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char * strncat (char *__restrict __dest, __const char *__restrict __src, size_t __len) throw () { return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); } # 641 "/usr/include/string.h" 2 3 4 } # 49 "/usr/include/qt4/QtCore/qbytearray.h" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stdarg.h" 1 3 4 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 102 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stdarg.h" 3 4 typedef __gnuc_va_list va_list; # 50 "/usr/include/qt4/QtCore/qbytearray.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; char *qstrdup(const char *); inline uint qstrlen(const char *str) { return str ? uint(strlen(str)) : 0; } inline uint qstrnlen(const char *str, uint maxlen) { uint length = 0; if (str) { while (length < maxlen && *str++) length++; } return length; } char *qstrcpy(char *dst, const char *src); char *qstrncpy(char *dst, const char *src, uint len); int qstrcmp(const char *str1, const char *str2); int qstrcmp(const QByteArray &str1, const QByteArray &str2); int qstrcmp(const QByteArray &str1, const char *str2); static inline int qstrcmp(const char *str1, const QByteArray &str2) { return -qstrcmp(str2, str1); } inline int qstrncmp(const char *str1, const char *str2, uint len) { return (str1 && str2) ? strncmp(str1, str2, len) : (str1 ? 1 : (str2 ? -1 : 0)); } int qstricmp(const char *, const char *); int qstrnicmp(const char *, const char *, uint len); int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap); int qsnprintf(char *str, size_t n, const char *fmt, ...); # 116 "/usr/include/qt4/QtCore/qbytearray.h" quint16 qChecksum(const char *s, uint len); class QByteRef; class QString; class QDataStream; template class QList; class QByteArray { private: struct Data { QBasicAtomicInt ref; int alloc, size; char *data; char array[1]; }; public: inline QByteArray(); QByteArray(const char *); QByteArray(const char *, int size); QByteArray(int size, char c); QByteArray(int size, Qt::Initialization); inline QByteArray(const QByteArray &); inline ~QByteArray(); QByteArray &operator=(const QByteArray &); QByteArray &operator=(const char *str); inline int size() const; bool isEmpty() const; void resize(int size); QByteArray &fill(char c, int size = -1); int capacity() const; void reserve(int size); void squeeze(); operator const char *() const; operator const void *() const; char *data(); const char *data() const; inline const char *constData() const; inline void detach(); bool isDetached() const; void clear(); char at(int i) const; char operator[](int i) const; char operator[](uint i) const; QByteRef operator[](int i); QByteRef operator[](uint i); int indexOf(char c, int from = 0) const; int indexOf(const char *c, int from = 0) const; int indexOf(const QByteArray &a, int from = 0) const; int lastIndexOf(char c, int from = -1) const; int lastIndexOf(const char *c, int from = -1) const; int lastIndexOf(const QByteArray &a, int from = -1) const; QBool contains(char c) const; QBool contains(const char *a) const; QBool contains(const QByteArray &a) const; int count(char c) const; int count(const char *a) const; int count(const QByteArray &a) const; QByteArray left(int len) const; QByteArray right(int len) const; QByteArray mid(int index, int len = -1) const; bool startsWith(const QByteArray &a) const; bool startsWith(char c) const; bool startsWith(const char *c) const; bool endsWith(const QByteArray &a) const; bool endsWith(char c) const; bool endsWith(const char *c) const; void truncate(int pos); void chop(int n); QByteArray toLower() const; QByteArray toUpper() const; QByteArray trimmed() const; QByteArray simplified() const; QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const; QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const; # 225 "/usr/include/qt4/QtCore/qbytearray.h" QByteArray &prepend(char c); QByteArray &prepend(const char *s); QByteArray &prepend(const char *s, int len); QByteArray &prepend(const QByteArray &a); QByteArray &append(char c); QByteArray &append(const char *s); QByteArray &append(const char *s, int len); QByteArray &append(const QByteArray &a); QByteArray &insert(int i, char c); QByteArray &insert(int i, const char *s); QByteArray &insert(int i, const char *s, int len); QByteArray &insert(int i, const QByteArray &a); QByteArray &remove(int index, int len); QByteArray &replace(int index, int len, const char *s); QByteArray &replace(int index, int len, const QByteArray &s); QByteArray &replace(char before, const char *after); QByteArray &replace(char before, const QByteArray &after); QByteArray &replace(const char *before, const char *after); QByteArray &replace(const char *before, int bsize, const char *after, int asize); QByteArray &replace(const QByteArray &before, const QByteArray &after); QByteArray &replace(const QByteArray &before, const char *after); QByteArray &replace(const char *before, const QByteArray &after); QByteArray &replace(char before, char after); QByteArray &operator+=(char c); QByteArray &operator+=(const char *s); QByteArray &operator+=(const QByteArray &a); QList split(char sep) const; QByteArray repeated(int times) const; QByteArray &append(const QString &s); QByteArray &insert(int i, const QString &s); QByteArray &replace(const QString &before, const char *after); QByteArray &replace(char c, const QString &after); QByteArray &replace(const QString &before, const QByteArray &after); QByteArray &operator+=(const QString &s); int indexOf(const QString &s, int from = 0) const; int lastIndexOf(const QString &s, int from = -1) const; inline bool operator==(const QString &s2) const; inline bool operator!=(const QString &s2) const; inline bool operator<(const QString &s2) const; inline bool operator>(const QString &s2) const; inline bool operator<=(const QString &s2) const; inline bool operator>=(const QString &s2) const; short toShort(bool *ok = 0, int base = 10) const; ushort toUShort(bool *ok = 0, int base = 10) const; int toInt(bool *ok = 0, int base = 10) const; uint toUInt(bool *ok = 0, int base = 10) const; long toLong(bool *ok = 0, int base = 10) const; ulong toULong(bool *ok = 0, int base = 10) const; qlonglong toLongLong(bool *ok = 0, int base = 10) const; qulonglong toULongLong(bool *ok = 0, int base = 10) const; float toFloat(bool *ok = 0) const; double toDouble(bool *ok = 0) const; QByteArray toBase64() const; QByteArray toHex() const; QByteArray toPercentEncoding(const QByteArray &exclude = QByteArray(), const QByteArray &include = QByteArray(), char percent = '%') const; QByteArray &setNum(short, int base = 10); QByteArray &setNum(ushort, int base = 10); QByteArray &setNum(int, int base = 10); QByteArray &setNum(uint, int base = 10); QByteArray &setNum(qlonglong, int base = 10); QByteArray &setNum(qulonglong, int base = 10); QByteArray &setNum(float, char f = 'g', int prec = 6); QByteArray &setNum(double, char f = 'g', int prec = 6); static QByteArray number(int, int base = 10); static QByteArray number(uint, int base = 10); static QByteArray number(qlonglong, int base = 10); static QByteArray number(qulonglong, int base = 10); static QByteArray number(double, char f = 'g', int prec = 6); static QByteArray fromRawData(const char *, int size); static QByteArray fromBase64(const QByteArray &base64); static QByteArray fromHex(const QByteArray &hexEncoded); static QByteArray fromPercentEncoding(const QByteArray &pctEncoded, char percent = '%'); typedef char *iterator; typedef const char *const_iterator; typedef iterator Iterator; typedef const_iterator ConstIterator; iterator begin(); const_iterator begin() const; const_iterator constBegin() const; iterator end(); const_iterator end() const; const_iterator constEnd() const; typedef const char & const_reference; typedef char & reference; typedef char value_type; void push_back(char c); void push_back(const char *c); void push_back(const QByteArray &a); void push_front(char c); void push_front(const char *c); void push_front(const QByteArray &a); inline int count() const { return d->size; } int length() const { return d->size; } bool isNull() const; # 363 "/usr/include/qt4/QtCore/qbytearray.h" private: operator QNoImplicitBoolCast() const; static Data shared_null; static Data shared_empty; Data *d; QByteArray(Data *dd, int , int ) : d(dd) {} void realloc(int alloc); void expand(int i); QByteArray nulTerminated() const; friend class QByteRef; friend class QString; friend QByteArray qUncompress(const uchar *data, int nbytes); public: typedef Data * DataPtr; inline DataPtr &data_ptr() { return d; } }; inline QByteArray::QByteArray(): d(&shared_null) { d->ref.ref(); } inline QByteArray::~QByteArray() { if (!d->ref.deref()) qFree(d); } inline int QByteArray::size() const { return d->size; } # 394 "/usr/include/qt4/QtCore/qbytearray.h" inline char QByteArray::at(int i) const { ((!(i >= 0 && i < size())) ? qt_assert("i >= 0 && i < size()","/usr/include/qt4/QtCore/qbytearray.h",395) : qt_noop()); return d->data[i]; } inline char QByteArray::operator[](int i) const { ((!(i >= 0 && i < size())) ? qt_assert("i >= 0 && i < size()","/usr/include/qt4/QtCore/qbytearray.h",397) : qt_noop()); return d->data[i]; } inline char QByteArray::operator[](uint i) const { ((!(i < uint(size()))) ? qt_assert("i < uint(size())","/usr/include/qt4/QtCore/qbytearray.h",399) : qt_noop()); return d->data[i]; } inline bool QByteArray::isEmpty() const { return d->size == 0; } inline QByteArray::operator const char *() const { return d->data; } inline QByteArray::operator const void *() const { return d->data; } inline char *QByteArray::data() { detach(); return d->data; } inline const char *QByteArray::data() const { return d->data; } inline const char *QByteArray::constData() const { return d->data; } inline void QByteArray::detach() { if (d->ref != 1 || d->data != d->array) realloc(d->size); } inline bool QByteArray::isDetached() const { return d->ref == 1; } inline QByteArray::QByteArray(const QByteArray &a) : d(a.d) { d->ref.ref(); } inline int QByteArray::capacity() const { return d->alloc; } inline void QByteArray::reserve(int asize) { if (d->ref != 1 || asize > d->alloc) realloc(asize); } inline void QByteArray::squeeze() { if (d->size < d->alloc) realloc(d->size); } class QByteRef { QByteArray &a; int i; inline QByteRef(QByteArray &array, int idx) : a(array),i(idx) {} friend class QByteArray; public: inline operator char() const { return i < a.d->size ? a.d->data[i] : char(0); } inline QByteRef &operator=(char c) { if (i >= a.d->size) a.expand(i); else a.detach(); a.d->data[i] = c; return *this; } inline QByteRef &operator=(const QByteRef &c) { if (i >= a.d->size) a.expand(i); else a.detach(); a.d->data[i] = c.a.d->data[c.i]; return *this; } inline bool operator==(char c) const { return a.d->data[i] == c; } inline bool operator!=(char c) const { return a.d->data[i] != c; } inline bool operator>(char c) const { return a.d->data[i] > c; } inline bool operator>=(char c) const { return a.d->data[i] >= c; } inline bool operator<(char c) const { return a.d->data[i] < c; } inline bool operator<=(char c) const { return a.d->data[i] <= c; } }; inline QByteRef QByteArray::operator[](int i) { ((!(i >= 0)) ? qt_assert("i >= 0","/usr/include/qt4/QtCore/qbytearray.h",471) : qt_noop()); return QByteRef(*this, i); } inline QByteRef QByteArray::operator[](uint i) { return QByteRef(*this, i); } inline QByteArray::iterator QByteArray::begin() { detach(); return d->data; } inline QByteArray::const_iterator QByteArray::begin() const { return d->data; } inline QByteArray::const_iterator QByteArray::constBegin() const { return d->data; } inline QByteArray::iterator QByteArray::end() { detach(); return d->data + d->size; } inline QByteArray::const_iterator QByteArray::end() const { return d->data + d->size; } inline QByteArray::const_iterator QByteArray::constEnd() const { return d->data + d->size; } inline QByteArray &QByteArray::operator+=(char c) { return append(c); } inline QByteArray &QByteArray::operator+=(const char *s) { return append(s); } inline QByteArray &QByteArray::operator+=(const QByteArray &a) { return append(a); } inline void QByteArray::push_back(char c) { append(c); } inline void QByteArray::push_back(const char *c) { append(c); } inline void QByteArray::push_back(const QByteArray &a) { append(a); } inline void QByteArray::push_front(char c) { prepend(c); } inline void QByteArray::push_front(const char *c) { prepend(c); } inline void QByteArray::push_front(const QByteArray &a) { prepend(a); } inline QBool QByteArray::contains(const QByteArray &a) const { return QBool(indexOf(a) != -1); } inline QBool QByteArray::contains(char c) const { return QBool(indexOf(c) != -1); } inline bool operator==(const QByteArray &a1, const QByteArray &a2) { return (a1.size() == a2.size()) && (memcmp(a1.constData(), a2.constData(), a1.size())==0); } inline bool operator==(const QByteArray &a1, const char *a2) { return a2 ? qstrcmp(a1,a2) == 0 : a1.isEmpty(); } inline bool operator==(const char *a1, const QByteArray &a2) { return a1 ? qstrcmp(a1,a2) == 0 : a2.isEmpty(); } inline bool operator!=(const QByteArray &a1, const QByteArray &a2) { return !(a1==a2); } inline bool operator!=(const QByteArray &a1, const char *a2) { return a2 ? qstrcmp(a1,a2) != 0 : !a1.isEmpty(); } inline bool operator!=(const char *a1, const QByteArray &a2) { return a1 ? qstrcmp(a1,a2) != 0 : !a2.isEmpty(); } inline bool operator<(const QByteArray &a1, const QByteArray &a2) { return qstrcmp(a1, a2) < 0; } inline bool operator<(const QByteArray &a1, const char *a2) { return qstrcmp(a1, a2) < 0; } inline bool operator<(const char *a1, const QByteArray &a2) { return qstrcmp(a1, a2) < 0; } inline bool operator<=(const QByteArray &a1, const QByteArray &a2) { return qstrcmp(a1, a2) <= 0; } inline bool operator<=(const QByteArray &a1, const char *a2) { return qstrcmp(a1, a2) <= 0; } inline bool operator<=(const char *a1, const QByteArray &a2) { return qstrcmp(a1, a2) <= 0; } inline bool operator>(const QByteArray &a1, const QByteArray &a2) { return qstrcmp(a1, a2) > 0; } inline bool operator>(const QByteArray &a1, const char *a2) { return qstrcmp(a1, a2) > 0; } inline bool operator>(const char *a1, const QByteArray &a2) { return qstrcmp(a1, a2) > 0; } inline bool operator>=(const QByteArray &a1, const QByteArray &a2) { return qstrcmp(a1, a2) >= 0; } inline bool operator>=(const QByteArray &a1, const char *a2) { return qstrcmp(a1, a2) >= 0; } inline bool operator>=(const char *a1, const QByteArray &a2) { return qstrcmp(a1, a2) >= 0; } inline const QByteArray operator+(const QByteArray &a1, const QByteArray &a2) { return QByteArray(a1) += a2; } inline const QByteArray operator+(const QByteArray &a1, const char *a2) { return QByteArray(a1) += a2; } inline const QByteArray operator+(const QByteArray &a1, char a2) { return QByteArray(a1) += a2; } inline const QByteArray operator+(const char *a1, const QByteArray &a2) { return QByteArray(a1) += a2; } inline const QByteArray operator+(char a1, const QByteArray &a2) { return QByteArray(&a1, 1) += a2; } inline QBool QByteArray::contains(const char *c) const { return QBool(indexOf(c) != -1); } inline QByteArray &QByteArray::replace(char before, const char *c) { return replace(&before, 1, c, qstrlen(c)); } inline QByteArray &QByteArray::replace(const QByteArray &before, const char *c) { return replace(before.constData(), before.size(), c, qstrlen(c)); } inline QByteArray &QByteArray::replace(const char *before, const char *after) { return replace(before, qstrlen(before), after, qstrlen(after)); } inline QByteArray &QByteArray::setNum(short n, int base) { return setNum(qlonglong(n), base); } inline QByteArray &QByteArray::setNum(ushort n, int base) { return setNum(qulonglong(n), base); } inline QByteArray &QByteArray::setNum(int n, int base) { return setNum(qlonglong(n), base); } inline QByteArray &QByteArray::setNum(uint n, int base) { return setNum(qulonglong(n), base); } inline QByteArray &QByteArray::setNum(float n, char f, int prec) { return setNum(double(n),f,prec); } QDataStream &operator<<(QDataStream &, const QByteArray &); QDataStream &operator>>(QDataStream &, QByteArray &); QByteArray qCompress(const uchar* data, int nbytes, int compressionLevel = -1); QByteArray qUncompress(const uchar* data, int nbytes); inline QByteArray qCompress(const QByteArray& data, int compressionLevel = -1) { return qCompress(reinterpret_cast(data.constData()), data.size(), compressionLevel); } inline QByteArray qUncompress(const QByteArray& data) { return qUncompress(reinterpret_cast(data.constData()), data.size()); } template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QByteArray)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QByteArray"; } }; template <> inline bool qIsDetached(QByteArray &t) { return t.isDetached(); } template <> inline void qSwap(QByteArray &value1, QByteArray &value2) { qSwap(value1.data_ptr(), value2.data_ptr()); } # 47 "/usr/include/qt4/QtCore/qstring.h" 2 # 60 "/usr/include/qt4/QtCore/qstring.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 1 3 # 275 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h" 1 3 # 276 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h" 1 3 # 279 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stringfwd.h" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stringfwd.h" 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stringfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class allocator; template struct char_traits; template, typename _Alloc = allocator<_CharT> > class basic_string; template<> struct char_traits; typedef basic_string string; template<> struct char_traits; typedef basic_string wstring; # 75 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stringfwd.h" 3 } # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 1 3 # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::ptrdiff_t; using ::size_t; } # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/functexcept.h" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/functexcept.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/exception_defines.h" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/functexcept.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { void __throw_bad_exception(void) __attribute__((__noreturn__)); void __throw_bad_alloc(void) __attribute__((__noreturn__)); void __throw_bad_cast(void) __attribute__((__noreturn__)); void __throw_bad_typeid(void) __attribute__((__noreturn__)); void __throw_logic_error(const char*) __attribute__((__noreturn__)); void __throw_domain_error(const char*) __attribute__((__noreturn__)); void __throw_invalid_argument(const char*) __attribute__((__noreturn__)); void __throw_length_error(const char*) __attribute__((__noreturn__)); void __throw_out_of_range(const char*) __attribute__((__noreturn__)); void __throw_runtime_error(const char*) __attribute__((__noreturn__)); void __throw_range_error(const char*) __attribute__((__noreturn__)); void __throw_overflow_error(const char*) __attribute__((__noreturn__)); void __throw_underflow_error(const char*) __attribute__((__noreturn__)); void __throw_ios_failure(const char*) __attribute__((__noreturn__)); void __throw_system_error(int) __attribute__((__noreturn__)); void __throw_future_error(int) __attribute__((__noreturn__)); void __throw_bad_function_call() __attribute__((__noreturn__)); } # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/cpp_type_traits.h" 1 3 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/cpp_type_traits.h" 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/cpp_type_traits.h" 3 # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/cpp_type_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template class __normal_iterator; } namespace std __attribute__ ((__visibility__ ("default"))) { struct __true_type { }; struct __false_type { }; template struct __truth_type { typedef __false_type __type; }; template<> struct __truth_type { typedef __true_type __type; }; template struct __traitor { enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; typedef typename __truth_type<__value>::__type __type; }; template struct __are_same { enum { __value = 0 }; typedef __false_type __type; }; template struct __are_same<_Tp, _Tp> { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_void { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_void { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_integer { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; # 194 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/cpp_type_traits.h" 3 template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_floating { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_pointer { enum { __value = 0 }; typedef __false_type __type; }; template struct __is_pointer<_Tp*> { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_normal_iterator { enum { __value = 0 }; typedef __false_type __type; }; template struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator, _Container> > { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_arithmetic : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > { }; template struct __is_fundamental : public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> > { }; template struct __is_scalar : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > { }; template struct __is_char { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_char { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_char { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_byte { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_move_iterator { enum { __value = 0 }; typedef __false_type __type; }; # 417 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/cpp_type_traits.h" 3 } # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/type_traits.h" 1 3 # 32 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/type_traits.h" 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/type_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template struct __enable_if { }; template struct __enable_if { typedef _Tp __type; }; template struct __conditional_type { typedef _Iftrue __type; }; template struct __conditional_type { typedef _Iffalse __type; }; template struct __add_unsigned { private: typedef __enable_if::__value, _Tp> __if_type; public: typedef typename __if_type::__type __type; }; template<> struct __add_unsigned { typedef unsigned char __type; }; template<> struct __add_unsigned { typedef unsigned char __type; }; template<> struct __add_unsigned { typedef unsigned short __type; }; template<> struct __add_unsigned { typedef unsigned int __type; }; template<> struct __add_unsigned { typedef unsigned long __type; }; template<> struct __add_unsigned { typedef unsigned long long __type; }; template<> struct __add_unsigned; template<> struct __add_unsigned; template struct __remove_unsigned { private: typedef __enable_if::__value, _Tp> __if_type; public: typedef typename __if_type::__type __type; }; template<> struct __remove_unsigned { typedef signed char __type; }; template<> struct __remove_unsigned { typedef signed char __type; }; template<> struct __remove_unsigned { typedef short __type; }; template<> struct __remove_unsigned { typedef int __type; }; template<> struct __remove_unsigned { typedef long __type; }; template<> struct __remove_unsigned { typedef long long __type; }; template<> struct __remove_unsigned; template<> struct __remove_unsigned; template inline bool __is_null_pointer(_Type* __ptr) { return __ptr == 0; } template inline bool __is_null_pointer(_Type) { return false; } template::__value> struct __promote { typedef double __type; }; template struct __promote<_Tp, false> { typedef _Tp __type; }; template struct __promote_2 { private: typedef typename __promote<_Tp>::__type __type1; typedef typename __promote<_Up>::__type __type2; public: typedef __typeof__(__type1() + __type2()) __type; }; template struct __promote_3 { private: typedef typename __promote<_Tp>::__type __type1; typedef typename __promote<_Up>::__type __type2; typedef typename __promote<_Vp>::__type __type3; public: typedef __typeof__(__type1() + __type2() + __type3()) __type; }; template struct __promote_4 { private: typedef typename __promote<_Tp>::__type __type1; typedef typename __promote<_Up>::__type __type2; typedef typename __promote<_Vp>::__type __type3; typedef typename __promote<_Wp>::__type __type4; public: typedef __typeof__(__type1() + __type2() + __type3() + __type4()) __type; }; } # 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/numeric_traits.h" 1 3 # 32 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/numeric_traits.h" 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/numeric_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/numeric_traits.h" 3 template struct __numeric_traits_integer { static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0); static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0); static const bool __is_signed = ((_Value)(-1) < 0); static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0)); }; template const _Value __numeric_traits_integer<_Value>::__min; template const _Value __numeric_traits_integer<_Value>::__max; template const bool __numeric_traits_integer<_Value>::__is_signed; template const int __numeric_traits_integer<_Value>::__digits; # 97 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/numeric_traits.h" 3 template struct __numeric_traits_floating { static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 3010 / 10000); static const bool __is_signed = true; static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18); static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932); }; template const int __numeric_traits_floating<_Value>::__max_digits10; template const bool __numeric_traits_floating<_Value>::__is_signed; template const int __numeric_traits_floating<_Value>::__digits10; template const int __numeric_traits_floating<_Value>::__max_exponent10; template struct __numeric_traits : public __conditional_type::__value, __numeric_traits_integer<_Value>, __numeric_traits_floating<_Value> >::__type { }; } # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_pair.h" 1 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_pair.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/move.h" 1 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/move.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/move.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/concept_check.h" 1 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/concept_check.h" 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/concept_check.h" 3 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/move.h" 2 3 # 95 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/move.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/move.h" 3 template inline void swap(_Tp& __a, _Tp& __b) { _Tp __tmp = (__a); __a = (__b); __b = (__tmp); } template inline void swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) { for (size_t __n = 0; __n < _Nm; ++__n) swap(__a[__n], __b[__n]); } } # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_pair.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct pair { typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; pair() : first(), second() { } pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) { } # 117 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_pair.h" 3 template pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) { } # 153 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_pair.h" 3 }; template inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first == __y.first && __x.second == __y.second; } template inline bool operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second); } template inline bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x == __y); } template inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __y < __x; } template inline bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__y < __x); } template inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x < __y); } # 215 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_pair.h" 3 template inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y) { return pair<_T1, _T2>(__x, __y); } # 261 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_pair.h" 3 } # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_types.h" 1 3 # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_types.h" 3 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_types.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_types.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 79 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_types.h" 3 struct input_iterator_tag { }; struct output_iterator_tag { }; struct forward_iterator_tag : public input_iterator_tag { }; struct bidirectional_iterator_tag : public forward_iterator_tag { }; struct random_access_iterator_tag : public bidirectional_iterator_tag { }; # 106 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_types.h" 3 template struct iterator { typedef _Category iterator_category; typedef _Tp value_type; typedef _Distance difference_type; typedef _Pointer pointer; typedef _Reference reference; }; # 130 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_types.h" 3 template struct iterator_traits { typedef typename _Iterator::iterator_category iterator_category; typedef typename _Iterator::value_type value_type; typedef typename _Iterator::difference_type difference_type; typedef typename _Iterator::pointer pointer; typedef typename _Iterator::reference reference; }; template struct iterator_traits<_Tp*> { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef _Tp& reference; }; template struct iterator_traits { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef const _Tp* pointer; typedef const _Tp& reference; }; template inline typename iterator_traits<_Iter>::iterator_category __iterator_category(const _Iter&) { return typename iterator_traits<_Iter>::iterator_category(); } } # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_funcs.h" 1 3 # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline typename iterator_traits<_InputIterator>::difference_type __distance(_InputIterator __first, _InputIterator __last, input_iterator_tag) { typename iterator_traits<_InputIterator>::difference_type __n = 0; while (__first != __last) { ++__first; ++__n; } return __n; } template inline typename iterator_traits<_RandomAccessIterator>::difference_type __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { return __last - __first; } # 108 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 template inline typename iterator_traits<_InputIterator>::difference_type distance(_InputIterator __first, _InputIterator __last) { return std::__distance(__first, __last, std::__iterator_category(__first)); } template inline void __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) { while (__n--) ++__i; } template inline void __advance(_BidirectionalIterator& __i, _Distance __n, bidirectional_iterator_tag) { if (__n > 0) while (__n--) ++__i; else while (__n++) --__i; } template inline void __advance(_RandomAccessIterator& __i, _Distance __n, random_access_iterator_tag) { __i += __n; } # 166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 template inline void advance(_InputIterator& __i, _Distance __n) { typename iterator_traits<_InputIterator>::difference_type __d = __n; std::__advance(__i, __d, std::__iterator_category(__i)); } # 195 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 } # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 1 3 # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 94 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template class reverse_iterator : public iterator::iterator_category, typename iterator_traits<_Iterator>::value_type, typename iterator_traits<_Iterator>::difference_type, typename iterator_traits<_Iterator>::pointer, typename iterator_traits<_Iterator>::reference> { public: _Iterator current; typedef iterator_traits<_Iterator> __traits_type; public: typedef _Iterator iterator_type; typedef typename __traits_type::difference_type difference_type; typedef typename __traits_type::pointer pointer; typedef typename __traits_type::reference reference; reverse_iterator() : current() { } explicit reverse_iterator(iterator_type __x) : current(__x) { } reverse_iterator(const reverse_iterator& __x) : current(__x.current) { } template reverse_iterator(const reverse_iterator<_Iter>& __x) : current(__x.base()) { } iterator_type base() const { return current; } reference operator*() const { _Iterator __tmp = current; return *--__tmp; } pointer operator->() const { return &(operator*()); } reverse_iterator& operator++() { --current; return *this; } reverse_iterator operator++(int) { reverse_iterator __tmp = *this; --current; return __tmp; } reverse_iterator& operator--() { ++current; return *this; } reverse_iterator operator--(int) { reverse_iterator __tmp = *this; ++current; return __tmp; } reverse_iterator operator+(difference_type __n) const { return reverse_iterator(current - __n); } reverse_iterator& operator+=(difference_type __n) { current -= __n; return *this; } reverse_iterator operator-(difference_type __n) const { return reverse_iterator(current + __n); } reverse_iterator& operator-=(difference_type __n) { current += __n; return *this; } reference operator[](difference_type __n) const { return *(*this + __n); } }; # 281 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template inline bool operator==(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __x.base() == __y.base(); } template inline bool operator<(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() < __x.base(); } template inline bool operator!=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x == __y); } template inline bool operator>(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y < __x; } template inline bool operator<=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__y < __x); } template inline bool operator>=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x < __y); } template inline typename reverse_iterator<_Iterator>::difference_type operator-(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() - __x.base(); } template inline reverse_iterator<_Iterator> operator+(typename reverse_iterator<_Iterator>::difference_type __n, const reverse_iterator<_Iterator>& __x) { return reverse_iterator<_Iterator>(__x.base() - __n); } template inline bool operator==(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __x.base() == __y.base(); } template inline bool operator<(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y.base() < __x.base(); } template inline bool operator!=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__x == __y); } template inline bool operator>(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y < __x; } template inline bool operator<=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__y < __x); } template inline bool operator>=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__x < __y); } template inline typename reverse_iterator<_IteratorL>::difference_type operator-(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y.base() - __x.base(); } # 393 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template class back_insert_iterator : public iterator { public: _Container* container; public: typedef _Container container_type; explicit back_insert_iterator(_Container& __x) : container(&__x) { } # 419 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 back_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_back(__value); return *this; } # 436 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 back_insert_iterator& operator*() { return *this; } back_insert_iterator& operator++() { return *this; } back_insert_iterator operator++(int) { return *this; } }; # 462 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template inline back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } # 477 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template class front_insert_iterator : public iterator { public: _Container* container; public: typedef _Container container_type; explicit front_insert_iterator(_Container& __x) : container(&__x) { } # 502 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 front_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_front(__value); return *this; } # 519 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 front_insert_iterator& operator*() { return *this; } front_insert_iterator& operator++() { return *this; } front_insert_iterator operator++(int) { return *this; } }; # 545 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template inline front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } # 564 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template class insert_iterator : public iterator { public: _Container* container; typename _Container::iterator iter; public: typedef _Container container_type; insert_iterator(_Container& __x, typename _Container::iterator __i) : container(&__x), iter(__i) {} # 606 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 insert_iterator& operator=(typename _Container::const_reference __value) { iter = container->insert(iter, __value); ++iter; return *this; } # 625 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 insert_iterator& operator*() { return *this; } insert_iterator& operator++() { return *this; } insert_iterator& operator++(int) { return *this; } }; # 651 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template inline insert_iterator<_Container> inserter(_Container& __x, _Iterator __i) { return insert_iterator<_Container>(__x, typename _Container::iterator(__i)); } } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 672 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 using std::iterator_traits; using std::iterator; template class __normal_iterator { public: _Iterator _M_current; typedef iterator_traits<_Iterator> __traits_type; public: typedef _Iterator iterator_type; typedef typename __traits_type::iterator_category iterator_category; typedef typename __traits_type::value_type value_type; typedef typename __traits_type::difference_type difference_type; typedef typename __traits_type::reference reference; typedef typename __traits_type::pointer pointer; __normal_iterator() : _M_current(_Iterator()) { } explicit __normal_iterator(const _Iterator& __i) : _M_current(__i) { } template __normal_iterator(const __normal_iterator<_Iter, typename __enable_if< (std::__are_same<_Iter, typename _Container::pointer>::__value), _Container>::__type>& __i) : _M_current(__i.base()) { } reference operator*() const { return *_M_current; } pointer operator->() const { return _M_current; } __normal_iterator& operator++() { ++_M_current; return *this; } __normal_iterator operator++(int) { return __normal_iterator(_M_current++); } __normal_iterator& operator--() { --_M_current; return *this; } __normal_iterator operator--(int) { return __normal_iterator(_M_current--); } reference operator[](const difference_type& __n) const { return _M_current[__n]; } __normal_iterator& operator+=(const difference_type& __n) { _M_current += __n; return *this; } __normal_iterator operator+(const difference_type& __n) const { return __normal_iterator(_M_current + __n); } __normal_iterator& operator-=(const difference_type& __n) { _M_current -= __n; return *this; } __normal_iterator operator-(const difference_type& __n) const { return __normal_iterator(_M_current - __n); } const _Iterator& base() const { return _M_current; } }; # 770 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_iterator.h" 3 template inline bool operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() == __rhs.base(); } template inline bool operator==(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() == __rhs.base(); } template inline bool operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() != __rhs.base(); } template inline bool operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() != __rhs.base(); } template inline bool operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() < __rhs.base(); } template inline bool operator<(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() < __rhs.base(); } template inline bool operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() > __rhs.base(); } template inline bool operator>(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() > __rhs.base(); } template inline bool operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() <= __rhs.base(); } template inline bool operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() <= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() >= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() >= __rhs.base(); } template inline typename __normal_iterator<_IteratorL, _Container>::difference_type operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() - __rhs.base(); } template inline typename __normal_iterator<_Iterator, _Container>::difference_type operator-(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() - __rhs.base(); } template inline __normal_iterator<_Iterator, _Container> operator+(typename __normal_iterator<_Iterator, _Container>::difference_type __n, const __normal_iterator<_Iterator, _Container>& __i) { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } } # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/debug/debug.h" 1 3 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/debug/debug.h" 3 namespace std { namespace __debug { } } namespace __gnu_debug { using namespace std::__debug; } # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __iter_swap { template static void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { typedef typename iterator_traits<_ForwardIterator1>::value_type _ValueType1; _ValueType1 __tmp = (*__a); *__a = (*__b); *__b = (__tmp); } }; template<> struct __iter_swap { template static void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { swap(*__a, *__b); } }; # 115 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { typedef typename iterator_traits<_ForwardIterator1>::value_type _ValueType1; typedef typename iterator_traits<_ForwardIterator2>::value_type _ValueType2; typedef typename iterator_traits<_ForwardIterator1>::reference _ReferenceType1; typedef typename iterator_traits<_ForwardIterator2>::reference _ReferenceType2; std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value && __are_same<_ValueType1&, _ReferenceType1>::__value && __are_same<_ValueType2&, _ReferenceType2>::__value>:: iter_swap(__a, __b); } # 156 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template _ForwardIterator2 swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { ; for (; __first1 != __last1; ++__first1, ++__first2) std::iter_swap(__first1, __first2); return __first2; } # 184 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b) { if (__b < __a) return __b; return __a; } # 207 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b) { if (__a < __b) return __b; return __a; } # 230 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__b, __a)) return __b; return __a; } # 251 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__a, __b)) return __b; return __a; } template struct _Iter_base { typedef _Iterator iterator_type; static iterator_type _S_base(_Iterator __it) { return __it; } }; template struct _Iter_base<_Iterator, true> { typedef typename _Iterator::iterator_type iterator_type; static iterator_type _S_base(_Iterator __it) { return __it.base(); } }; template struct _Niter_base : _Iter_base<_Iterator, __is_normal_iterator<_Iterator>::__value> { }; template inline typename _Niter_base<_Iterator>::iterator_type __niter_base(_Iterator __it) { return std::_Niter_base<_Iterator>::_S_base(__it); } template struct _Miter_base : _Iter_base<_Iterator, __is_move_iterator<_Iterator>::__value> { }; template inline typename _Miter_base<_Iterator>::iterator_type __miter_base(_Iterator __it) { return std::_Miter_base<_Iterator>::_S_base(__it); } template struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { for (; __first != __last; ++__result, ++__first) *__result = *__first; return __result; } }; # 339 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template<> struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { typedef typename iterator_traits<_II>::difference_type _Distance; for(_Distance __n = __last - __first; __n > 0; --__n) { *__result = *__first; ++__first; ++__result; } return __result; } }; # 377 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template struct __copy_move<_IsMove, true, random_access_iterator_tag> { template static _Tp* __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) { const ptrdiff_t _Num = __last - __first; if (_Num) __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); return __result + _Num; } }; template inline _OI __copy_move_a(_II __first, _II __last, _OI __result) { typedef typename iterator_traits<_II>::value_type _ValueTypeI; typedef typename iterator_traits<_OI>::value_type _ValueTypeO; typedef typename iterator_traits<_II>::iterator_category _Category; const bool __simple = (__is_pod(_ValueTypeI) && __is_pointer<_II>::__value && __is_pointer<_OI>::__value && __are_same<_ValueTypeI, _ValueTypeO>::__value); return std::__copy_move<_IsMove, __simple, _Category>::__copy_m(__first, __last, __result); } template struct char_traits; template class istreambuf_iterator; template class ostreambuf_iterator; template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type __copy_move_a2(_CharT*, _CharT*, ostreambuf_iterator<_CharT, char_traits<_CharT> >); template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type __copy_move_a2(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT, char_traits<_CharT> >); template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); template inline _OI __copy_move_a2(_II __first, _II __last, _OI __result) { return _OI(std::__copy_move_a<_IsMove>(std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result))); } # 462 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline _OI copy(_II __first, _II __last, _OI __result) { ; return (std::__copy_move_a2<__is_move_iterator<_II>::__value> (std::__miter_base(__first), std::__miter_base(__last), __result)); } # 514 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { while (__first != __last) *--__result = *--__last; return __result; } }; # 542 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template<> struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { typename iterator_traits<_BI1>::difference_type __n; for (__n = __last - __first; __n > 0; --__n) *--__result = *--__last; return __result; } }; # 572 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> { template static _Tp* __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) { const ptrdiff_t _Num = __last - __first; if (_Num) __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); return __result - _Num; } }; template inline _BI2 __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result) { typedef typename iterator_traits<_BI1>::value_type _ValueType1; typedef typename iterator_traits<_BI2>::value_type _ValueType2; typedef typename iterator_traits<_BI1>::iterator_category _Category; const bool __simple = (__is_pod(_ValueType1) && __is_pointer<_BI1>::__value && __is_pointer<_BI2>::__value && __are_same<_ValueType1, _ValueType2>::__value); return std::__copy_move_backward<_IsMove, __simple, _Category>::__copy_move_b(__first, __last, __result); } template inline _BI2 __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) { return _BI2(std::__copy_move_backward_a<_IsMove> (std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result))); } # 631 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { ; return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value> (std::__miter_base(__first), std::__miter_base(__last), __result)); } # 689 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline typename __gnu_cxx::__enable_if::__value, void>::__type __fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { for (; __first != __last; ++__first) *__first = __value; } template inline typename __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type __fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { const _Tp __tmp = __value; for (; __first != __last; ++__first) *__first = __tmp; } template inline typename __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c) { const _Tp __tmp = __c; __builtin_memset(__first, static_cast(__tmp), __last - __first); } # 733 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline void fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; std::__fill_a(std::__niter_base(__first), std::__niter_base(__last), __value); } template inline typename __gnu_cxx::__enable_if::__value, _OutputIterator>::__type __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) { for (; __n > 0; --__n, ++__first) *__first = __value; return __first; } template inline typename __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) { const _Tp __tmp = __value; for (; __n > 0; --__n, ++__first) *__first = __tmp; return __first; } template inline typename __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c) { std::__fill_a(__first, __first + __n, __c); return __first + __n; } # 791 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline _OI fill_n(_OI __first, _Size __n, const _Tp& __value) { return _OI(std::__fill_n_a(std::__niter_base(__first), __n, __value)); } template struct __equal { template static bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { for (; __first1 != __last1; ++__first1, ++__first2) if (!(*__first1 == *__first2)) return false; return true; } }; template<> struct __equal { template static bool equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) { return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * (__last1 - __first1)); } }; template inline bool __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) { typedef typename iterator_traits<_II1>::value_type _ValueType1; typedef typename iterator_traits<_II2>::value_type _ValueType2; const bool __simple = (__is_integer<_ValueType1>::__value && __is_pointer<_II1>::__value && __is_pointer<_II2>::__value && __are_same<_ValueType1, _ValueType2>::__value); return std::__equal<__simple>::equal(__first1, __last1, __first2); } template struct __lc_rai { template static _II1 __newlast1(_II1, _II1 __last1, _II2, _II2) { return __last1; } template static bool __cnd2(_II __first, _II __last) { return __first != __last; } }; template<> struct __lc_rai { template static _RAI1 __newlast1(_RAI1 __first1, _RAI1 __last1, _RAI2 __first2, _RAI2 __last2) { const typename iterator_traits<_RAI1>::difference_type __diff1 = __last1 - __first1; const typename iterator_traits<_RAI2>::difference_type __diff2 = __last2 - __first2; return __diff2 < __diff1 ? __first1 + __diff2 : __last1; } template static bool __cnd2(_RAI, _RAI) { return true; } }; template struct __lexicographical_compare { template static bool __lc(_II1, _II1, _II2, _II2); }; template template bool __lexicographical_compare<_BoolType>:: __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { typedef typename iterator_traits<_II1>::iterator_category _Category1; typedef typename iterator_traits<_II2>::iterator_category _Category2; typedef std::__lc_rai<_Category1, _Category2> __rai_type; __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); ++__first1, ++__first2) { if (*__first1 < *__first2) return true; if (*__first2 < *__first1) return false; } return __first1 == __last1 && __first2 != __last2; } template<> struct __lexicographical_compare { template static bool __lc(const _Tp* __first1, const _Tp* __last1, const _Up* __first2, const _Up* __last2) { const size_t __len1 = __last1 - __first1; const size_t __len2 = __last2 - __first2; const int __result = __builtin_memcmp(__first1, __first2, std::min(__len1, __len2)); return __result != 0 ? __result < 0 : __len1 < __len2; } }; template inline bool __lexicographical_compare_aux(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { typedef typename iterator_traits<_II1>::value_type _ValueType1; typedef typename iterator_traits<_II2>::value_type _ValueType2; const bool __simple = (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed && __is_pointer<_II1>::__value && __is_pointer<_II2>::__value); return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, __first2, __last2); } # 952 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (*__middle < __val) { __first = __middle; ++__first; __len = __len - __half - 1; } else __len = __half; } return __first; } template inline _Size __lg(_Size __n) { _Size __k; for (__k = 0; __n != 0; __n >>= 1) ++__k; return __k - 1; } inline int __lg(int __n) { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } inline long __lg(long __n) { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } inline long long __lg(long long __n) { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } } namespace std __attribute__ ((__visibility__ ("default"))) { # 1028 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { ; return std::__equal_aux(std::__niter_base(__first1), std::__niter_base(__last1), std::__niter_base(__first2)); } # 1060 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline bool equal(_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _BinaryPredicate __binary_pred) { ; for (; __first1 != __last1; ++__first1, ++__first2) if (!bool(__binary_pred(*__first1, *__first2))) return false; return true; } # 1091 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template inline bool lexicographical_compare(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { typedef typename iterator_traits<_II1>::value_type _ValueType1; typedef typename iterator_traits<_II2>::value_type _ValueType2; ; ; return std::__lexicographical_compare_aux(std::__niter_base(__first1), std::__niter_base(__last1), std::__niter_base(__first2), std::__niter_base(__last2)); } # 1125 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template bool lexicographical_compare(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp) { typedef typename iterator_traits<_II1>::iterator_category _Category1; typedef typename iterator_traits<_II2>::iterator_category _Category2; typedef std::__lc_rai<_Category1, _Category2> __rai_type; ; ; __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); ++__first1, ++__first2) { if (__comp(*__first1, *__first2)) return true; if (__comp(*__first2, *__first1)) return false; } return __first1 == __last1 && __first2 != __last2; } # 1165 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { ; while (__first1 != __last1 && *__first1 == *__first2) { ++__first1; ++__first2; } return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } # 1202 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algobase.h" 3 template pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred) { ; while (__first1 != __last1 && bool(__binary_pred(*__first1, *__first2))) { ++__first1; ++__first2; } return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } } # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 1 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 2 3 # 1 "/usr/include/wchar.h" 1 3 4 # 37 "/usr/include/wchar.h" 3 4 # 1 "/usr/include/stdio.h" 1 3 4 # 45 "/usr/include/stdio.h" 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 65 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 38 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 43 "/usr/include/wchar.h" 2 3 4 # 52 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 352 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 3 4 typedef unsigned int wint_t; # 53 "/usr/include/wchar.h" 2 3 4 # 83 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 104 "/usr/include/wchar.h" 3 4 typedef __mbstate_t mbstate_t; # 129 "/usr/include/wchar.h" 3 4 extern "C" { struct tm; extern wchar_t *wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw (); extern wchar_t *wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw (); extern wchar_t *wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw (); extern wchar_t *wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw (); extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) throw () __attribute__ ((__pure__)); extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw (); extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw (); extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) throw (); extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) throw (); extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw (); extern size_t wcsxfrm (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) throw (); extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) throw (); extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__)); extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) throw () __asm ("wcschr") __attribute__ ((__pure__)); extern "C++" __const wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) throw () __asm ("wcschr") __attribute__ ((__pure__)); extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) throw () __asm ("wcsrchr") __attribute__ ((__pure__)); extern "C++" __const wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) throw () __asm ("wcsrchr") __attribute__ ((__pure__)); extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc) throw () __attribute__ ((__pure__)); extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject) throw () __attribute__ ((__pure__)); extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept) throw () __attribute__ ((__pure__)); extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, __const wchar_t *__accept) throw () __asm ("wcspbrk") __attribute__ ((__pure__)); extern "C++" __const wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept) throw () __asm ("wcspbrk") __attribute__ ((__pure__)); extern "C++" wchar_t *wcsstr (wchar_t *__haystack, __const wchar_t *__needle) throw () __asm ("wcsstr") __attribute__ ((__pure__)); extern "C++" __const wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle) throw () __asm ("wcsstr") __attribute__ ((__pure__)); extern wchar_t *wcstok (wchar_t *__restrict __s, __const wchar_t *__restrict __delim, wchar_t **__restrict __ptr) throw (); extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__)); extern "C++" wchar_t *wcswcs (wchar_t *__haystack, __const wchar_t *__needle) throw () __asm ("wcswcs") __attribute__ ((__pure__)); extern "C++" __const wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle) throw () __asm ("wcswcs") __attribute__ ((__pure__)); # 303 "/usr/include/wchar.h" 3 4 extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) throw () __attribute__ ((__pure__)); extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm ("wmemchr") __attribute__ ((__pure__)); extern "C++" __const wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n) throw () __asm ("wmemchr") __attribute__ ((__pure__)); extern int wmemcmp (__const wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw () __attribute__ ((__pure__)); extern wchar_t *wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw (); extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); extern wchar_t *wmempcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern wint_t btowc (int __c) throw (); extern int wctob (wint_t __c) throw (); extern int mbsinit (__const mbstate_t *__ps) throw () __attribute__ ((__pure__)); extern size_t mbrtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n, mbstate_t *__p) throw (); extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, mbstate_t *__restrict __ps) throw (); extern size_t __mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw (); extern size_t mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw (); extern wint_t __btowc_alias (int __c) __asm ("btowc"); extern __inline __attribute__ ((__gnu_inline__)) wint_t btowc (int __c) throw () { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' ? (wint_t) __c : __btowc_alias (__c)); } extern int __wctob_alias (wint_t __c) __asm ("wctob"); extern __inline __attribute__ ((__gnu_inline__)) int wctob (wint_t __wc) throw () { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' ? (int) __wc : __wctob_alias (__wc)); } extern __inline __attribute__ ((__gnu_inline__)) size_t mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () { return (__ps != __null ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } extern size_t mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw (); extern int wcwidth (wchar_t __c) throw (); extern int wcswidth (__const wchar_t *__s, size_t __n) throw (); extern double wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern float wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern long double wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern long int wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern long long int wcstoll (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern long long int wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); # 528 "/usr/include/wchar.h" 3 4 extern long int wcstol_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern long long int wcstoll_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); extern double wcstod_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern float wcstof_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern long double wcstold_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw (); extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) throw (); # 578 "/usr/include/wchar.h" 3 4 extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); extern int fwide (__FILE *__fp, int __mode) throw (); extern int fwprintf (__FILE *__restrict __stream, __const wchar_t *__restrict __format, ...) ; extern int wprintf (__const wchar_t *__restrict __format, ...) ; extern int swprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __format, ...) throw () ; extern int vfwprintf (__FILE *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwprintf (__const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; extern int fwscanf (__FILE *__restrict __stream, __const wchar_t *__restrict __format, ...) ; extern int wscanf (__const wchar_t *__restrict __format, ...) ; extern int swscanf (__const wchar_t *__restrict __s, __const wchar_t *__restrict __format, ...) throw () ; # 678 "/usr/include/wchar.h" 3 4 extern int vfwscanf (__FILE *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwscanf (__const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswscanf (__const wchar_t *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; # 734 "/usr/include/wchar.h" 3 4 extern wint_t fgetwc (__FILE *__stream); extern wint_t getwc (__FILE *__stream); extern wint_t getwchar (void); extern wint_t fputwc (wchar_t __wc, __FILE *__stream); extern wint_t putwc (wchar_t __wc, __FILE *__stream); extern wint_t putwchar (wchar_t __wc); extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws (__const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern wint_t ungetwc (wint_t __wc, __FILE *__stream); # 799 "/usr/include/wchar.h" 3 4 extern wint_t getwc_unlocked (__FILE *__stream); extern wint_t getwchar_unlocked (void); extern wint_t fgetwc_unlocked (__FILE *__stream); extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); # 825 "/usr/include/wchar.h" 3 4 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); extern wint_t putwchar_unlocked (wchar_t __wc); # 835 "/usr/include/wchar.h" 3 4 extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws_unlocked (__const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, __const wchar_t *__restrict __format, __const struct tm *__restrict __tp) throw (); extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, __const wchar_t *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) throw (); # 882 "/usr/include/wchar.h" 3 4 # 1 "/usr/include/bits/wchar2.h" 1 3 4 # 25 "/usr/include/bits/wchar2.h" 3 4 extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw (); extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmemcpy") ; extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemcpy_chk") __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw () { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemcpy_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmemcpy_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmemcpy_alias (__s1, __s2, __n); } extern wchar_t *__wmemmove_chk (wchar_t *__s1, __const wchar_t *__s2, size_t __n, size_t __ns1) throw (); extern wchar_t *__wmemmove_alias (wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw () __asm__ ("" "wmemmove") ; extern wchar_t *__wmemmove_chk_warn (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemmove_chk") __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw () { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemmove_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmemmove_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmemmove_alias (__s1, __s2, __n); } extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw (); extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmempcpy") ; extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmempcpy_chk") __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wmempcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw () { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmempcpy_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmempcpy_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmempcpy_alias (__s1, __s2, __n); } extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw (); extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm__ ("" "wmemset") ; extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw () __asm__ ("" "__wmemset_chk") __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n) throw () { if (__builtin_object_size (__s, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemset_chk (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s, 0) / sizeof (wchar_t)) return __wmemset_chk_warn (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); } return __wmemset_alias (__s, __c, __n); } extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw (); extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw () __asm__ ("" "wcscpy") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wcscpy (wchar_t *__dest, __const wchar_t *__src) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcscpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcscpy_alias (__dest, __src); } extern wchar_t *__wcpcpy_chk (wchar_t *__dest, __const wchar_t *__src, size_t __destlen) throw (); extern wchar_t *__wcpcpy_alias (wchar_t *__dest, __const wchar_t *__src) throw () __asm__ ("" "wcpcpy") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcpcpy_alias (__dest, __src); } extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw (); extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncpy") ; extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcsncpy_chk") __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wcsncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) return __wcsncpy_chk_warn (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); } return __wcsncpy_alias (__dest, __src, __n); } extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw (); extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcpncpy") ; extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcpncpy_chk") __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wcpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) return __wcpncpy_chk_warn (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); } return __wcpncpy_alias (__dest, __src, __n); } extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __destlen) throw (); extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw () __asm__ ("" "wcscat") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wcscat (wchar_t *__dest, __const wchar_t *__src) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcscat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcscat_alias (__dest, __src); } extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw (); extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncat") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) wchar_t * wcsncat (wchar_t *__dest, __const wchar_t *__src, size_t __n) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcsncat_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcsncat_alias (__dest, __src, __n); } extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, int __flag, size_t __s_len, __const wchar_t *__restrict __format, ...) throw () ; extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __fmt, ...) throw () __asm__ ("" "swprintf") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int swprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __fmt, ...) throw () { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) return __swprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ()); return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ()); } # 302 "/usr/include/bits/wchar2.h" 3 4 extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, int __flag, size_t __s_len, __const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () __asm__ ("" "vswprintf") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vswprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) return __vswprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __ap); return __vswprintf_alias (__s, __n, __fmt, __ap); } extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, __const wchar_t *__restrict __format, ...); extern int __wprintf_chk (int __flag, __const wchar_t *__restrict __format, ...); extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, __const wchar_t *__restrict __format, __gnuc_va_list __ap); extern int __vwprintf_chk (int __flag, __const wchar_t *__restrict __format, __gnuc_va_list __ap); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int wprintf (__const wchar_t *__restrict __fmt, ...) { return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int fwprintf (__FILE *__restrict __stream, __const wchar_t *__restrict __fmt, ...) { return __fwprintf_chk (__stream, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vwprintf (__const wchar_t *__restrict __fmt, __gnuc_va_list __ap) { return __vwprintf_chk (2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vfwprintf (__FILE *__restrict __stream, __const wchar_t *__restrict __fmt, __gnuc_va_list __ap) { return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap); } extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws") __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgetws_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) return __fgetws_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); } return __fgetws_alias (__s, __n, __stream); } extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked") __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgetws_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) return __fgetws_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); } return __fgetws_unlocked_alias (__s, __n, __stream); } extern size_t __wcrtomb_chk (char *__s, wchar_t __wchar, mbstate_t *__p, size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcrtomb") __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) size_t wcrtomb (char *__s, wchar_t __wchar, mbstate_t *__ps) throw () { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1)); return __wcrtomb_alias (__s, __wchar, __ps); } extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw (); extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsrtowcs") ; extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsrtowcs_chk") __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbsrtowcs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbsrtowcs_alias (__dst, __src, __len, __ps); } extern size_t __wcsrtombs_chk (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw (); extern size_t __wcsrtombs_alias (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsrtombs") ; extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsrtombs_chk") __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); } return __wcsrtombs_alias (__dst, __src, __len, __ps); } extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw (); extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsnrtowcs") ; extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsnrtowcs_chk") __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); } extern size_t __wcsnrtombs_chk (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw (); extern size_t __wcsnrtombs_alias (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsnrtombs") ; extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsnrtombs_chk") __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)); } return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); } # 883 "/usr/include/wchar.h" 2 3 4 } # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 2 3 # 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::mbstate_t; } # 139 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::wint_t; using ::btowc; using ::fgetwc; using ::fgetws; using ::fputwc; using ::fputws; using ::fwide; using ::fwprintf; using ::fwscanf; using ::getwc; using ::getwchar; using ::mbrlen; using ::mbrtowc; using ::mbsinit; using ::mbsrtowcs; using ::putwc; using ::putwchar; using ::swprintf; using ::swscanf; using ::ungetwc; using ::vfwprintf; using ::vfwscanf; using ::vswprintf; using ::vswscanf; using ::vwprintf; using ::vwscanf; using ::wcrtomb; using ::wcscat; using ::wcscmp; using ::wcscoll; using ::wcscpy; using ::wcscspn; using ::wcsftime; using ::wcslen; using ::wcsncat; using ::wcsncmp; using ::wcsncpy; using ::wcsrtombs; using ::wcsspn; using ::wcstod; using ::wcstof; using ::wcstok; using ::wcstol; using ::wcstoul; using ::wcsxfrm; using ::wctob; using ::wmemcmp; using ::wmemcpy; using ::wmemmove; using ::wmemset; using ::wprintf; using ::wscanf; using ::wcschr; using ::wcspbrk; using ::wcsrchr; using ::wcsstr; using ::wmemchr; # 234 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 3 } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { using ::wcstold; # 258 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 3 using ::wcstoll; using ::wcstoull; } namespace std __attribute__ ((__visibility__ ("default"))) { using ::__gnu_cxx::wcstold; using ::__gnu_cxx::wcstoll; using ::__gnu_cxx::wcstoull; } # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 2 3 # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 88 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 3 typedef long streamoff; # 98 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 3 typedef ptrdiff_t streamsize; # 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 3 template class fpos { private: streamoff _M_off; _StateT _M_state; public: fpos() : _M_off(0), _M_state() { } # 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 3 fpos(streamoff __off) : _M_off(__off), _M_state() { } operator streamoff() const { return _M_off; } void state(_StateT __st) { _M_state = __st; } _StateT state() const { return _M_state; } fpos& operator+=(streamoff __off) { _M_off += __off; return *this; } fpos& operator-=(streamoff __off) { _M_off -= __off; return *this; } fpos operator+(streamoff __off) const { fpos __pos(*this); __pos += __off; return __pos; } fpos operator-(streamoff __off) const { fpos __pos(*this); __pos -= __off; return __pos; } streamoff operator-(const fpos& __other) const { return _M_off - __other._M_off; } }; template inline bool operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) { return streamoff(__lhs) == streamoff(__rhs); } template inline bool operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) { return streamoff(__lhs) != streamoff(__rhs); } typedef fpos streampos; typedef fpos wstreampos; # 239 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/postypes.h" 3 } # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 2 3 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwchar" 2 3 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 2 3 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 3 template struct _Char_types { typedef unsigned long int_type; typedef std::streampos pos_type; typedef std::streamoff off_type; typedef std::mbstate_t state_type; }; # 89 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 3 template struct char_traits { typedef _CharT char_type; typedef typename _Char_types<_CharT>::int_type int_type; typedef typename _Char_types<_CharT>::pos_type pos_type; typedef typename _Char_types<_CharT>::off_type off_type; typedef typename _Char_types<_CharT>::state_type state_type; static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } static bool eq(const char_type& __c1, const char_type& __c2) { return __c1 == __c2; } static bool lt(const char_type& __c1, const char_type& __c2) { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, std::size_t __n); static std::size_t length(const char_type* __s); static const char_type* find(const char_type* __s, std::size_t __n, const char_type& __a); static char_type* move(char_type* __s1, const char_type* __s2, std::size_t __n); static char_type* copy(char_type* __s1, const char_type* __s2, std::size_t __n); static char_type* assign(char_type* __s, std::size_t __n, char_type __a); static char_type to_char_type(const int_type& __c) { return static_cast(__c); } static int_type to_int_type(const char_type& __c) { return static_cast(__c); } static bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static int_type eof() { return static_cast((-1)); } static int_type not_eof(const int_type& __c) { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } }; template int char_traits<_CharT>:: compare(const char_type* __s1, const char_type* __s2, std::size_t __n) { for (std::size_t __i = 0; __i < __n; ++__i) if (lt(__s1[__i], __s2[__i])) return -1; else if (lt(__s2[__i], __s1[__i])) return 1; return 0; } template std::size_t char_traits<_CharT>:: length(const char_type* __p) { std::size_t __i = 0; while (!eq(__p[__i], char_type())) ++__i; return __i; } template const typename char_traits<_CharT>::char_type* char_traits<_CharT>:: find(const char_type* __s, std::size_t __n, const char_type& __a) { for (std::size_t __i = 0; __i < __n; ++__i) if (eq(__s[__i], __a)) return __s + __i; return 0; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: move(char_type* __s1, const char_type* __s2, std::size_t __n) { return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, __n * sizeof(char_type))); } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: copy(char_type* __s1, const char_type* __s2, std::size_t __n) { std::copy(__s2, __s2 + __n, __s1); return __s1; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: assign(char_type* __s, std::size_t __n, char_type __a) { std::fill_n(__s, __n, __a); return __s; } } namespace std __attribute__ ((__visibility__ ("default"))) { # 230 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/char_traits.h" 3 template struct char_traits : public __gnu_cxx::char_traits<_CharT> { }; template<> struct char_traits { typedef char char_type; typedef int int_type; typedef streampos pos_type; typedef streamoff off_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } static bool eq(const char_type& __c1, const char_type& __c2) { return __c1 == __c2; } static bool lt(const char_type& __c1, const char_type& __c2) { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, size_t __n) { return __builtin_memcmp(__s1, __s2, __n); } static size_t length(const char_type* __s) { return __builtin_strlen(__s); } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { return static_cast(__builtin_memchr(__s, __a, __n)); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return static_cast(__builtin_memmove(__s1, __s2, __n)); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return static_cast(__builtin_memcpy(__s1, __s2, __n)); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { return static_cast(__builtin_memset(__s, __a, __n)); } static char_type to_char_type(const int_type& __c) { return static_cast(__c); } static int_type to_int_type(const char_type& __c) { return static_cast(static_cast(__c)); } static bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static int_type eof() { return static_cast((-1)); } static int_type not_eof(const int_type& __c) { return (__c == eof()) ? 0 : __c; } }; template<> struct char_traits { typedef wchar_t char_type; typedef wint_t int_type; typedef streamoff off_type; typedef wstreampos pos_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } static bool eq(const char_type& __c1, const char_type& __c2) { return __c1 == __c2; } static bool lt(const char_type& __c1, const char_type& __c2) { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, size_t __n) { return wmemcmp(__s1, __s2, __n); } static size_t length(const char_type* __s) { return wcslen(__s); } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { return wmemchr(__s, __a, __n); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return wmemmove(__s1, __s2, __n); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return wmemcpy(__s1, __s2, __n); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { return wmemset(__s, __a, __n); } static char_type to_char_type(const int_type& __c) { return char_type(__c); } static int_type to_int_type(const char_type& __c) { return int_type(__c); } static bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static int_type eof() { return static_cast((0xffffffffu)); } static int_type not_eof(const int_type& __c) { return eq_int_type(__c, eof()) ? 0 : __c; } }; } # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/allocator.h" 1 3 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/allocator.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 1 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/new_allocator.h" 1 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/new_allocator.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/new" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/new" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/new" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/new" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/exception" 1 3 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/exception" 3 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/exception" 3 #pragma GCC visibility push(default) extern "C++" { namespace std { # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/exception" 3 class exception { public: exception() throw() { } virtual ~exception() throw(); virtual const char* what() const throw(); }; class bad_exception : public exception { public: bad_exception() throw() { } virtual ~bad_exception() throw(); virtual const char* what() const throw(); }; typedef void (*terminate_handler) (); typedef void (*unexpected_handler) (); terminate_handler set_terminate(terminate_handler) throw(); void terminate() throw() __attribute__ ((__noreturn__)); unexpected_handler set_unexpected(unexpected_handler) throw(); void unexpected() __attribute__ ((__noreturn__)); # 118 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/exception" 3 bool uncaught_exception() throw() __attribute__ ((__pure__)); } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 141 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/exception" 3 void __verbose_terminate_handler(); } } #pragma GCC visibility pop # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/new" 2 3 #pragma GCC visibility push(default) extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } virtual ~bad_alloc() throw(); virtual const char* what() const throw(); }; struct nothrow_t { }; extern const nothrow_t nothrow; typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); } # 93 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/new" 3 void* operator new(std::size_t) throw (std::bad_alloc); void* operator new[](std::size_t) throw (std::bad_alloc); void operator delete(void*) throw(); void operator delete[](void*) throw(); void* operator new(std::size_t, const std::nothrow_t&) throw(); void* operator new[](std::size_t, const std::nothrow_t&) throw(); void operator delete(void*, const std::nothrow_t&) throw(); void operator delete[](void*, const std::nothrow_t&) throw(); inline void* operator new(std::size_t, void* __p) throw() { return __p; } inline void* operator new[](std::size_t, void* __p) throw() { return __p; } inline void operator delete (void*, void*) throw() { } inline void operator delete[](void*, void*) throw() { } } #pragma GCC visibility pop # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/new_allocator.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { using std::size_t; using std::ptrdiff_t; # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/new_allocator.h" 3 template class new_allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template struct rebind { typedef new_allocator<_Tp1> other; }; new_allocator() throw() { } new_allocator(const new_allocator&) throw() { } template new_allocator(const new_allocator<_Tp1>&) throw() { } ~new_allocator() throw() { } pointer address(reference __x) const { return &__x; } const_pointer address(const_reference __x) const { return &__x; } pointer allocate(size_type __n, const void* = 0) { if (__n > this->max_size()) std::__throw_bad_alloc(); return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } void deallocate(pointer __p, size_type) { ::operator delete(__p); } size_type max_size() const throw() { return size_t(-1) / sizeof(_Tp); } void construct(pointer __p, const _Tp& __val) { ::new((void *)__p) _Tp(__val); } # 114 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/new_allocator.h" 3 void destroy(pointer __p) { __p->~_Tp(); } }; template inline bool operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return true; } template inline bool operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return false; } } # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 2 3 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/allocator.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/allocator.h" 3 template class allocator; template<> class allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef void* pointer; typedef const void* const_pointer; typedef void value_type; template struct rebind { typedef allocator<_Tp1> other; }; }; # 85 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/allocator.h" 3 template class allocator: public __gnu_cxx::new_allocator<_Tp> { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template struct rebind { typedef allocator<_Tp1> other; }; allocator() throw() { } allocator(const allocator& __a) throw() : __gnu_cxx::new_allocator<_Tp>(__a) { } template allocator(const allocator<_Tp1>&) throw() { } ~allocator() throw() { } }; template inline bool operator==(const allocator<_T1>&, const allocator<_T2>&) { return true; } template inline bool operator==(const allocator<_Tp>&, const allocator<_Tp>&) { return true; } template inline bool operator!=(const allocator<_T1>&, const allocator<_T2>&) { return false; } template inline bool operator!=(const allocator<_Tp>&, const allocator<_Tp>&) { return false; } extern template class allocator; extern template class allocator; template struct __alloc_swap { static void _S_do_it(_Alloc&, _Alloc&) { } }; template struct __alloc_swap<_Alloc, false> { static void _S_do_it(_Alloc& __one, _Alloc& __two) { if (__one != __two) swap(__one, __two); } }; template struct __alloc_neq { static bool _S_do_it(const _Alloc&, const _Alloc&) { return false; } }; template struct __alloc_neq<_Alloc, false> { static bool _S_do_it(const _Alloc& __one, const _Alloc& __two) { return __one != __two; } }; # 204 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/allocator.h" 3 } # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/localefwd.h" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/localefwd.h" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/localefwd.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 1 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/clocale" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/clocale" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/clocale" 3 # 1 "/usr/include/locale.h" 1 3 4 # 29 "/usr/include/locale.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 30 "/usr/include/locale.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 27 "/usr/include/bits/locale.h" 3 4 enum { __LC_CTYPE = 0, __LC_NUMERIC = 1, __LC_TIME = 2, __LC_COLLATE = 3, __LC_MONETARY = 4, __LC_MESSAGES = 5, __LC_ALL = 6, __LC_PAPER = 7, __LC_NAME = 8, __LC_ADDRESS = 9, __LC_TELEPHONE = 10, __LC_MEASUREMENT = 11, __LC_IDENTIFICATION = 12 }; # 31 "/usr/include/locale.h" 2 3 4 extern "C" { # 51 "/usr/include/locale.h" 3 4 struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; char int_p_cs_precedes; char int_p_sep_by_space; char int_n_cs_precedes; char int_n_sep_by_space; char int_p_sign_posn; char int_n_sign_posn; # 121 "/usr/include/locale.h" 3 4 }; extern char *setlocale (int __category, __const char *__locale) throw (); extern struct lconv *localeconv (void) throw (); # 152 "/usr/include/locale.h" 3 4 extern __locale_t newlocale (int __category_mask, __const char *__locale, __locale_t __base) throw (); # 187 "/usr/include/locale.h" 3 4 extern __locale_t duplocale (__locale_t __dataset) throw (); extern void freelocale (__locale_t __dataset) throw (); extern __locale_t uselocale (__locale_t __dataset) throw (); } # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/clocale" 2 3 # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/clocale" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::lconv; using ::setlocale; using ::localeconv; } # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { extern "C" __typeof(uselocale) __uselocale; } namespace std __attribute__ ((__visibility__ ("default"))) { typedef __locale_t __c_locale; inline int __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), char* __out, const int __size __attribute__ ((__unused__)), const char* __fmt, ...) { __c_locale __old = __gnu_cxx::__uselocale(__cloc); # 85 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3 __builtin_va_list __args; __builtin_va_start(__args, __fmt); const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); __builtin_va_end(__args); __gnu_cxx::__uselocale(__old); return __ret; } } # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/localefwd.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iosfwd" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iosfwd" 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iosfwd" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 74 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iosfwd" 3 class ios_base; template > class basic_ios; template > class basic_streambuf; template > class basic_istream; template > class basic_ostream; template > class basic_iostream; template, typename _Alloc = allocator<_CharT> > class basic_stringbuf; template, typename _Alloc = allocator<_CharT> > class basic_istringstream; template, typename _Alloc = allocator<_CharT> > class basic_ostringstream; template, typename _Alloc = allocator<_CharT> > class basic_stringstream; template > class basic_filebuf; template > class basic_ifstream; template > class basic_ofstream; template > class basic_fstream; template > class istreambuf_iterator; template > class ostreambuf_iterator; typedef basic_ios ios; typedef basic_streambuf streambuf; typedef basic_istream istream; typedef basic_ostream ostream; typedef basic_iostream iostream; typedef basic_stringbuf stringbuf; typedef basic_istringstream istringstream; typedef basic_ostringstream ostringstream; typedef basic_stringstream stringstream; typedef basic_filebuf filebuf; typedef basic_ifstream ifstream; typedef basic_ofstream ofstream; typedef basic_fstream fstream; typedef basic_ios wios; typedef basic_streambuf wstreambuf; typedef basic_istream wistream; typedef basic_ostream wostream; typedef basic_iostream wiostream; typedef basic_stringbuf wstringbuf; typedef basic_istringstream wistringstream; typedef basic_ostringstream wostringstream; typedef basic_stringstream wstringstream; typedef basic_filebuf wfilebuf; typedef basic_ifstream wifstream; typedef basic_ofstream wofstream; typedef basic_fstream wfstream; } # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/localefwd.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cctype" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cctype" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cctype" 3 # 1 "/usr/include/ctype.h" 1 3 4 # 28 "/usr/include/ctype.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 28 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; # 131 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 132 "/usr/include/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned long int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef int __daddr_t; typedef long int __swblk_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; # 29 "/usr/include/ctype.h" 2 3 4 extern "C" { # 41 "/usr/include/ctype.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 38 "/usr/include/endian.h" 2 3 4 # 61 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/byteswap.h" 1 3 4 # 28 "/usr/include/bits/byteswap.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/bits/byteswap.h" 2 3 4 # 62 "/usr/include/endian.h" 2 3 4 # 42 "/usr/include/ctype.h" 2 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/usr/include/ctype.h" 3 4 extern __const unsigned short int **__ctype_b_loc (void) throw () __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) throw () __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) throw () __attribute__ ((__const)); # 96 "/usr/include/ctype.h" 3 4 extern int isalnum (int) throw (); extern int isalpha (int) throw (); extern int iscntrl (int) throw (); extern int isdigit (int) throw (); extern int islower (int) throw (); extern int isgraph (int) throw (); extern int isprint (int) throw (); extern int ispunct (int) throw (); extern int isspace (int) throw (); extern int isupper (int) throw (); extern int isxdigit (int) throw (); extern int tolower (int __c) throw (); extern int toupper (int __c) throw (); extern int isblank (int) throw (); extern int isctype (int __c, int __mask) throw (); extern int isascii (int __c) throw (); extern int toascii (int __c) throw (); extern int _toupper (int) throw (); extern int _tolower (int) throw (); # 247 "/usr/include/ctype.h" 3 4 extern int isalnum_l (int, __locale_t) throw (); extern int isalpha_l (int, __locale_t) throw (); extern int iscntrl_l (int, __locale_t) throw (); extern int isdigit_l (int, __locale_t) throw (); extern int islower_l (int, __locale_t) throw (); extern int isgraph_l (int, __locale_t) throw (); extern int isprint_l (int, __locale_t) throw (); extern int ispunct_l (int, __locale_t) throw (); extern int isspace_l (int, __locale_t) throw (); extern int isupper_l (int, __locale_t) throw (); extern int isxdigit_l (int, __locale_t) throw (); extern int isblank_l (int, __locale_t) throw (); extern int __tolower_l (int __c, __locale_t __l) throw (); extern int tolower_l (int __c, __locale_t __l) throw (); extern int __toupper_l (int __c, __locale_t __l) throw (); extern int toupper_l (int __c, __locale_t __l) throw (); # 323 "/usr/include/ctype.h" 3 4 } # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cctype" 2 3 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cctype" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::isalnum; using ::isalpha; using ::iscntrl; using ::isdigit; using ::isgraph; using ::islower; using ::isprint; using ::ispunct; using ::isspace; using ::isupper; using ::isxdigit; using ::tolower; using ::toupper; } # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/localefwd.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 55 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/localefwd.h" 3 class locale; template bool has_facet(const locale&) throw(); template const _Facet& use_facet(const locale&); template bool isspace(_CharT, const locale&); template bool isprint(_CharT, const locale&); template bool iscntrl(_CharT, const locale&); template bool isupper(_CharT, const locale&); template bool islower(_CharT, const locale&); template bool isalpha(_CharT, const locale&); template bool isdigit(_CharT, const locale&); template bool ispunct(_CharT, const locale&); template bool isxdigit(_CharT, const locale&); template bool isalnum(_CharT, const locale&); template bool isgraph(_CharT, const locale&); template _CharT toupper(_CharT, const locale&); template _CharT tolower(_CharT, const locale&); class ctype_base; template class ctype; template<> class ctype; template<> class ctype; template class ctype_byname; class codecvt_base; template class codecvt; template<> class codecvt; template<> class codecvt; template class codecvt_byname; template > class num_get; template > class num_put; template class numpunct; template class numpunct_byname; template class collate; template class collate_byname; class time_base; template > class time_get; template > class time_get_byname; template > class time_put; template > class time_put_byname; class money_base; template > class money_get; template > class money_put; template class moneypunct; template class moneypunct_byname; class messages_base; template class messages; template class messages_byname; } # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ostream_insert.h" 1 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ostream_insert.h" 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ostream_insert.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cxxabi-forced.h" 1 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cxxabi-forced.h" 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cxxabi-forced.h" 3 #pragma GCC visibility push(default) namespace __cxxabiv1 { class __forced_unwind { virtual ~__forced_unwind() throw(); virtual void __pure_dummy() = 0; }; } #pragma GCC visibility pop # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ostream_insert.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline void __ostream_write(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const streamsize __put = __out.rdbuf()->sputn(__s, __n); if (__put != __n) __out.setstate(__ios_base::badbit); } template inline void __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const _CharT __c = __out.fill(); for (; __n > 0; --__n) { const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); if (_Traits::eq_int_type(__put, _Traits::eof())) { __out.setstate(__ios_base::badbit); break; } } } template basic_ostream<_CharT, _Traits>& __ostream_insert(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; typename __ostream_type::sentry __cerb(__out); if (__cerb) { try { const streamsize __w = __out.width(); if (__w > __n) { const bool __left = ((__out.flags() & __ios_base::adjustfield) == __ios_base::left); if (!__left) __ostream_fill(__out, __w - __n); if (__out.good()) __ostream_write(__out, __s, __n); if (__left && __out.good()) __ostream_fill(__out, __w - __n); } else __ostream_write(__out, __s, __n); __out.width(0); } catch(__cxxabiv1::__forced_unwind&) { __out._M_setstate(__ios_base::badbit); throw; } catch(...) { __out._M_setstate(__ios_base::badbit); } } return __out; } extern template ostream& __ostream_insert(ostream&, const char*, streamsize); extern template wostream& __ostream_insert(wostream&, const wchar_t*, streamsize); } # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 1 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 99 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 3 template struct unary_function { typedef _Arg argument_type; typedef _Result result_type; }; template struct binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; }; # 134 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 3 template struct plus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } }; template struct minus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } }; template struct multiplies : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } }; template struct divides : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } }; template struct modulus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } }; template struct negate : public unary_function<_Tp, _Tp> { _Tp operator()(const _Tp& __x) const { return -__x; } }; # 198 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 3 template struct equal_to : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } }; template struct not_equal_to : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } }; template struct greater : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } }; template struct less : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } }; template struct greater_equal : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } }; template struct less_equal : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } }; # 262 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 3 template struct logical_and : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } }; template struct logical_or : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } }; template struct logical_not : public unary_function<_Tp, bool> { bool operator()(const _Tp& __x) const { return !__x; } }; template struct bit_and : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x & __y; } }; template struct bit_or : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x | __y; } }; template struct bit_xor : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x ^ __y; } }; # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 3 template class unary_negate : public unary_function { public: _Predicate _M_pred; public: explicit unary_negate(const _Predicate& __x) : _M_pred(__x) { } bool operator()(const typename _Predicate::argument_type& __x) const { return !_M_pred(__x); } }; template inline unary_negate<_Predicate> not1(const _Predicate& __pred) { return unary_negate<_Predicate>(__pred); } template class binary_negate : public binary_function { public: _Predicate _M_pred; public: explicit binary_negate(const _Predicate& __x) : _M_pred(__x) { } bool operator()(const typename _Predicate::first_argument_type& __x, const typename _Predicate::second_argument_type& __y) const { return !_M_pred(__x, __y); } }; template inline binary_negate<_Predicate> not2(const _Predicate& __pred) { return binary_negate<_Predicate>(__pred); } # 416 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 3 template class pointer_to_unary_function : public unary_function<_Arg, _Result> { public: _Result (*_M_ptr)(_Arg); public: pointer_to_unary_function() { } explicit pointer_to_unary_function(_Result (*__x)(_Arg)) : _M_ptr(__x) { } _Result operator()(_Arg __x) const { return _M_ptr(__x); } }; template inline pointer_to_unary_function<_Arg, _Result> ptr_fun(_Result (*__x)(_Arg)) { return pointer_to_unary_function<_Arg, _Result>(__x); } template class pointer_to_binary_function : public binary_function<_Arg1, _Arg2, _Result> { public: _Result (*_M_ptr)(_Arg1, _Arg2); public: pointer_to_binary_function() { } explicit pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) : _M_ptr(__x) { } _Result operator()(_Arg1 __x, _Arg2 __y) const { return _M_ptr(__x, __y); } }; template inline pointer_to_binary_function<_Arg1, _Arg2, _Result> ptr_fun(_Result (*__x)(_Arg1, _Arg2)) { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } template struct _Identity : public unary_function<_Tp,_Tp> { _Tp& operator()(_Tp& __x) const { return __x; } const _Tp& operator()(const _Tp& __x) const { return __x; } }; template struct _Select1st : public unary_function<_Pair, typename _Pair::first_type> { typename _Pair::first_type& operator()(_Pair& __x) const { return __x.first; } const typename _Pair::first_type& operator()(const _Pair& __x) const { return __x.first; } }; template struct _Select2nd : public unary_function<_Pair, typename _Pair::second_type> { typename _Pair::second_type& operator()(_Pair& __x) const { return __x.second; } const typename _Pair::second_type& operator()(const _Pair& __x) const { return __x.second; } }; # 523 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 3 template class mem_fun_t : public unary_function<_Tp*, _Ret> { public: explicit mem_fun_t(_Ret (_Tp::*__pf)()) : _M_f(__pf) { } _Ret operator()(_Tp* __p) const { return (__p->*_M_f)(); } private: _Ret (_Tp::*_M_f)(); }; template class const_mem_fun_t : public unary_function { public: explicit const_mem_fun_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) { } _Ret operator()(const _Tp* __p) const { return (__p->*_M_f)(); } private: _Ret (_Tp::*_M_f)() const; }; template class mem_fun_ref_t : public unary_function<_Tp, _Ret> { public: explicit mem_fun_ref_t(_Ret (_Tp::*__pf)()) : _M_f(__pf) { } _Ret operator()(_Tp& __r) const { return (__r.*_M_f)(); } private: _Ret (_Tp::*_M_f)(); }; template class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> { public: explicit const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) { } _Ret operator()(const _Tp& __r) const { return (__r.*_M_f)(); } private: _Ret (_Tp::*_M_f)() const; }; template class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> { public: explicit mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) : _M_f(__pf) { } _Ret operator()(_Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg); }; template class const_mem_fun1_t : public binary_function { public: explicit const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) { } _Ret operator()(const _Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg) const; }; template class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> { public: explicit mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) : _M_f(__pf) { } _Ret operator()(_Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg); }; template class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> { public: explicit const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) { } _Ret operator()(const _Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg) const; }; template inline mem_fun_t<_Ret, _Tp> mem_fun(_Ret (_Tp::*__f)()) { return mem_fun_t<_Ret, _Tp>(__f); } template inline const_mem_fun_t<_Ret, _Tp> mem_fun(_Ret (_Tp::*__f)() const) { return const_mem_fun_t<_Ret, _Tp>(__f); } template inline mem_fun_ref_t<_Ret, _Tp> mem_fun_ref(_Ret (_Tp::*__f)()) { return mem_fun_ref_t<_Ret, _Tp>(__f); } template inline const_mem_fun_ref_t<_Ret, _Tp> mem_fun_ref(_Ret (_Tp::*__f)() const) { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } template inline mem_fun1_t<_Ret, _Tp, _Arg> mem_fun(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } template inline const_mem_fun1_t<_Ret, _Tp, _Arg> mem_fun(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } template inline mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } template inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/binders.h" 1 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/binders.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 97 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/binders.h" 3 template class binder1st : public unary_function { public: _Operation op; typename _Operation::first_argument_type value; public: binder1st(const _Operation& __x, const typename _Operation::first_argument_type& __y) : op(__x), value(__y) { } typename _Operation::result_type operator()(const typename _Operation::second_argument_type& __x) const { return op(value, __x); } typename _Operation::result_type operator()(typename _Operation::second_argument_type& __x) const { return op(value, __x); } } ; template inline binder1st<_Operation> bind1st(const _Operation& __fn, const _Tp& __x) { typedef typename _Operation::first_argument_type _Arg1_type; return binder1st<_Operation>(__fn, _Arg1_type(__x)); } template class binder2nd : public unary_function { public: _Operation op; typename _Operation::second_argument_type value; public: binder2nd(const _Operation& __x, const typename _Operation::second_argument_type& __y) : op(__x), value(__y) { } typename _Operation::result_type operator()(const typename _Operation::first_argument_type& __x) const { return op(__x, value); } typename _Operation::result_type operator()(typename _Operation::first_argument_type& __x) const { return op(__x, value); } } ; template inline binder2nd<_Operation> bind2nd(const _Operation& __fn, const _Tp& __x) { typedef typename _Operation::second_argument_type _Arg2_type; return binder2nd<_Operation>(__fn, _Arg2_type(__x)); } } # 713 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_function.h" 2 3 # 51 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/atomicity.h" 1 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/atomicity.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 1 3 # 30 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 3 #pragma GCC visibility push(default) # 162 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 # 1 "/usr/include/pthread.h" 1 3 4 # 25 "/usr/include/pthread.h" 3 4 # 1 "/usr/include/sched.h" 1 3 4 # 29 "/usr/include/sched.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 30 "/usr/include/sched.h" 2 3 4 # 1 "/usr/include/time.h" 1 3 4 # 120 "/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 33 "/usr/include/sched.h" 2 3 4 # 1 "/usr/include/bits/sched.h" 1 3 4 # 71 "/usr/include/bits/sched.h" 3 4 struct sched_param { int __sched_priority; }; extern "C" { extern int clone (int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg, ...) throw (); extern int unshare (int __flags) throw (); extern int sched_getcpu (void) throw (); } struct __sched_param { int __sched_priority; }; # 113 "/usr/include/bits/sched.h" 3 4 typedef unsigned long int __cpu_mask; typedef struct { __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; } cpu_set_t; # 196 "/usr/include/bits/sched.h" 3 4 extern "C" { extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) throw (); extern cpu_set_t *__sched_cpualloc (size_t __count) throw () __attribute__ ((__warn_unused_result__)); extern void __sched_cpufree (cpu_set_t *__set) throw (); } # 36 "/usr/include/sched.h" 2 3 4 extern "C" { extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param) throw (); extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); extern int sched_setscheduler (__pid_t __pid, int __policy, __const struct sched_param *__param) throw (); extern int sched_getscheduler (__pid_t __pid) throw (); extern int sched_yield (void) throw (); extern int sched_get_priority_max (int __algorithm) throw (); extern int sched_get_priority_min (int __algorithm) throw (); extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); # 110 "/usr/include/sched.h" 3 4 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw (); extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, cpu_set_t *__cpuset) throw (); } # 26 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/time.h" 1 3 4 # 30 "/usr/include/time.h" 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 39 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 43 "/usr/include/time.h" 2 3 4 # 58 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 74 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 92 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 104 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 131 "/usr/include/time.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; __const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; typedef __pid_t pid_t; extern clock_t clock (void) throw (); extern time_t time (time_t *__timer) throw (); extern double difftime (time_t __time1, time_t __time0) throw () __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) throw (); extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) throw (); extern char *strptime (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp) throw (); extern size_t strftime_l (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) throw (); extern char *strptime_l (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) throw (); extern struct tm *gmtime (__const time_t *__timer) throw (); extern struct tm *localtime (__const time_t *__timer) throw (); extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern char *asctime (__const struct tm *__tp) throw (); extern char *ctime (__const time_t *__timer) throw (); extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) throw (); extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) throw (); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) throw (); extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) throw (); # 313 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) throw (); extern time_t timelocal (struct tm *__tp) throw (); extern int dysize (int __year) throw () __attribute__ ((__const__)); # 328 "/usr/include/time.h" 3 4 extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) throw (); extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) throw (); extern int timer_delete (timer_t __timerid) throw (); extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) throw (); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) throw (); extern int timer_getoverrun (timer_t __timerid) throw (); # 390 "/usr/include/time.h" 3 4 extern int getdate_err; # 399 "/usr/include/time.h" 3 4 extern struct tm *getdate (__const char *__string); # 413 "/usr/include/time.h" 3 4 extern int getdate_r (__const char *__restrict __string, struct tm *__restrict __resbufp); } # 27 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 31 "/usr/include/signal.h" 3 4 extern "C" { # 1 "/usr/include/bits/sigset.h" 1 3 4 # 24 "/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 34 "/usr/include/signal.h" 2 3 4 # 50 "/usr/include/signal.h" 3 4 typedef __sigset_t sigset_t; # 408 "/usr/include/signal.h" 3 4 } # 30 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 # 50 "/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[56]; long int __align; } pthread_attr_t; typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; # 76 "/usr/include/bits/pthreadtypes.h" 3 4 typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; unsigned int __nusers; int __kind; int __spins; __pthread_list_t __list; # 101 "/usr/include/bits/pthreadtypes.h" 3 4 } __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; int __writer; int __shared; unsigned long int __pad1; unsigned long int __pad2; unsigned int __flags; } __data; # 187 "/usr/include/bits/pthreadtypes.h" 3 4 char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 31 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/setjmp.h" 1 3 4 # 27 "/usr/include/bits/setjmp.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 28 "/usr/include/bits/setjmp.h" 2 3 4 typedef long int __jmp_buf[8]; # 32 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 33 "/usr/include/pthread.h" 2 3 4 enum { PTHREAD_CREATE_JOINABLE, PTHREAD_CREATE_DETACHED }; enum { PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_ADAPTIVE_NP , PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP }; enum { PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST }; enum { PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT }; # 117 "/usr/include/pthread.h" 3 4 enum { PTHREAD_RWLOCK_PREFER_READER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP }; # 149 "/usr/include/pthread.h" 3 4 enum { PTHREAD_INHERIT_SCHED, PTHREAD_EXPLICIT_SCHED }; enum { PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS }; enum { PTHREAD_PROCESS_PRIVATE, PTHREAD_PROCESS_SHARED }; # 184 "/usr/include/pthread.h" 3 4 struct _pthread_cleanup_buffer { void (*__routine) (void *); void *__arg; int __canceltype; struct _pthread_cleanup_buffer *__prev; }; enum { PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_DISABLE }; enum { PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_ASYNCHRONOUS }; # 222 "/usr/include/pthread.h" 3 4 extern "C" { extern int pthread_create (pthread_t *__restrict __newthread, __const pthread_attr_t *__restrict __attr, void *(*__start_routine) (void *), void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); extern int pthread_join (pthread_t __th, void **__thread_return); extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, __const struct timespec *__abstime); extern int pthread_detach (pthread_t __th) throw (); extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw (); extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_destroy (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, int *__detachstate) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr, size_t *__guardsize) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict __attr, struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, __const struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict __attr, int *__restrict __policy) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict __attr, int *__restrict __inherit) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, int __inherit) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr, int *__restrict __scope) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr) throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict __attr, size_t *__restrict __stacksize) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr, size_t *__restrict __stacksize) throw () __attribute__ ((__nonnull__ (1, 2, 3))); extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr, size_t __cpusetsize, cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (2))); extern int pthread_setschedparam (pthread_t __target_thread, int __policy, __const struct sched_param *__param) throw () __attribute__ ((__nonnull__ (3))); extern int pthread_getschedparam (pthread_t __target_thread, int *__restrict __policy, struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (2, 3))); extern int pthread_setschedprio (pthread_t __target_thread, int __prio) throw (); extern int pthread_getconcurrency (void) throw (); extern int pthread_setconcurrency (int __level) throw (); extern int pthread_yield (void) throw (); extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (3))); extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (3))); # 468 "/usr/include/pthread.h" 3 4 extern int pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); # 480 "/usr/include/pthread.h" 3 4 extern int pthread_setcancelstate (int __state, int *__oldstate); extern int pthread_setcanceltype (int __type, int *__oldtype); extern int pthread_cancel (pthread_t __th); extern void pthread_testcancel (void); typedef struct { struct { __jmp_buf __cancel_jmp_buf; int __mask_was_saved; } __cancel_jmp_buf[1]; void *__pad[4]; } __pthread_unwind_buf_t __attribute__ ((__aligned__)); # 514 "/usr/include/pthread.h" 3 4 struct __pthread_cleanup_frame { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; }; class __pthread_cleanup_class { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; public: __pthread_cleanup_class (void (*__fct) (void *), void *__arg) : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } void __setdoit (int __newval) { __do_it = __newval; } void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, &__cancel_type); } void __restore () const { pthread_setcanceltype (__cancel_type, 0); } }; # 716 "/usr/include/pthread.h" 3 4 struct __jmp_buf_tag; extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); extern int pthread_mutex_init (pthread_mutex_t *__mutex, __const pthread_mutexattr_t *__mutexattr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_getprioceiling (__const pthread_mutex_t * __restrict __mutex, int *__restrict __prioceiling) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, int __prioceiling, int *__restrict __old_ceiling) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); # 782 "/usr/include/pthread.h" 3 4 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict __attr, int *__restrict __kind) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t * __restrict __attr, int *__restrict __protocol) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, int __protocol) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t * __restrict __attr, int *__restrict __prioceiling) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, int __prioceiling) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getrobust (__const pthread_mutexattr_t *__attr, int *__robustness) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr, int *__robustness) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, int __robustness) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, int __robustness) throw () __attribute__ ((__nonnull__ (1))); # 864 "/usr/include/pthread.h" 3 4 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, __const pthread_rwlockattr_t *__restrict __attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, __const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, __const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pref) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, int __pref) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_init (pthread_cond_t *__restrict __cond, __const pthread_condattr_t *__restrict __cond_attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_destroy (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_signal (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex) __attribute__ ((__nonnull__ (1, 2))); # 976 "/usr/include/pthread.h" 3 4 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict __abstime) __attribute__ ((__nonnull__ (1, 2, 3))); extern int pthread_condattr_init (pthread_condattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_getpshared (__const pthread_condattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_getclock (__const pthread_condattr_t * __restrict __attr, __clockid_t *__restrict __clock_id) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_condattr_setclock (pthread_condattr_t *__attr, __clockid_t __clock_id) throw () __attribute__ ((__nonnull__ (1))); # 1020 "/usr/include/pthread.h" 3 4 extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_destroy (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_lock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_trylock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_unlock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, __const pthread_barrierattr_t *__restrict __attr, unsigned int __count) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_wait (pthread_barrier_t *__barrier) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); # 1087 "/usr/include/pthread.h" 3 4 extern int pthread_key_create (pthread_key_t *__key, void (*__destr_function) (void *)) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_key_delete (pthread_key_t __key) throw (); extern void *pthread_getspecific (pthread_key_t __key) throw (); extern int pthread_setspecific (pthread_key_t __key, __const void *__pointer) throw () ; extern int pthread_getcpuclockid (pthread_t __thread_id, __clockid_t *__clock_id) throw () __attribute__ ((__nonnull__ (2))); # 1121 "/usr/include/pthread.h" 3 4 extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) throw (); extern __inline __attribute__ ((__gnu_inline__)) int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () { return __thread1 == __thread2; } } # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3 # 1 "/usr/include/unistd.h" 1 3 4 # 28 "/usr/include/unistd.h" 3 4 extern "C" { # 203 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 204 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/bits/environments.h" 1 3 4 # 23 "/usr/include/bits/environments.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/environments.h" 2 3 4 # 208 "/usr/include/unistd.h" 2 3 4 # 221 "/usr/include/unistd.h" 3 4 typedef __ssize_t ssize_t; # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 228 "/usr/include/unistd.h" 2 3 4 typedef __gid_t gid_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __useconds_t useconds_t; # 268 "/usr/include/unistd.h" 3 4 typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 288 "/usr/include/unistd.h" 3 4 extern int access (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); extern int euidaccess (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); extern int eaccess (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); extern int faccessat (int __fd, __const char *__file, int __type, int __flag) throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); # 331 "/usr/include/unistd.h" 3 4 extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw (); # 342 "/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) throw (); extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__warn_unused_result__)); extern ssize_t write (int __fd, __const void *__buf, size_t __n) __attribute__ ((__warn_unused_result__)); # 373 "/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __attribute__ ((__warn_unused_result__)); extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset) __attribute__ ((__warn_unused_result__)); # 401 "/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __attribute__ ((__warn_unused_result__)); extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset) __attribute__ ((__warn_unused_result__)); extern int pipe (int __pipedes[2]) throw () __attribute__ ((__warn_unused_result__)); extern int pipe2 (int __pipedes[2], int __flags) throw () __attribute__ ((__warn_unused_result__)); # 429 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) throw (); # 441 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) throw (); extern int usleep (__useconds_t __useconds); # 465 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () __attribute__ ((__warn_unused_result__)); extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int fchownat (int __fd, __const char *__file, __uid_t __owner, __gid_t __group, int __flag) throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int fchdir (int __fd) throw () __attribute__ ((__warn_unused_result__)); # 507 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) throw () __attribute__ ((__warn_unused_result__)); extern char *get_current_dir_name (void) throw (); extern char *getwd (char *__buf) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)); extern int dup (int __fd) throw () __attribute__ ((__warn_unused_result__)); extern int dup2 (int __fd, int __fd2) throw (); extern int dup3 (int __fd, int __fd2, int __flags) throw (); extern char **__environ; extern char **environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1))); extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) throw (); extern int execv (__const char *__path, char *__const __argv[]) throw () __attribute__ ((__nonnull__ (1))); extern int execle (__const char *__path, __const char *__arg, ...) throw () __attribute__ ((__nonnull__ (1))); extern int execl (__const char *__path, __const char *__arg, ...) throw () __attribute__ ((__nonnull__ (1))); extern int execvp (__const char *__file, char *__const __argv[]) throw () __attribute__ ((__nonnull__ (1))); extern int execlp (__const char *__file, __const char *__arg, ...) throw () __attribute__ ((__nonnull__ (1))); extern int execvpe (__const char *__file, char *__const __argv[], char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1))); extern int nice (int __inc) throw () __attribute__ ((__warn_unused_result__)); extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 4 # 26 "/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS, _SC_V7_ILP32_OFF32, _SC_V7_ILP32_OFFBIG, _SC_V7_LP64_OFF64, _SC_V7_LPBIG_OFFBIG, _SC_SS_REPL_MAX, _SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX, _SC_TRACE_SYS_MAX, _SC_TRACE_USER_EVENT_MAX, _SC_XOPEN_STREAMS, _SC_THREAD_ROBUST_PRIO_INHERIT, _SC_THREAD_ROBUST_PRIO_PROTECT, }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_V5_WIDTH_RESTRICTED_ENVS, _CS_V7_WIDTH_RESTRICTED_ENVS, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V7_ILP32_OFF32_CFLAGS, _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, _CS_POSIX_V7_ILP32_OFF32_LIBS, _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LIBS, _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V7_LP64_OFF64_CFLAGS, _CS_POSIX_V7_LP64_OFF64_LDFLAGS, _CS_POSIX_V7_LP64_OFF64_LIBS, _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS }; # 605 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (__const char *__path, int __name) throw () __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) throw (); extern long int sysconf (int __name) throw (); extern size_t confstr (int __name, char *__buf, size_t __len) throw (); extern __pid_t getpid (void) throw (); extern __pid_t getppid (void) throw (); extern __pid_t getpgrp (void) throw (); # 641 "/usr/include/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) throw (); extern __pid_t getpgid (__pid_t __pid) throw (); extern int setpgid (__pid_t __pid, __pid_t __pgid) throw (); # 667 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) throw (); # 684 "/usr/include/unistd.h" 3 4 extern __pid_t setsid (void) throw (); extern __pid_t getsid (__pid_t __pid) throw (); extern __uid_t getuid (void) throw (); extern __uid_t geteuid (void) throw (); extern __gid_t getgid (void) throw (); extern __gid_t getegid (void) throw (); extern int getgroups (int __size, __gid_t __list[]) throw () __attribute__ ((__warn_unused_result__)); extern int group_member (__gid_t __gid) throw (); extern int setuid (__uid_t __uid) throw (); extern int setreuid (__uid_t __ruid, __uid_t __euid) throw (); extern int seteuid (__uid_t __uid) throw (); extern int setgid (__gid_t __gid) throw (); extern int setregid (__gid_t __rgid, __gid_t __egid) throw (); extern int setegid (__gid_t __gid) throw (); extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) throw (); extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) throw (); extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) throw (); extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) throw (); extern __pid_t fork (void) throw (); extern __pid_t vfork (void) throw (); extern char *ttyname (int __fd) throw (); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern int isatty (int __fd) throw (); extern int ttyslot (void) throw (); extern int link (__const char *__from, __const char *__to) throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern int linkat (int __fromfd, __const char *__from, int __tofd, __const char *__to, int __flags) throw () __attribute__ ((__nonnull__ (2, 4))) __attribute__ ((__warn_unused_result__)); extern int symlink (__const char *__from, __const char *__to) throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern int symlinkat (__const char *__from, int __tofd, __const char *__to) throw () __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__)); extern ssize_t readlinkat (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); extern int unlink (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); extern int unlinkat (int __fd, __const char *__name, int __flag) throw () __attribute__ ((__nonnull__ (2))); extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) throw (); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw (); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); extern int setlogin (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); # 887 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/getopt.h" 1 3 4 # 50 "/usr/include/getopt.h" 3 4 extern "C" { # 59 "/usr/include/getopt.h" 3 4 extern char *optarg; # 73 "/usr/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 152 "/usr/include/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) throw (); # 187 "/usr/include/getopt.h" 3 4 } # 888 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))); extern int sethostname (__const char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int sethostid (long int __id) throw () __attribute__ ((__warn_unused_result__)); extern int getdomainname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int setdomainname (__const char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int vhangup (void) throw (); extern int revoke (__const char *__file) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) throw () __attribute__ ((__nonnull__ (1))); extern int acct (__const char *__name) throw (); extern char *getusershell (void) throw (); extern void endusershell (void) throw (); extern void setusershell (void) throw (); extern int daemon (int __nochdir, int __noclose) throw () __attribute__ ((__warn_unused_result__)); extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); # 973 "/usr/include/unistd.h" 3 4 extern int fsync (int __fd); extern long int gethostid (void); extern void sync (void) throw (); extern int getpagesize (void) throw () __attribute__ ((__const__)); extern int getdtablesize (void) throw (); extern int truncate (__const char *__file, __off_t __length) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 1010 "/usr/include/unistd.h" 3 4 extern int truncate64 (__const char *__file, __off64_t __length) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 1020 "/usr/include/unistd.h" 3 4 extern int ftruncate (int __fd, __off_t __length) throw () __attribute__ ((__warn_unused_result__)); # 1030 "/usr/include/unistd.h" 3 4 extern int ftruncate64 (int __fd, __off64_t __length) throw () __attribute__ ((__warn_unused_result__)); # 1040 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) throw () __attribute__ ((__warn_unused_result__)); extern void *sbrk (intptr_t __delta) throw (); # 1061 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) throw (); # 1084 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off_t __len) __attribute__ ((__warn_unused_result__)); # 1094 "/usr/include/unistd.h" 3 4 extern int lockf64 (int __fd, int __cmd, __off64_t __len) __attribute__ ((__warn_unused_result__)); # 1115 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes); extern char *crypt (__const char *__key, __const char *__salt) throw () __attribute__ ((__nonnull__ (1, 2))); extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1))); extern void swab (__const void *__restrict __from, void *__restrict __to, ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *ctermid (char *__s) throw (); # 1 "/usr/include/bits/unistd.h" 1 3 4 # 24 "/usr/include/bits/unistd.h" 3 4 extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __attribute__ ((__warn_unused_result__)); extern ssize_t __read_alias (int __fd, void *__buf, size_t __nbytes) __asm__ ("" "read") __attribute__ ((__warn_unused_result__)); extern ssize_t __read_chk_warn (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __asm__ ("" "__read_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("read called with bigger length than size of " "the destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t read (int __fd, void *__buf, size_t __nbytes) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__nbytes)) return __read_chk (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)); if (__nbytes > __builtin_object_size (__buf, 0)) return __read_chk_warn (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)); } return __read_alias (__fd, __buf, __nbytes); } extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__)); extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__)); extern ssize_t __pread_alias (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __asm__ ("" "pread") __attribute__ ((__warn_unused_result__)); extern ssize_t __pread64_alias (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64") __attribute__ ((__warn_unused_result__)); extern ssize_t __pread_chk_warn (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __asm__ ("" "__pread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread called with bigger length than size of " "the destination buffer"))) ; extern ssize_t __pread64_chk_warn (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __asm__ ("" "__pread64_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread64 called with bigger length than size of " "the destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__nbytes)) return __pread_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); if ( __nbytes > __builtin_object_size (__buf, 0)) return __pread_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); } return __pread_alias (__fd, __buf, __nbytes, __offset); } # 105 "/usr/include/bits/unistd.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__nbytes)) return __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); if ( __nbytes > __builtin_object_size (__buf, 0)) return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); } return __pread64_alias (__fd, __buf, __nbytes, __offset); } extern ssize_t __readlink_chk (__const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlink_alias (__const char *__restrict __path, char *__restrict __buf, size_t __len) throw () __asm__ ("" "readlink") __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlink_chk_warn (__const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) throw () __asm__ ("" "__readlink_chk") __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlink called with bigger length " "than size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) ssize_t readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __readlink_chk (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); if ( __len > __builtin_object_size (__buf, 2 > 1)) return __readlink_chk_warn (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); } return __readlink_alias (__path, __buf, __len); } extern ssize_t __readlinkat_chk (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) throw () __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlinkat_alias (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len) throw () __asm__ ("" "readlinkat") __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlinkat_chk_warn (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) throw () __asm__ ("" "__readlinkat_chk") __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlinkat called with bigger " "length than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) ssize_t readlinkat (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __readlinkat_chk (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); if (__len > __builtin_object_size (__buf, 2 > 1)) return __readlinkat_chk_warn (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); } return __readlinkat_alias (__fd, __path, __buf, __len); } extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); extern char *__getcwd_alias (char *__buf, size_t __size) throw () __asm__ ("" "getcwd") __attribute__ ((__warn_unused_result__)); extern char *__getcwd_chk_warn (char *__buf, size_t __size, size_t __buflen) throw () __asm__ ("" "__getcwd_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getcwd caller with bigger length than size of " "destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char * getcwd (char *__buf, size_t __size) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__size)) return __getcwd_chk (__buf, __size, __builtin_object_size (__buf, 2 > 1)); if (__size > __builtin_object_size (__buf, 2 > 1)) return __getcwd_chk_warn (__buf, __size, __builtin_object_size (__buf, 2 > 1)); } return __getcwd_alias (__buf, __size); } extern char *__getwd_chk (char *__buf, size_t buflen) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern char *__getwd_warn (char *__buf) throw () __asm__ ("" "getwd") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use getcwd instead, as getwd " "doesn't specify buffer size"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)) char * getwd (char *__buf) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) return __getwd_chk (__buf, __builtin_object_size (__buf, 2 > 1)); return __getwd_warn (__buf); } extern size_t __confstr_chk (int __name, char *__buf, size_t __len, size_t __buflen) throw (); extern size_t __confstr_alias (int __name, char *__buf, size_t __len) throw () __asm__ ("" "confstr") ; extern size_t __confstr_chk_warn (int __name, char *__buf, size_t __len, size_t __buflen) throw () __asm__ ("" "__confstr_chk") __attribute__((__warning__ ("confstr called with bigger length than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t confstr (int __name, char *__buf, size_t __len) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __confstr_chk (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)); if (__builtin_object_size (__buf, 2 > 1) < __len) return __confstr_chk_warn (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)); } return __confstr_alias (__name, __buf, __len); } extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) throw () __attribute__ ((__warn_unused_result__)); extern int __getgroups_alias (int __size, __gid_t __list[]) throw () __asm__ ("" "getgroups") __attribute__ ((__warn_unused_result__)); extern int __getgroups_chk_warn (int __size, __gid_t __list[], size_t __listlen) throw () __asm__ ("" "__getgroups_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getgroups called with bigger group count than what " "can fit into destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int getgroups (int __size, __gid_t __list[]) throw () { if (__builtin_object_size (__list, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__size) || __size < 0) return __getgroups_chk (__size, __list, __builtin_object_size (__list, 2 > 1)); if (__size * sizeof (__gid_t) > __builtin_object_size (__list, 2 > 1)) return __getgroups_chk_warn (__size, __list, __builtin_object_size (__list, 2 > 1)); } return __getgroups_alias (__size, __list); } extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __attribute__ ((__nonnull__ (2))); extern int __ttyname_r_alias (int __fd, char *__buf, size_t __buflen) throw () __asm__ ("" "ttyname_r") __attribute__ ((__nonnull__ (2))); extern int __ttyname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__ttyname_r_chk") __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ttyname_r called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int ttyname_r (int __fd, char *__buf, size_t __buflen) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __ttyname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __ttyname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __ttyname_r_alias (__fd, __buf, __buflen); } extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nonnull__ (1))); extern int __getlogin_r_alias (char *__buf, size_t __buflen) __asm__ ("" "getlogin_r") __attribute__ ((__nonnull__ (1))); extern int __getlogin_r_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getlogin_r_chk") __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("getlogin_r called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int getlogin_r (char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __getlogin_r_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __getlogin_r_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __getlogin_r_alias (__buf, __buflen); } extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) throw () __attribute__ ((__nonnull__ (1))); extern int __gethostname_alias (char *__buf, size_t __buflen) throw () __asm__ ("" "gethostname") __attribute__ ((__nonnull__ (1))); extern int __gethostname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__gethostname_chk") __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("gethostname called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int gethostname (char *__buf, size_t __buflen) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __gethostname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __gethostname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __gethostname_alias (__buf, __buflen); } extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int __getdomainname_alias (char *__buf, size_t __buflen) throw () __asm__ ("" "getdomainname") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int __getdomainname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__getdomainname_chk") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getdomainname called with bigger " "buflen than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int getdomainname (char *__buf, size_t __buflen) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __getdomainname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __getdomainname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __getdomainname_alias (__buf, __buflen); } # 1151 "/usr/include/unistd.h" 2 3 4 } # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3 typedef pthread_t __gthread_t; typedef pthread_key_t __gthread_key_t; typedef pthread_once_t __gthread_once_t; typedef pthread_mutex_t __gthread_mutex_t; typedef pthread_mutex_t __gthread_recursive_mutex_t; typedef pthread_cond_t __gthread_cond_t; typedef struct timespec __gthread_time_t; # 118 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"))); static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"))); static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"))); static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"))); static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"))); static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"))); static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"))); static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"))); static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"))); static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"))); static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); # 237 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_active_p (void) { static void *const __gthread_active_ptr = __extension__ (void *) &__gthrw_pthread_cancel; return __gthread_active_ptr != 0; } # 675 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_create (__gthread_t *__threadid, void *(*__func) (void*), void *__args) { return __gthrw_pthread_create (__threadid, __null, __func, __args); } static inline int __gthread_join (__gthread_t __threadid, void **__value_ptr) { return __gthrw_pthread_join (__threadid, __value_ptr); } static inline int __gthread_detach (__gthread_t __threadid) { return __gthrw_pthread_detach (__threadid); } static inline int __gthread_equal (__gthread_t __t1, __gthread_t __t2) { return __gthrw_pthread_equal (__t1, __t2); } static inline __gthread_t __gthread_self (void) { return __gthrw_pthread_self (); } static inline int __gthread_yield (void) { return __gthrw_sched_yield (); } static inline int __gthread_once (__gthread_once_t *__once, void (*__func) (void)) { if (__gthread_active_p ()) return __gthrw_pthread_once (__once, __func); else return -1; } static inline int __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) { return __gthrw_pthread_key_create (__key, __dtor); } static inline int __gthread_key_delete (__gthread_key_t __key) { return __gthrw_pthread_key_delete (__key); } static inline void * __gthread_getspecific (__gthread_key_t __key) { return __gthrw_pthread_getspecific (__key); } static inline int __gthread_setspecific (__gthread_key_t __key, const void *__ptr) { return __gthrw_pthread_setspecific (__key, __ptr); } static inline int __gthread_mutex_destroy (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_destroy (__mutex); else return 0; } static inline int __gthread_mutex_lock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_lock (__mutex); else return 0; } static inline int __gthread_mutex_trylock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_trylock (__mutex); else return 0; } static inline int __gthread_mutex_timedlock (__gthread_mutex_t *__mutex, const __gthread_time_t *__abs_timeout) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout); else return 0; } static inline int __gthread_mutex_unlock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_unlock (__mutex); else return 0; } # 818 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) { return __gthread_mutex_lock (__mutex); } static inline int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) { return __gthread_mutex_trylock (__mutex); } static inline int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, const __gthread_time_t *__abs_timeout) { return __gthread_mutex_timedlock (__mutex, __abs_timeout); } static inline int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) { return __gthread_mutex_unlock (__mutex); } static inline int __gthread_cond_broadcast (__gthread_cond_t *__cond) { return __gthrw_pthread_cond_broadcast (__cond); } static inline int __gthread_cond_signal (__gthread_cond_t *__cond) { return __gthrw_pthread_cond_signal (__cond); } static inline int __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) { return __gthrw_pthread_cond_wait (__cond, __mutex); } static inline int __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, const __gthread_time_t *__abs_timeout) { return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout); } static inline int __gthread_cond_wait_recursive (__gthread_cond_t *__cond, __gthread_recursive_mutex_t *__mutex) { return __gthread_cond_wait (__cond, __mutex); } static inline int __gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, __gthread_recursive_mutex_t *__mutex, const __gthread_time_t *__abs_timeout) { return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); } static inline int __gthread_cond_destroy (__gthread_cond_t* __cond) { return __gthrw_pthread_cond_destroy (__cond); } # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 2 3 #pragma GCC visibility pop # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/atomicity.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h" 1 3 # 32 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h" 3 typedef int _Atomic_word; # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/atomicity.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { static inline _Atomic_word __exchange_and_add(volatile _Atomic_word* __mem, int __val) { return __sync_fetch_and_add(__mem, __val); } static inline void __atomic_add(volatile _Atomic_word* __mem, int __val) { __sync_fetch_and_add(__mem, __val); } # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ext/atomicity.h" 3 static inline _Atomic_word __exchange_and_add_single(_Atomic_word* __mem, int __val) { _Atomic_word __result = *__mem; *__mem += __val; return __result; } static inline void __atomic_add_single(_Atomic_word* __mem, int __val) { *__mem += __val; } static inline _Atomic_word __attribute__ ((__unused__)) __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) { if (__gthread_active_p()) return __exchange_and_add(__mem, __val); else return __exchange_and_add_single(__mem, __val); } static inline void __attribute__ ((__unused__)) __atomic_add_dispatch(_Atomic_word* __mem, int __val) { if (__gthread_active_p()) __atomic_add(__mem, __val); else __atomic_add_single(__mem, __val); } } # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/initializer_list" 1 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/initializer_list" 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/initializer_list" 3 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 103 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template class basic_string { typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type; public: typedef _Traits traits_type; typedef typename _Traits::char_type value_type; typedef _Alloc allocator_type; typedef typename _CharT_alloc_type::size_type size_type; typedef typename _CharT_alloc_type::difference_type difference_type; typedef typename _CharT_alloc_type::reference reference; typedef typename _CharT_alloc_type::const_reference const_reference; typedef typename _CharT_alloc_type::pointer pointer; typedef typename _CharT_alloc_type::const_pointer const_pointer; typedef __gnu_cxx::__normal_iterator iterator; typedef __gnu_cxx::__normal_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; private: # 140 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 struct _Rep_base { size_type _M_length; size_type _M_capacity; _Atomic_word _M_refcount; }; struct _Rep : _Rep_base { typedef typename _Alloc::template rebind::other _Raw_bytes_alloc; # 165 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 static const size_type _S_max_size; static const _CharT _S_terminal; static size_type _S_empty_rep_storage[]; static _Rep& _S_empty_rep() { void* __p = reinterpret_cast(&_S_empty_rep_storage); return *reinterpret_cast<_Rep*>(__p); } bool _M_is_leaked() const { return this->_M_refcount < 0; } bool _M_is_shared() const { return this->_M_refcount > 0; } void _M_set_leaked() { this->_M_refcount = -1; } void _M_set_sharable() { this->_M_refcount = 0; } void _M_set_length_and_sharable(size_type __n) { if (__builtin_expect(this != &_S_empty_rep(), false)) { this->_M_set_sharable(); this->_M_length = __n; traits_type::assign(this->_M_refdata()[__n], _S_terminal); } } _CharT* _M_refdata() throw() { return reinterpret_cast<_CharT*>(this + 1); } _CharT* _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) { return (!_M_is_leaked() && __alloc1 == __alloc2) ? _M_refcopy() : _M_clone(__alloc1); } static _Rep* _S_create(size_type, size_type, const _Alloc&); void _M_dispose(const _Alloc& __a) { if (__builtin_expect(this != &_S_empty_rep(), false)) if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) _M_destroy(__a); } void _M_destroy(const _Alloc&) throw(); _CharT* _M_refcopy() throw() { if (__builtin_expect(this != &_S_empty_rep(), false)) __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1); return _M_refdata(); } _CharT* _M_clone(const _Alloc&, size_type __res = 0); }; struct _Alloc_hider : _Alloc { _Alloc_hider(_CharT* __dat, const _Alloc& __a) : _Alloc(__a), _M_p(__dat) { } _CharT* _M_p; }; public: static const size_type npos = static_cast(-1); private: mutable _Alloc_hider _M_dataplus; _CharT* _M_data() const { return _M_dataplus._M_p; } _CharT* _M_data(_CharT* __p) { return (_M_dataplus._M_p = __p); } _Rep* _M_rep() const { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } iterator _M_ibegin() const { return iterator(_M_data()); } iterator _M_iend() const { return iterator(_M_data() + this->size()); } void _M_leak() { if (!_M_rep()->_M_is_leaked()) _M_leak_hard(); } size_type _M_check(size_type __pos, const char* __s) const { if (__pos > this->size()) __throw_out_of_range((__s)); return __pos; } void _M_check_length(size_type __n1, size_type __n2, const char* __s) const { if (this->max_size() - (this->size() - __n1) < __n2) __throw_length_error((__s)); } size_type _M_limit(size_type __pos, size_type __off) const { const bool __testoff = __off < this->size() - __pos; return __testoff ? __off : this->size() - __pos; } bool _M_disjunct(const _CharT* __s) const { return (less()(__s, _M_data()) || less()(_M_data() + this->size(), __s)); } static void _M_copy(_CharT* __d, const _CharT* __s, size_type __n) { if (__n == 1) traits_type::assign(*__d, *__s); else traits_type::copy(__d, __s, __n); } static void _M_move(_CharT* __d, const _CharT* __s, size_type __n) { if (__n == 1) traits_type::assign(*__d, *__s); else traits_type::move(__d, __s, __n); } static void _M_assign(_CharT* __d, size_type __n, _CharT __c) { if (__n == 1) traits_type::assign(*__d, __c); else traits_type::assign(__d, __n, __c); } template static void _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) { for (; __k1 != __k2; ++__k1, ++__p) traits_type::assign(*__p, *__k1); } static void _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) { _S_copy_chars(__p, __k1.base(), __k2.base()); } static void _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) { _S_copy_chars(__p, __k1.base(), __k2.base()); } static void _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) { _M_copy(__p, __k1, __k2 - __k1); } static void _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) { _M_copy(__p, __k1, __k2 - __k1); } static int _S_compare(size_type __n1, size_type __n2) { const difference_type __d = difference_type(__n1 - __n2); if (__d > __gnu_cxx::__numeric_traits::__max) return __gnu_cxx::__numeric_traits::__max; else if (__d < __gnu_cxx::__numeric_traits::__min) return __gnu_cxx::__numeric_traits::__min; else return int(__d); } void _M_mutate(size_type __pos, size_type __len1, size_type __len2); void _M_leak_hard(); static _Rep& _S_empty_rep() { return _Rep::_S_empty_rep(); } public: basic_string() : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { } explicit basic_string(const _Alloc& __a); basic_string(const basic_string& __str); basic_string(const basic_string& __str, size_type __pos, size_type __n = npos); basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Alloc& __a); # 468 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string(const _CharT* __s, size_type __n, const _Alloc& __a = _Alloc()); basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()); # 516 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a = _Alloc()); ~basic_string() { _M_rep()->_M_dispose(this->get_allocator()); } basic_string& operator=(const basic_string& __str) { return this->assign(__str); } basic_string& operator=(const _CharT* __s) { return this->assign(__s); } # 549 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& operator=(_CharT __c) { this->assign(1, __c); return *this; } # 589 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 iterator begin() { _M_leak(); return iterator(_M_data()); } const_iterator begin() const { return const_iterator(_M_data()); } iterator end() { _M_leak(); return iterator(_M_data() + this->size()); } const_iterator end() const { return const_iterator(_M_data() + this->size()); } reverse_iterator rbegin() { return reverse_iterator(this->end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(this->end()); } reverse_iterator rend() { return reverse_iterator(this->begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(this->begin()); } # 695 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 public: size_type size() const { return _M_rep()->_M_length; } size_type length() const { return _M_rep()->_M_length; } size_type max_size() const { return _Rep::_S_max_size; } # 724 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 void resize(size_type __n, _CharT __c); # 737 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 void resize(size_type __n) { this->resize(__n, _CharT()); } # 757 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type capacity() const { return _M_rep()->_M_capacity; } # 778 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 void reserve(size_type __res_arg = 0); void clear() { _M_mutate(0, this->size(), 0); } bool empty() const { return this->size() == 0; } # 807 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 const_reference operator[] (size_type __pos) const { ; return _M_data()[__pos]; } # 824 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 reference operator[](size_type __pos) { ; ; _M_leak(); return _M_data()[__pos]; } # 845 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 const_reference at(size_type __n) const { if (__n >= this->size()) __throw_out_of_range(("basic_string::at")); return _M_data()[__n]; } # 864 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 reference at(size_type __n) { if (__n >= size()) __throw_out_of_range(("basic_string::at")); _M_leak(); return _M_data()[__n]; } basic_string& operator+=(const basic_string& __str) { return this->append(__str); } basic_string& operator+=(const _CharT* __s) { return this->append(__s); } basic_string& operator+=(_CharT __c) { this->push_back(__c); return *this; } # 920 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& append(const basic_string& __str); # 935 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& append(const basic_string& __str, size_type __pos, size_type __n); basic_string& append(const _CharT* __s, size_type __n); basic_string& append(const _CharT* __s) { ; return this->append(__s, traits_type::length(__s)); } # 967 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& append(size_type __n, _CharT __c); # 989 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template basic_string& append(_InputIterator __first, _InputIterator __last) { return this->replace(_M_iend(), _M_iend(), __first, __last); } void push_back(_CharT __c) { const size_type __len = 1 + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); traits_type::assign(_M_data()[this->size()], __c); _M_rep()->_M_set_length_and_sharable(__len); } basic_string& assign(const basic_string& __str); # 1045 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& assign(const basic_string& __str, size_type __pos, size_type __n) { return this->assign(__str._M_data() + __str._M_check(__pos, "basic_string::assign"), __str._M_limit(__pos, __n)); } # 1061 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s, size_type __n); # 1073 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s) { ; return this->assign(__s, traits_type::length(__s)); } # 1089 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& assign(size_type __n, _CharT __c) { return _M_replace_aux(size_type(0), this->size(), __n, __c); } # 1101 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template basic_string& assign(_InputIterator __first, _InputIterator __last) { return this->replace(_M_ibegin(), _M_iend(), __first, __last); } # 1129 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 void insert(iterator __p, size_type __n, _CharT __c) { this->replace(__p, __p, __n, __c); } # 1144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template void insert(iterator __p, _InputIterator __beg, _InputIterator __end) { this->replace(__p, __p, __beg, __end); } # 1175 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& insert(size_type __pos1, const basic_string& __str) { return this->insert(__pos1, __str, size_type(0), __str.size()); } # 1197 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n) { return this->insert(__pos1, __str._M_data() + __str._M_check(__pos2, "basic_string::insert"), __str._M_limit(__pos2, __n)); } # 1220 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& insert(size_type __pos, const _CharT* __s, size_type __n); # 1238 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& insert(size_type __pos, const _CharT* __s) { ; return this->insert(__pos, __s, traits_type::length(__s)); } # 1261 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& insert(size_type __pos, size_type __n, _CharT __c) { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), size_type(0), __n, __c); } # 1278 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 iterator insert(iterator __p, _CharT __c) { ; const size_type __pos = __p - _M_ibegin(); _M_replace_aux(__pos, size_type(0), size_type(1), __c); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } # 1302 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& erase(size_type __pos = 0, size_type __n = npos) { _M_mutate(_M_check(__pos, "basic_string::erase"), _M_limit(__pos, __n), size_type(0)); return *this; } # 1318 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 iterator erase(iterator __position) { ; const size_type __pos = __position - _M_ibegin(); _M_mutate(__pos, size_type(1), size_type(0)); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } # 1338 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 iterator erase(iterator __first, iterator __last); # 1357 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n, const basic_string& __str) { return this->replace(__pos, __n, __str._M_data(), __str.size()); } # 1379 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) { return this->replace(__pos1, __n1, __str._M_data() + __str._M_check(__pos2, "basic_string::replace"), __str._M_limit(__pos2, __n2)); } # 1403 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2); # 1422 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s) { ; return this->replace(__pos, __n1, __s, traits_type::length(__s)); } # 1445 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), _M_limit(__pos, __n1), __n2, __c); } # 1463 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const basic_string& __str) { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } # 1481 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n) { ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n); } # 1502 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const _CharT* __s) { ; return this->replace(__i1, __i2, __s, traits_type::length(__s)); } # 1523 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, size_type __n, _CharT __c) { ; return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c); } # 1545 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template basic_string& replace(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2) { ; ; typedef typename std::__is_integer<_InputIterator>::__type _Integral; return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral()); } basic_string& replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1, __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, const _CharT* __k1, const _CharT* __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1, __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1.base(), __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, const_iterator __k1, const_iterator __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1.base(), __k2 - __k1); } # 1620 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 private: template basic_string& _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n, _Integer __val, __true_type) { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); } template basic_string& _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2, __false_type); basic_string& _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, _CharT __c); basic_string& _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, size_type __n2); template static _CharT* _S_construct_aux(_InIterator __beg, _InIterator __end, const _Alloc& __a, __false_type) { typedef typename iterator_traits<_InIterator>::iterator_category _Tag; return _S_construct(__beg, __end, __a, _Tag()); } template static _CharT* _S_construct_aux(_Integer __beg, _Integer __end, const _Alloc& __a, __true_type) { return _S_construct_aux_2(static_cast(__beg), __end, __a); } static _CharT* _S_construct_aux_2(size_type __req, _CharT __c, const _Alloc& __a) { return _S_construct(__req, __c, __a); } template static _CharT* _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) { typedef typename std::__is_integer<_InIterator>::__type _Integral; return _S_construct_aux(__beg, __end, __a, _Integral()); } template static _CharT* _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, input_iterator_tag); template static _CharT* _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, forward_iterator_tag); static _CharT* _S_construct(size_type __req, _CharT __c, const _Alloc& __a); public: # 1701 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const; # 1711 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 void swap(basic_string& __s); # 1721 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 const _CharT* c_str() const { return _M_data(); } const _CharT* data() const { return _M_data(); } allocator_type get_allocator() const { return _M_dataplus; } # 1753 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos, size_type __n) const; # 1766 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find(const basic_string& __str, size_type __pos = 0) const { return this->find(__str.data(), __pos, __str.size()); } # 1780 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos = 0) const { ; return this->find(__s, __pos, traits_type::length(__s)); } # 1797 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find(_CharT __c, size_type __pos = 0) const; # 1810 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type rfind(const basic_string& __str, size_type __pos = npos) const { return this->rfind(__str.data(), __pos, __str.size()); } # 1825 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const; # 1838 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos = npos) const { ; return this->rfind(__s, __pos, traits_type::length(__s)); } # 1855 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type rfind(_CharT __c, size_type __pos = npos) const; # 1868 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_first_of(const basic_string& __str, size_type __pos = 0) const { return this->find_first_of(__str.data(), __pos, __str.size()); } # 1883 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; # 1896 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos = 0) const { ; return this->find_first_of(__s, __pos, traits_type::length(__s)); } # 1915 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_first_of(_CharT __c, size_type __pos = 0) const { return this->find(__c, __pos); } # 1929 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_last_of(const basic_string& __str, size_type __pos = npos) const { return this->find_last_of(__str.data(), __pos, __str.size()); } # 1944 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; # 1957 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos = npos) const { ; return this->find_last_of(__s, __pos, traits_type::length(__s)); } # 1976 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_last_of(_CharT __c, size_type __pos = npos) const { return this->rfind(__c, __pos); } # 1990 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_first_not_of(const basic_string& __str, size_type __pos = 0) const { return this->find_first_not_of(__str.data(), __pos, __str.size()); } # 2005 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const; # 2019 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos = 0) const { ; return this->find_first_not_of(__s, __pos, traits_type::length(__s)); } # 2036 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_first_not_of(_CharT __c, size_type __pos = 0) const; # 2049 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_last_not_of(const basic_string& __str, size_type __pos = npos) const { return this->find_last_not_of(__str.data(), __pos, __str.size()); } # 2065 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const; # 2078 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos = npos) const { ; return this->find_last_not_of(__s, __pos, traits_type::length(__s)); } # 2095 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 size_type find_last_not_of(_CharT __c, size_type __pos = npos) const; # 2110 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 basic_string substr(size_type __pos = 0, size_type __n = npos) const { return basic_string(*this, _M_check(__pos, "basic_string::substr"), __n); } # 2128 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 int compare(const basic_string& __str) const { const size_type __size = this->size(); const size_type __osize = __str.size(); const size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __str.data(), __len); if (!__r) __r = _S_compare(__size, __osize); return __r; } # 2158 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n, const basic_string& __str) const; # 2182 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const; # 2200 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 int compare(const _CharT* __s) const; # 2223 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n1, const _CharT* __s) const; # 2248 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) const; }; # 2260 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { basic_string<_CharT, _Traits, _Alloc> __str(__lhs); __str.append(__rhs); return __str; } template basic_string<_CharT,_Traits,_Alloc> operator+(const _CharT* __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); template basic_string<_CharT,_Traits,_Alloc> operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { basic_string<_CharT, _Traits, _Alloc> __str(__lhs); __str.append(__rhs); return __str; } template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; __string_type __str(__lhs); __str.append(__size_type(1), __rhs); return __str; } # 2331 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) == 0; } template inline typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type operator==(const basic_string<_CharT>& __lhs, const basic_string<_CharT>& __rhs) { return (__lhs.size() == __rhs.size() && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), __lhs.size())); } template inline bool operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) == 0; } template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) == 0; } # 2377 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return !(__lhs == __rhs); } template inline bool operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return !(__lhs == __rhs); } template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return !(__lhs == __rhs); } # 2414 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) < 0; } template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) < 0; } template inline bool operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) > 0; } # 2451 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) > 0; } template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) > 0; } template inline bool operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) < 0; } # 2488 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) <= 0; } template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) <= 0; } template inline bool operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) >= 0; } # 2525 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) >= 0; } template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) >= 0; } template inline bool operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) <= 0; } # 2562 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline void swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, basic_string<_CharT, _Traits, _Alloc>& __rhs) { __lhs.swap(__rhs); } # 2579 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str); template<> basic_istream& operator>>(basic_istream& __is, basic_string& __str); # 2597 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Alloc>& __str) { return __ostream_insert(__os, __str.data(), __str.size()); } # 2620 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); # 2638 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h" 3 template inline basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str) { return getline(__is, __str, __is.widen('\n')); } template<> basic_istream& getline(basic_istream& __in, basic_string& __str, char __delim); template<> basic_istream& getline(basic_istream& __in, basic_string& __str, wchar_t __delim); } # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.tcc" 1 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.tcc" 3 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template const typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4; template const _CharT basic_string<_CharT, _Traits, _Alloc>:: _Rep::_S_terminal = _CharT(); template const typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>::npos; template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[ (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) / sizeof(size_type)]; template template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, input_iterator_tag) { if (__beg == __end && __a == _Alloc()) return _S_empty_rep()._M_refdata(); _CharT __buf[128]; size_type __len = 0; while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT)) { __buf[__len++] = *__beg; ++__beg; } _Rep* __r = _Rep::_S_create(__len, size_type(0), __a); _M_copy(__r->_M_refdata(), __buf, __len); try { while (__beg != __end) { if (__len == __r->_M_capacity) { _Rep* __another = _Rep::_S_create(__len + 1, __len, __a); _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len); __r->_M_destroy(__a); __r = __another; } __r->_M_refdata()[__len++] = *__beg; ++__beg; } } catch(...) { __r->_M_destroy(__a); throw; } __r->_M_set_length_and_sharable(__len); return __r->_M_refdata(); } template template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, forward_iterator_tag) { if (__beg == __end && __a == _Alloc()) return _S_empty_rep()._M_refdata(); if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) __throw_logic_error(("basic_string::_S_construct NULL not valid")); const size_type __dnew = static_cast(std::distance(__beg, __end)); _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a); try { _S_copy_chars(__r->_M_refdata(), __beg, __end); } catch(...) { __r->_M_destroy(__a); throw; } __r->_M_set_length_and_sharable(__dnew); return __r->_M_refdata(); } template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(size_type __n, _CharT __c, const _Alloc& __a) { if (__n == 0 && __a == _Alloc()) return _S_empty_rep()._M_refdata(); _Rep* __r = _Rep::_S_create(__n, size_type(0), __a); if (__n) _M_assign(__r->_M_refdata(), __n, __c); __r->_M_set_length_and_sharable(__n); return __r->_M_refdata(); } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str) : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()), __str.get_allocator()), __str.get_allocator()) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _Alloc& __a) : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str, size_type __pos, size_type __n) : _M_dataplus(_S_construct(__str._M_data() + __str._M_check(__pos, "basic_string::basic_string"), __str._M_data() + __str._M_limit(__pos, __n) + __pos, _Alloc()), _Alloc()) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Alloc& __a) : _M_dataplus(_S_construct(__str._M_data() + __str._M_check(__pos, "basic_string::basic_string"), __str._M_data() + __str._M_limit(__pos, __n) + __pos, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _CharT* __s, size_type __n, const _Alloc& __a) : _M_dataplus(_S_construct(__s, __s + __n, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _CharT* __s, const _Alloc& __a) : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : __s + npos, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(size_type __n, _CharT __c, const _Alloc& __a) : _M_dataplus(_S_construct(__n, __c, __a), __a) { } template template basic_string<_CharT, _Traits, _Alloc>:: basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a) : _M_dataplus(_S_construct(__beg, __end, __a), __a) { } # 240 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.tcc" 3 template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: assign(const basic_string& __str) { if (_M_rep() != __str._M_rep()) { const allocator_type __a = this->get_allocator(); _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); _M_rep()->_M_dispose(__a); _M_data(__tmp); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: assign(const _CharT* __s, size_type __n) { ; _M_check_length(this->size(), __n, "basic_string::assign"); if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(size_type(0), this->size(), __s, __n); else { const size_type __pos = __s - _M_data(); if (__pos >= __n) _M_copy(_M_data(), __s, __n); else if (__pos) _M_move(_M_data(), __s, __n); _M_rep()->_M_set_length_and_sharable(__n); return *this; } } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(size_type __n, _CharT __c) { if (__n) { _M_check_length(size_type(0), __n, "basic_string::append"); const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_assign(_M_data() + this->size(), __n, __c); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const _CharT* __s, size_type __n) { ; if (__n) { _M_check_length(size_type(0), __n, "basic_string::append"); const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) { if (_M_disjunct(__s)) this->reserve(__len); else { const size_type __off = __s - _M_data(); this->reserve(__len); __s = _M_data() + __off; } } _M_copy(_M_data() + this->size(), __s, __n); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const basic_string& __str) { const size_type __size = __str.size(); if (__size) { const size_type __len = __size + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_copy(_M_data() + this->size(), __str._M_data(), __size); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const basic_string& __str, size_type __pos, size_type __n) { __str._M_check(__pos, "basic_string::append"); __n = __str._M_limit(__pos, __n); if (__n) { const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: insert(size_type __pos, const _CharT* __s, size_type __n) { ; _M_check(__pos, "basic_string::insert"); _M_check_length(size_type(0), __n, "basic_string::insert"); if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(__pos, size_type(0), __s, __n); else { const size_type __off = __s - _M_data(); _M_mutate(__pos, 0, __n); __s = _M_data() + __off; _CharT* __p = _M_data() + __pos; if (__s + __n <= __p) _M_copy(__p, __s, __n); else if (__s >= __p) _M_copy(__p, __s + __n, __n); else { const size_type __nleft = __p - __s; _M_copy(__p, __s, __nleft); _M_copy(__p + __nleft, __p + __n, __n - __nleft); } return *this; } } template typename basic_string<_CharT, _Traits, _Alloc>::iterator basic_string<_CharT, _Traits, _Alloc>:: erase(iterator __first, iterator __last) { ; const size_type __size = __last - __first; if (__size) { const size_type __pos = __first - _M_ibegin(); _M_mutate(__pos, __size, size_type(0)); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } else return __first; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: replace(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) { ; _M_check(__pos, "basic_string::replace"); __n1 = _M_limit(__pos, __n1); _M_check_length(__n1, __n2, "basic_string::replace"); bool __left; if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(__pos, __n1, __s, __n2); else if ((__left = __s + __n2 <= _M_data() + __pos) || _M_data() + __pos + __n1 <= __s) { size_type __off = __s - _M_data(); __left ? __off : (__off += __n2 - __n1); _M_mutate(__pos, __n1, __n2); _M_copy(_M_data() + __pos, _M_data() + __off, __n2); return *this; } else { const basic_string __tmp(__s, __n2); return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2); } } template void basic_string<_CharT, _Traits, _Alloc>::_Rep:: _M_destroy(const _Alloc& __a) throw () { const size_type __size = sizeof(_Rep_base) + (this->_M_capacity + 1) * sizeof(_CharT); _Raw_bytes_alloc(__a).deallocate(reinterpret_cast(this), __size); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_leak_hard() { if (_M_rep() == &_S_empty_rep()) return; if (_M_rep()->_M_is_shared()) _M_mutate(0, 0, 0); _M_rep()->_M_set_leaked(); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_mutate(size_type __pos, size_type __len1, size_type __len2) { const size_type __old_size = this->size(); const size_type __new_size = __old_size + __len2 - __len1; const size_type __how_much = __old_size - __pos - __len1; if (__new_size > this->capacity() || _M_rep()->_M_is_shared()) { const allocator_type __a = get_allocator(); _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a); if (__pos) _M_copy(__r->_M_refdata(), _M_data(), __pos); if (__how_much) _M_copy(__r->_M_refdata() + __pos + __len2, _M_data() + __pos + __len1, __how_much); _M_rep()->_M_dispose(__a); _M_data(__r->_M_refdata()); } else if (__how_much && __len1 != __len2) { _M_move(_M_data() + __pos + __len2, _M_data() + __pos + __len1, __how_much); } _M_rep()->_M_set_length_and_sharable(__new_size); } template void basic_string<_CharT, _Traits, _Alloc>:: reserve(size_type __res) { if (__res != this->capacity() || _M_rep()->_M_is_shared()) { if (__res < this->size()) __res = this->size(); const allocator_type __a = get_allocator(); _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size()); _M_rep()->_M_dispose(__a); _M_data(__tmp); } } template void basic_string<_CharT, _Traits, _Alloc>:: swap(basic_string& __s) { if (_M_rep()->_M_is_leaked()) _M_rep()->_M_set_sharable(); if (__s._M_rep()->_M_is_leaked()) __s._M_rep()->_M_set_sharable(); if (this->get_allocator() == __s.get_allocator()) { _CharT* __tmp = _M_data(); _M_data(__s._M_data()); __s._M_data(__tmp); } else { const basic_string __tmp1(_M_ibegin(), _M_iend(), __s.get_allocator()); const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(), this->get_allocator()); *this = __tmp2; __s = __tmp1; } } template typename basic_string<_CharT, _Traits, _Alloc>::_Rep* basic_string<_CharT, _Traits, _Alloc>::_Rep:: _S_create(size_type __capacity, size_type __old_capacity, const _Alloc& __alloc) { if (__capacity > _S_max_size) __throw_length_error(("basic_string::_S_create")); # 577 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.tcc" 3 const size_type __pagesize = 4096; const size_type __malloc_header_size = 4 * sizeof(void*); if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) __capacity = 2 * __old_capacity; size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); const size_type __adj_size = __size + __malloc_header_size; if (__adj_size > __pagesize && __capacity > __old_capacity) { const size_type __extra = __pagesize - __adj_size % __pagesize; __capacity += __extra / sizeof(_CharT); if (__capacity > _S_max_size) __capacity = _S_max_size; __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); } void* __place = _Raw_bytes_alloc(__alloc).allocate(__size); _Rep *__p = new (__place) _Rep; __p->_M_capacity = __capacity; __p->_M_set_sharable(); return __p; } template _CharT* basic_string<_CharT, _Traits, _Alloc>::_Rep:: _M_clone(const _Alloc& __alloc, size_type __res) { const size_type __requested_cap = this->_M_length + __res; _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity, __alloc); if (this->_M_length) _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length); __r->_M_set_length_and_sharable(this->_M_length); return __r->_M_refdata(); } template void basic_string<_CharT, _Traits, _Alloc>:: resize(size_type __n, _CharT __c) { const size_type __size = this->size(); _M_check_length(__size, __n, "basic_string::resize"); if (__size < __n) this->append(__n - __size, __c); else if (__n < __size) this->erase(__n); } template template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2, __false_type) { const basic_string __s(__k1, __k2); const size_type __n1 = __i2 - __i1; _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch"); return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(), __s.size()); } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, _CharT __c) { _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); _M_mutate(__pos1, __n1, __n2); if (__n2) _M_assign(_M_data() + __pos1, __n2, __c); return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, size_type __n2) { _M_mutate(__pos1, __n1, __n2); if (__n2) _M_copy(_M_data() + __pos1, __s, __n2); return *this; } template basic_string<_CharT, _Traits, _Alloc> operator+(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { ; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; const __size_type __len = _Traits::length(__lhs); __string_type __str; __str.reserve(__len + __rhs.size()); __str.append(__lhs, __len); __str.append(__rhs); return __str; } template basic_string<_CharT, _Traits, _Alloc> operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; __string_type __str; const __size_type __len = __rhs.size(); __str.reserve(__len + 1); __str.append(__size_type(1), __lhs); __str.append(__rhs); return __str; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: copy(_CharT* __s, size_type __n, size_type __pos) const { _M_check(__pos, "basic_string::copy"); __n = _M_limit(__pos, __n); ; if (__n) _M_copy(__s, _M_data() + __pos, __n); return __n; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find(const _CharT* __s, size_type __pos, size_type __n) const { ; const size_type __size = this->size(); const _CharT* __data = _M_data(); if (__n == 0) return __pos <= __size ? __pos : npos; if (__n <= __size) { for (; __pos <= __size - __n; ++__pos) if (traits_type::eq(__data[__pos], __s[0]) && traits_type::compare(__data + __pos + 1, __s + 1, __n - 1) == 0) return __pos; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find(_CharT __c, size_type __pos) const { size_type __ret = npos; const size_type __size = this->size(); if (__pos < __size) { const _CharT* __data = _M_data(); const size_type __n = __size - __pos; const _CharT* __p = traits_type::find(__data + __pos, __n, __c); if (__p) __ret = __p - __data; } return __ret; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: rfind(const _CharT* __s, size_type __pos, size_type __n) const { ; const size_type __size = this->size(); if (__n <= __size) { __pos = std::min(size_type(__size - __n), __pos); const _CharT* __data = _M_data(); do { if (traits_type::compare(__data + __pos, __s, __n) == 0) return __pos; } while (__pos-- > 0); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: rfind(_CharT __c, size_type __pos) const { size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; for (++__size; __size-- > 0; ) if (traits_type::eq(_M_data()[__size], __c)) return __size; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const { ; for (; __n && __pos < this->size(); ++__pos) { const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); if (__p) return __pos; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const { ; size_type __size = this->size(); if (__size && __n) { if (--__size > __pos) __size = __pos; do { if (traits_type::find(__s, __n, _M_data()[__size])) return __size; } while (__size-- != 0); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const { ; for (; __pos < this->size(); ++__pos) if (!traits_type::find(__s, __n, _M_data()[__pos])) return __pos; return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_not_of(_CharT __c, size_type __pos) const { for (; __pos < this->size(); ++__pos) if (!traits_type::eq(_M_data()[__pos], __c)) return __pos; return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const { ; size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; do { if (!traits_type::find(__s, __n, _M_data()[__size])) return __size; } while (__size--); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_not_of(_CharT __c, size_type __pos) const { size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; do { if (!traits_type::eq(_M_data()[__size], __c)) return __size; } while (__size--); } return npos; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n, const basic_string& __str) const { _M_check(__pos, "basic_string::compare"); __n = _M_limit(__pos, __n); const size_type __osize = __str.size(); const size_type __len = std::min(__n, __osize); int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); if (!__r) __r = _S_compare(__n, __osize); return __r; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const { _M_check(__pos1, "basic_string::compare"); __str._M_check(__pos2, "basic_string::compare"); __n1 = _M_limit(__pos1, __n1); __n2 = __str._M_limit(__pos2, __n2); const size_type __len = std::min(__n1, __n2); int __r = traits_type::compare(_M_data() + __pos1, __str.data() + __pos2, __len); if (!__r) __r = _S_compare(__n1, __n2); return __r; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(const _CharT* __s) const { ; const size_type __size = this->size(); const size_type __osize = traits_type::length(__s); const size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __s, __len); if (!__r) __r = _S_compare(__size, __osize); return __r; } template int basic_string <_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n1, const _CharT* __s) const { ; _M_check(__pos, "basic_string::compare"); __n1 = _M_limit(__pos, __n1); const size_type __osize = traits_type::length(__s); const size_type __len = std::min(__n1, __osize); int __r = traits_type::compare(_M_data() + __pos, __s, __len); if (!__r) __r = _S_compare(__n1, __osize); return __r; } template int basic_string <_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) const { ; _M_check(__pos, "basic_string::compare"); __n1 = _M_limit(__pos, __n1); const size_type __len = std::min(__n1, __n2); int __r = traits_type::compare(_M_data() + __pos, __s, __len); if (!__r) __r = _S_compare(__n1, __n2); return __r; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, basic_string<_CharT, _Traits, _Alloc>& __str) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __istream_type::ios_base __ios_base; typedef typename __istream_type::int_type __int_type; typedef typename __string_type::size_type __size_type; typedef ctype<_CharT> __ctype_type; typedef typename __ctype_type::ctype_base __ctype_base; __size_type __extracted = 0; typename __ios_base::iostate __err = __ios_base::goodbit; typename __istream_type::sentry __cerb(__in, false); if (__cerb) { try { __str.erase(); _CharT __buf[128]; __size_type __len = 0; const streamsize __w = __in.width(); const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) : __str.max_size(); const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const __int_type __eof = _Traits::eof(); __int_type __c = __in.rdbuf()->sgetc(); while (__extracted < __n && !_Traits::eq_int_type(__c, __eof) && !__ct.is(__ctype_base::space, _Traits::to_char_type(__c))) { if (__len == sizeof(__buf) / sizeof(_CharT)) { __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); __len = 0; } __buf[__len++] = _Traits::to_char_type(__c); ++__extracted; __c = __in.rdbuf()->snextc(); } __str.append(__buf, __len); if (_Traits::eq_int_type(__c, __eof)) __err |= __ios_base::eofbit; __in.width(0); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(__ios_base::badbit); throw; } catch(...) { __in._M_setstate(__ios_base::badbit); } } if (!__extracted) __err |= __ios_base::failbit; if (__err) __in.setstate(__err); return __in; } template basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __in, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __istream_type::ios_base __ios_base; typedef typename __istream_type::int_type __int_type; typedef typename __string_type::size_type __size_type; __size_type __extracted = 0; const __size_type __n = __str.max_size(); typename __ios_base::iostate __err = __ios_base::goodbit; typename __istream_type::sentry __cerb(__in, true); if (__cerb) { try { __str.erase(); const __int_type __idelim = _Traits::to_int_type(__delim); const __int_type __eof = _Traits::eof(); __int_type __c = __in.rdbuf()->sgetc(); while (__extracted < __n && !_Traits::eq_int_type(__c, __eof) && !_Traits::eq_int_type(__c, __idelim)) { __str += _Traits::to_char_type(__c); ++__extracted; __c = __in.rdbuf()->snextc(); } if (_Traits::eq_int_type(__c, __eof)) __err |= __ios_base::eofbit; else if (_Traits::eq_int_type(__c, __idelim)) { ++__extracted; __in.rdbuf()->sbumpc(); } else __err |= __ios_base::failbit; } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(__ios_base::badbit); throw; } catch(...) { __in._M_setstate(__ios_base::badbit); } } if (!__extracted) __err |= __ios_base::failbit; if (__err) __in.setstate(__err); return __in; } extern template class basic_string; extern template basic_istream& operator>>(basic_istream&, string&); extern template basic_ostream& operator<<(basic_ostream&, const string&); extern template basic_istream& getline(basic_istream&, string&, char); extern template basic_istream& getline(basic_istream&, string&); extern template class basic_string; extern template basic_istream& operator>>(basic_istream&, wstring&); extern template basic_ostream& operator<<(basic_ostream&, const wstring&); extern template basic_istream& getline(basic_istream&, wstring&, wchar_t); extern template basic_istream& getline(basic_istream&, wstring&); } # 57 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/string" 2 3 # 61 "/usr/include/qt4/QtCore/qstring.h" 2 typedef std::basic_string QStdWString; # 76 "/usr/include/qt4/QtCore/qstring.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QCharRef; class QRegExp; class QStringList; class QTextCodec; class QLatin1String; class QStringRef; template class QVector; class QString { public: inline QString(); QString(const QChar *unicode, int size); QString(QChar c); QString(int size, QChar c); inline QString(const QLatin1String &latin1); inline QString(const QString &); inline ~QString(); QString &operator=(QChar c); QString &operator=(const QString &); inline QString &operator=(const QLatin1String &); inline int size() const { return d->size; } inline int count() const { return d->size; } inline int length() const; inline bool isEmpty() const; void resize(int size); QString &fill(QChar c, int size = -1); void truncate(int pos); void chop(int n); int capacity() const; inline void reserve(int size); inline void squeeze() { if (d->size < d->alloc || d->ref != 1) realloc(); d->capacity = 0;} inline const QChar *unicode() const; inline QChar *data(); inline const QChar *data() const; inline const QChar *constData() const; inline void detach(); inline bool isDetached() const; void clear(); inline const QChar at(int i) const; const QChar operator[](int i) const; QCharRef operator[](int i); const QChar operator[](uint i) const; QCharRef operator[](uint i); QString arg(qlonglong a, int fieldwidth=0, int base=10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(qulonglong a, int fieldwidth=0, int base=10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(long a, int fieldwidth=0, int base=10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(ulong a, int fieldwidth=0, int base=10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(int a, int fieldWidth = 0, int base = 10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(uint a, int fieldWidth = 0, int base = 10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(short a, int fieldWidth = 0, int base = 10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(ushort a, int fieldWidth = 0, int base = 10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(double a, int fieldWidth = 0, char fmt = 'g', int prec = -1, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(char a, int fieldWidth = 0, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(QChar a, int fieldWidth = 0, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(const QString &a, int fieldWidth = 0, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8, const QString &a9) const __attribute__ ((warn_unused_result)); QString &vsprintf(const char *format, va_list ap) __attribute__ ((format (printf, 2, 0))) ; QString &sprintf(const char *format, ...) __attribute__ ((format (printf, 2, 3))) ; int indexOf(QChar c, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int indexOf(const QString &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int indexOf(const QLatin1String &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int lastIndexOf(QChar c, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int lastIndexOf(const QString &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int lastIndexOf(const QLatin1String &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline QBool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline QBool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int indexOf(const QRegExp &, int from = 0) const; int lastIndexOf(const QRegExp &, int from = -1) const; inline QBool contains(const QRegExp &rx) const { return QBool(indexOf(rx) != -1); } int count(const QRegExp &) const; int indexOf(QRegExp &, int from = 0) const; int lastIndexOf(QRegExp &, int from = -1) const; inline QBool contains(QRegExp &rx) const { return QBool(indexOf(rx) != -1); } enum SectionFlag { SectionDefault = 0x00, SectionSkipEmpty = 0x01, SectionIncludeLeadingSep = 0x02, SectionIncludeTrailingSep = 0x04, SectionCaseInsensitiveSeps = 0x08 }; typedef QFlags SectionFlags; QString section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; QString section(const QString &in_sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; QString section(const QRegExp ®, int start, int end = -1, SectionFlags flags = SectionDefault) const; QString left(int n) const __attribute__ ((warn_unused_result)); QString right(int n) const __attribute__ ((warn_unused_result)); QString mid(int position, int n = -1) const __attribute__ ((warn_unused_result)); QStringRef leftRef(int n) const __attribute__ ((warn_unused_result)); QStringRef rightRef(int n) const __attribute__ ((warn_unused_result)); QStringRef midRef(int position, int n = -1) const __attribute__ ((warn_unused_result)); bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool startsWith(const QLatin1String &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool startsWith(const QChar &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool endsWith(const QLatin1String &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool endsWith(const QChar &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; QString leftJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const __attribute__ ((warn_unused_result)); QString rightJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const __attribute__ ((warn_unused_result)); QString toLower() const __attribute__ ((warn_unused_result)); QString toUpper() const __attribute__ ((warn_unused_result)); QString toCaseFolded() const __attribute__ ((warn_unused_result)); QString trimmed() const __attribute__ ((warn_unused_result)); QString simplified() const __attribute__ ((warn_unused_result)); QString &insert(int i, QChar c); QString &insert(int i, const QChar *uc, int len); inline QString &insert(int i, const QString &s) { return insert(i, s.constData(), s.length()); } QString &insert(int i, const QLatin1String &s); QString &append(QChar c); QString &append(const QString &s); QString &append(const QStringRef &s); QString &append(const QLatin1String &s); inline QString &prepend(QChar c) { return insert(0, c); } inline QString &prepend(const QString &s) { return insert(0, s); } inline QString &prepend(const QLatin1String &s) { return insert(0, s); } inline QString &operator+=(QChar c) { if (d->ref != 1 || d->size + 1 > d->alloc) realloc(grow(d->size + 1)); d->data[d->size++] = c.unicode(); d->data[d->size] = '\0'; return *this; } inline QString &operator+=(QChar::SpecialCharacter c) { return append(QChar(c)); } inline QString &operator+=(const QString &s) { return append(s); } inline QString &operator+=(const QStringRef &s) { return append(s); } inline QString &operator+=(const QLatin1String &s) { return append(s); } QString &remove(int i, int len); QString &remove(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &remove(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(int i, int len, QChar after); QString &replace(int i, int len, const QChar *s, int slen); QString &replace(int i, int len, const QString &after); QString &replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(const QChar *before, int blen, const QChar *after, int alen, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(const QLatin1String &before, const QLatin1String &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(const QLatin1String &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(const QString &before, const QLatin1String &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(QChar c, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(QChar c, const QLatin1String &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(const QRegExp &rx, const QString &after); inline QString &remove(const QRegExp &rx) { return replace(rx, QString()); } enum SplitBehavior { KeepEmptyParts, SkipEmptyParts }; QStringList split(const QString &sep, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const __attribute__ ((warn_unused_result)); QStringList split(const QChar &sep, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const __attribute__ ((warn_unused_result)); QStringList split(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const __attribute__ ((warn_unused_result)); enum NormalizationForm { NormalizationForm_D, NormalizationForm_C, NormalizationForm_KD, NormalizationForm_KC }; QString normalized(NormalizationForm mode) const __attribute__ ((warn_unused_result)); QString normalized(NormalizationForm mode, QChar::UnicodeVersion version) const __attribute__ ((warn_unused_result)); QString repeated(int times) const; const ushort *utf16() const; QByteArray toAscii() const __attribute__ ((warn_unused_result)); QByteArray toLatin1() const __attribute__ ((warn_unused_result)); QByteArray toUtf8() const __attribute__ ((warn_unused_result)); QByteArray toLocal8Bit() const __attribute__ ((warn_unused_result)); QVector toUcs4() const __attribute__ ((warn_unused_result)); static QString fromAscii(const char *, int size = -1); static QString fromLatin1(const char *, int size = -1); static QString fromUtf8(const char *, int size = -1); static QString fromLocal8Bit(const char *, int size = -1); static QString fromUtf16(const ushort *, int size = -1); static QString fromUcs4(const uint *, int size = -1); static QString fromRawData(const QChar *, int size); int toWCharArray(wchar_t *array) const; static QString fromWCharArray(const wchar_t *, int size = -1); QString &setUnicode(const QChar *unicode, int size); inline QString &setUtf16(const ushort *utf16, int size); int compare(const QString &s) const; int compare(const QString &s, Qt::CaseSensitivity cs) const; int compare(const QLatin1String &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; static inline int compare(const QString &s1, const QString &s2) { return s1.compare(s2); } static inline int compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs) { return s1.compare(s2, cs); } static inline int compare(const QString& s1, const QLatin1String &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) { return s1.compare(s2, cs); } static inline int compare(const QLatin1String& s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) { return -s2.compare(s1, cs); } int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; static int compare(const QString &s1, const QStringRef &s2, Qt::CaseSensitivity = Qt::CaseSensitive); int localeAwareCompare(const QString& s) const; static int localeAwareCompare(const QString& s1, const QString& s2) { return s1.localeAwareCompare(s2); } int localeAwareCompare(const QStringRef &s) const; static int localeAwareCompare(const QString& s1, const QStringRef& s2); short toShort(bool *ok=0, int base=10) const; ushort toUShort(bool *ok=0, int base=10) const; int toInt(bool *ok=0, int base=10) const; uint toUInt(bool *ok=0, int base=10) const; long toLong(bool *ok=0, int base=10) const; ulong toULong(bool *ok=0, int base=10) const; qlonglong toLongLong(bool *ok=0, int base=10) const; qulonglong toULongLong(bool *ok=0, int base=10) const; float toFloat(bool *ok=0) const; double toDouble(bool *ok=0) const; QString &setNum(short, int base=10); QString &setNum(ushort, int base=10); QString &setNum(int, int base=10); QString &setNum(uint, int base=10); QString &setNum(long, int base=10); QString &setNum(ulong, int base=10); QString &setNum(qlonglong, int base=10); QString &setNum(qulonglong, int base=10); QString &setNum(float, char f='g', int prec=6); QString &setNum(double, char f='g', int prec=6); static QString number(int, int base=10); static QString number(uint, int base=10); static QString number(long, int base=10); static QString number(ulong, int base=10); static QString number(qlonglong, int base=10); static QString number(qulonglong, int base=10); static QString number(double, char f='g', int prec=6); bool operator==(const QString &s) const; bool operator<(const QString &s) const; inline bool operator>(const QString &s) const { return s < *this; } inline bool operator!=(const QString &s) const { return !operator==(s); } inline bool operator<=(const QString &s) const { return !operator>(s); } inline bool operator>=(const QString &s) const { return !operator<(s); } bool operator==(const QLatin1String &s) const; bool operator<(const QLatin1String &s) const; bool operator>(const QLatin1String &s) const; inline bool operator!=(const QLatin1String &s) const { return !operator==(s); } inline bool operator<=(const QLatin1String &s) const { return !operator>(s); } inline bool operator>=(const QLatin1String &s) const { return !operator<(s); } inline QString(const char *ch) : d(fromAscii_helper(ch)) {} inline QString(const QByteArray &a) : d(fromAscii_helper(a.constData(), qstrnlen(a.constData(), a.size()))) {} inline QString &operator=(const char *ch) { return (*this = fromAscii(ch)); } inline QString &operator=(const QByteArray &a) { return (*this = fromAscii(a.constData(), qstrnlen(a.constData(), a.size()))); } inline QString &operator=(char c) { return (*this = QChar::fromAscii(c)); } inline QString &prepend(const char *s) { return prepend(QString::fromAscii(s)); } inline QString &prepend(const QByteArray &s) { return prepend(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QString &append(const char *s) { return append(QString::fromAscii(s)); } inline QString &append(const QByteArray &s) { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QString &operator+=(const char *s) { return append(QString::fromAscii(s)); } inline QString &operator+=(const QByteArray &s) { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QString &operator+=(char c) { return append(QChar::fromAscii(c)); } inline bool operator==(const char *s) const; inline bool operator!=(const char *s) const; inline bool operator<(const char *s) const; inline bool operator<=(const char *s2) const; inline bool operator>(const char *s2) const; inline bool operator>=(const char *s2) const; inline bool operator==(const QByteArray &s) const; inline bool operator!=(const QByteArray &s) const; inline bool operator<(const QByteArray &s) const { return *this < QString::fromAscii(s.constData(), s.size()); } inline bool operator>(const QByteArray &s) const { return *this > QString::fromAscii(s.constData(), s.size()); } inline bool operator<=(const QByteArray &s) const { return *this <= QString::fromAscii(s.constData(), s.size()); } inline bool operator>=(const QByteArray &s) const { return *this >= QString::fromAscii(s.constData(), s.size()); } typedef QChar *iterator; typedef const QChar *const_iterator; typedef iterator Iterator; typedef const_iterator ConstIterator; iterator begin(); const_iterator begin() const; const_iterator constBegin() const; iterator end(); const_iterator end() const; const_iterator constEnd() const; inline void push_back(QChar c) { append(c); } inline void push_back(const QString &s) { append(s); } inline void push_front(QChar c) { prepend(c); } inline void push_front(const QString &s) { prepend(s); } static inline QString fromStdString(const std::string &s); inline std::string toStdString() const; static inline QString fromStdWString(const QStdWString &s); inline QStdWString toStdWString() const; struct Null { }; static const Null null; inline QString(const Null &): d(&shared_null) { d->ref.ref(); } inline QString &operator=(const Null &) { *this = QString(); return *this; } inline bool isNull() const { return d == &shared_null; } # 579 "/usr/include/qt4/QtCore/qstring.h" bool isSimpleText() const { if (!d->clean) updateProperties(); return d->simpletext; } bool isRightToLeft() const { if (!d->clean) updateProperties(); return d->righttoleft; } QString(int size, Qt::Initialization); private: # 594 "/usr/include/qt4/QtCore/qstring.h" struct Data { QBasicAtomicInt ref; int alloc, size; ushort *data; ushort clean : 1; ushort simpletext : 1; ushort righttoleft : 1; ushort asciiCache : 1; ushort capacity : 1; ushort reserved : 11; ushort array[1]; }; static Data shared_null; static Data shared_empty; Data *d; QString(Data *dd, int ) : d(dd) {} static QTextCodec *codecForCStrings; static int grow(int); static void free(Data *); void realloc(); void realloc(int alloc); void expand(int i); void updateProperties() const; QString multiArg(int numArgs, const QString **args) const; static int compare_helper(const QChar *data1, int length1, const QChar *data2, int length2, Qt::CaseSensitivity cs = Qt::CaseSensitive); static int compare_helper(const QChar *data1, int length1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive); static int localeAwareCompare_helper(const QChar *data1, int length1, const QChar *data2, int length2); static Data *fromLatin1_helper(const char *str, int size = -1); static Data *fromAscii_helper(const char *str, int size = -1); void replace_helper(uint *indices, int nIndices, int blen, const QChar *after, int alen); friend class QCharRef; friend class QTextCodec; friend class QStringRef; friend struct QAbstractConcatenable; friend inline bool qStringComparisonHelper(const QString &s1, const char *s2); friend inline bool qStringComparisonHelper(const QStringRef &s1, const char *s2); public: typedef Data * DataPtr; inline DataPtr &data_ptr() { return d; } }; class QLatin1String { public: inline explicit QLatin1String(const char *s) : chars(s) {} inline QLatin1String &operator=(const QLatin1String &other) { chars = other.chars; return *this; } inline const char *latin1() const { return chars; } inline bool operator==(const QString &s) const { return s == *this; } inline bool operator!=(const QString &s) const { return s != *this; } inline bool operator>(const QString &s) const { return s < *this; } inline bool operator<(const QString &s) const { return s > *this; } inline bool operator>=(const QString &s) const { return s <= *this; } inline bool operator<=(const QString &s) const { return s >= *this; } inline bool operator==(const char *s) const { return QString::fromAscii(s) == *this; } inline bool operator!=(const char *s) const { return QString::fromAscii(s) != *this; } inline bool operator<(const char *s) const { return QString::fromAscii(s) > *this; } inline bool operator>(const char *s) const { return QString::fromAscii(s) < *this; } inline bool operator<=(const char *s) const { return QString::fromAscii(s) >= *this; } inline bool operator>=(const char *s) const { return QString::fromAscii(s) <= *this; } private: const char *chars; }; inline QString::QString(const QLatin1String &aLatin1) : d(fromLatin1_helper(aLatin1.latin1())) { } inline int QString::length() const { return d->size; } inline const QChar QString::at(int i) const { ((!(i >= 0 && i < size())) ? qt_assert("i >= 0 && i < size()","/usr/include/qt4/QtCore/qstring.h",688) : qt_noop()); return d->data[i]; } inline const QChar QString::operator[](int i) const { ((!(i >= 0 && i < size())) ? qt_assert("i >= 0 && i < size()","/usr/include/qt4/QtCore/qstring.h",690) : qt_noop()); return d->data[i]; } inline const QChar QString::operator[](uint i) const { ((!(i < uint(size()))) ? qt_assert("i < uint(size())","/usr/include/qt4/QtCore/qstring.h",692) : qt_noop()); return d->data[i]; } inline bool QString::isEmpty() const { return d->size == 0; } inline const QChar *QString::unicode() const { return reinterpret_cast(d->data); } inline const QChar *QString::data() const { return reinterpret_cast(d->data); } inline QChar *QString::data() { detach(); return reinterpret_cast(d->data); } inline const QChar *QString::constData() const { return reinterpret_cast(d->data); } inline void QString::detach() { if (d->ref != 1 || d->data != d->array) realloc(); } inline bool QString::isDetached() const { return d->ref == 1; } inline QString &QString::operator=(const QLatin1String &s) { *this = fromLatin1(s.latin1()); return *this; } inline void QString::clear() { if (!isNull()) *this = QString(); } inline QString::QString(const QString &other) : d(other.d) { ((!(&other != this)) ? qt_assert("&other != this","/usr/include/qt4/QtCore/qstring.h",715) : qt_noop()); d->ref.ref(); } inline int QString::capacity() const { return d->alloc; } inline QString &QString::setNum(short n, int base) { return setNum(qlonglong(n), base); } inline QString &QString::setNum(ushort n, int base) { return setNum(qulonglong(n), base); } inline QString &QString::setNum(int n, int base) { return setNum(qlonglong(n), base); } inline QString &QString::setNum(uint n, int base) { return setNum(qulonglong(n), base); } inline QString &QString::setNum(long n, int base) { return setNum(qlonglong(n), base); } inline QString &QString::setNum(ulong n, int base) { return setNum(qulonglong(n), base); } inline QString &QString::setNum(float n, char f, int prec) { return setNum(double(n),f,prec); } inline QString QString::arg(int a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qlonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(uint a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qulonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(long a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qlonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(ulong a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qulonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(short a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qlonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(ushort a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qulonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(const QString &a1, const QString &a2) const { const QString *args[2] = { &a1, &a2 }; return multiArg(2, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3) const { const QString *args[3] = { &a1, &a2, &a3 }; return multiArg(3, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4) const { const QString *args[4] = { &a1, &a2, &a3, &a4 }; return multiArg(4, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5) const { const QString *args[5] = { &a1, &a2, &a3, &a4, &a5 }; return multiArg(5, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6) const { const QString *args[6] = { &a1, &a2, &a3, &a4, &a5, &a6 }; return multiArg(6, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7) const { const QString *args[7] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7 }; return multiArg(7, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8) const { const QString *args[8] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8 }; return multiArg(8, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8, const QString &a9) const { const QString *args[9] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9 }; return multiArg(9, args); } inline QString QString::section(QChar asep, int astart, int aend, SectionFlags aflags) const { return section(QString(asep), astart, aend, aflags); } class QCharRef { QString &s; int i; inline QCharRef(QString &str, int idx) : s(str),i(idx) {} friend class QString; public: inline operator QChar() const { return i < s.d->size ? s.d->data[i] : 0; } inline QCharRef &operator=(const QChar &c) { if (i >= s.d->size) s.expand(i); else s.detach(); s.d->data[i] = c.unicode(); return *this; } inline QCharRef &operator=(char c) { return operator=(QChar::fromAscii(c)); } inline QCharRef &operator=(uchar c) { return operator=(QChar::fromAscii(c)); } inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } inline QCharRef &operator=(ushort rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(short rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(uint rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(int rc) { return operator=(QChar(rc)); } inline bool isNull() const { return QChar(*this).isNull(); } inline bool isPrint() const { return QChar(*this).isPrint(); } inline bool isPunct() const { return QChar(*this).isPunct(); } inline bool isSpace() const { return QChar(*this).isSpace(); } inline bool isMark() const { return QChar(*this).isMark(); } inline bool isLetter() const { return QChar(*this).isLetter(); } inline bool isNumber() const { return QChar(*this).isNumber(); } inline bool isLetterOrNumber() { return QChar(*this).isLetterOrNumber(); } inline bool isDigit() const { return QChar(*this).isDigit(); } inline bool isLower() const { return QChar(*this).isLower(); } inline bool isUpper() const { return QChar(*this).isUpper(); } inline bool isTitleCase() const { return QChar(*this).isTitleCase(); } inline int digitValue() const { return QChar(*this).digitValue(); } QChar toLower() const { return QChar(*this).toLower(); } QChar toUpper() const { return QChar(*this).toUpper(); } QChar toTitleCase () const { return QChar(*this).toTitleCase(); } QChar::Category category() const { return QChar(*this).category(); } QChar::Direction direction() const { return QChar(*this).direction(); } QChar::Joining joining() const { return QChar(*this).joining(); } bool hasMirrored() const { return QChar(*this).hasMirrored(); } QChar mirroredChar() const { return QChar(*this).mirroredChar(); } QString decomposition() const { return QChar(*this).decomposition(); } QChar::Decomposition decompositionTag() const { return QChar(*this).decompositionTag(); } uchar combiningClass() const { return QChar(*this).combiningClass(); } QChar::UnicodeVersion unicodeVersion() const { return QChar(*this).unicodeVersion(); } inline uchar cell() const { return QChar(*this).cell(); } inline uchar row() const { return QChar(*this).row(); } inline void setCell(uchar cell); inline void setRow(uchar row); char toAscii() const { return QChar(*this).toAscii(); } char toLatin1() const { return QChar(*this).toLatin1(); } ushort unicode() const { return QChar(*this).unicode(); } ushort& unicode() { return s.data()[i].unicode(); } # 862 "/usr/include/qt4/QtCore/qstring.h" }; inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); } inline void QCharRef::setCell(uchar acell) { QChar(*this).setCell(acell); } inline QString::QString() : d(&shared_null) { d->ref.ref(); } inline QString::~QString() { if (!d->ref.deref()) free(d); } inline void QString::reserve(int asize) { if (d->ref != 1 || asize > d->alloc) realloc(asize); d->capacity = 1;} inline QString &QString::setUtf16(const ushort *autf16, int asize) { return setUnicode(reinterpret_cast(autf16), asize); } inline QCharRef QString::operator[](int i) { ((!(i >= 0)) ? qt_assert("i >= 0","/usr/include/qt4/QtCore/qstring.h",874) : qt_noop()); return QCharRef(*this, i); } inline QCharRef QString::operator[](uint i) { return QCharRef(*this, i); } inline QString::iterator QString::begin() { detach(); return reinterpret_cast(d->data); } inline QString::const_iterator QString::begin() const { return reinterpret_cast(d->data); } inline QString::const_iterator QString::constBegin() const { return reinterpret_cast(d->data); } inline QString::iterator QString::end() { detach(); return reinterpret_cast(d->data + d->size); } inline QString::const_iterator QString::end() const { return reinterpret_cast(d->data + d->size); } inline QString::const_iterator QString::constEnd() const { return reinterpret_cast(d->data + d->size); } inline QBool QString::contains(const QString &s, Qt::CaseSensitivity cs) const { return QBool(indexOf(s, 0, cs) != -1); } inline QBool QString::contains(QChar c, Qt::CaseSensitivity cs) const { return QBool(indexOf(c, 0, cs) != -1); } inline bool operator==(QString::Null, QString::Null) { return true; } inline bool operator==(QString::Null, const QString &s) { return s.isNull(); } inline bool operator==(const QString &s, QString::Null) { return s.isNull(); } inline bool operator!=(QString::Null, QString::Null) { return false; } inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); } inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); } inline bool qStringComparisonHelper(const QString &s1, const char *s2) { if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2)); return (s1 == QLatin1String(s2)); } inline bool QString::operator==(const char *s) const { return qStringComparisonHelper(*this, s); } inline bool QString::operator!=(const char *s) const { return !qStringComparisonHelper(*this, s); } inline bool QString::operator<(const char *s) const { return *this < QString::fromAscii(s); } inline bool QString::operator>(const char *s) const { return *this > QString::fromAscii(s); } inline bool QString::operator<=(const char *s) const { return *this <= QString::fromAscii(s); } inline bool QString::operator>=(const char *s) const { return *this >= QString::fromAscii(s); } inline bool operator==(const char *s1, const QString &s2) { return qStringComparisonHelper(s2, s1); } inline bool operator!=(const char *s1, const QString &s2) { return !qStringComparisonHelper(s2, s1); } inline bool operator<(const char *s1, const QString &s2) { return (QString::fromAscii(s1) < s2); } inline bool operator>(const char *s1, const QString &s2) { return (QString::fromAscii(s1) > s2); } inline bool operator<=(const char *s1, const QString &s2) { return (QString::fromAscii(s1) <= s2); } inline bool operator>=(const char *s1, const QString &s2) { return (QString::fromAscii(s1) >= s2); } inline bool operator==(const char *s1, const QLatin1String &s2) { return QString::fromAscii(s1) == s2; } inline bool operator!=(const char *s1, const QLatin1String &s2) { return QString::fromAscii(s1) != s2; } inline bool operator<(const char *s1, const QLatin1String &s2) { return (QString::fromAscii(s1) < s2); } inline bool operator>(const char *s1, const QLatin1String &s2) { return (QString::fromAscii(s1) > s2); } inline bool operator<=(const char *s1, const QLatin1String &s2) { return (QString::fromAscii(s1) <= s2); } inline bool operator>=(const char *s1, const QLatin1String &s2) { return (QString::fromAscii(s1) >= s2); } inline bool operator==(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) == 0); } inline bool operator!=(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) != 0); } inline bool operator<(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) < 0); } inline bool operator<=(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) <= 0); } inline bool operator>(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) > 0); } inline bool operator>=(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) >= 0); } inline bool QString::operator==(const QByteArray &s) const { return qStringComparisonHelper(*this, s.constData()); } inline bool QString::operator!=(const QByteArray &s) const { return !qStringComparisonHelper(*this, s.constData()); } inline bool QByteArray::operator==(const QString &s) const { return qStringComparisonHelper(s, constData()); } inline bool QByteArray::operator!=(const QString &s) const { return !qStringComparisonHelper(s, constData()); } inline bool QByteArray::operator<(const QString &s) const { return QString::fromAscii(constData(), size()) < s; } inline bool QByteArray::operator>(const QString &s) const { return QString::fromAscii(constData(), size()) > s; } inline bool QByteArray::operator<=(const QString &s) const { return QString::fromAscii(constData(), size()) <= s; } inline bool QByteArray::operator>=(const QString &s) const { return QString::fromAscii(constData(), size()) >= s; } inline QByteArray &QByteArray::append(const QString &s) { return append(s.toAscii()); } inline QByteArray &QByteArray::insert(int i, const QString &s) { return insert(i, s.toAscii()); } inline QByteArray &QByteArray::replace(char c, const QString &after) { return replace(c, after.toAscii()); } inline QByteArray &QByteArray::replace(const QString &before, const char *after) { return replace(before.toAscii(), after); } inline QByteArray &QByteArray::replace(const QString &before, const QByteArray &after) { return replace(before.toAscii(), after); } inline QByteArray &QByteArray::operator+=(const QString &s) { return operator+=(s.toAscii()); } inline int QByteArray::indexOf(const QString &s, int from) const { return indexOf(s.toAscii(), from); } inline int QByteArray::lastIndexOf(const QString &s, int from) const { return lastIndexOf(s.toAscii(), from); } # 1009 "/usr/include/qt4/QtCore/qstring.h" inline const QString operator+(const QString &s1, const QString &s2) { QString t(s1); t += s2; return t; } inline const QString operator+(const QString &s1, QChar s2) { QString t(s1); t += s2; return t; } inline const QString operator+(QChar s1, const QString &s2) { QString t(s1); t += s2; return t; } inline const QString operator+(const QString &s1, const char *s2) { QString t(s1); t += QString::fromAscii(s2); return t; } inline const QString operator+(const char *s1, const QString &s2) { QString t = QString::fromAscii(s1); t += s2; return t; } inline const QString operator+(char c, const QString &s) { QString t = s; t.prepend(QChar::fromAscii(c)); return t; } inline const QString operator+(const QString &s, char c) { QString t = s; t += QChar::fromAscii(c); return t; } inline const QString operator+(const QByteArray &ba, const QString &s) { QString t = QString::fromAscii(ba.constData(), qstrnlen(ba.constData(), ba.size())); t += s; return t; } inline const QString operator+(const QString &s, const QByteArray &ba) { QString t(s); t += QString::fromAscii(ba.constData(), qstrnlen(ba.constData(), ba.size())); return t; } inline std::string QString::toStdString() const { const QByteArray asc = toAscii(); return std::string(asc.constData(), asc.length()); } inline QString QString::fromStdString(const std::string &s) { return fromAscii(s.data(), int(s.size())); } inline QStdWString QString::toStdWString() const { QStdWString str; str.resize(length()); str.resize(toWCharArray(&(*str.begin()))); return str; } inline QString QString::fromStdWString(const QStdWString &s) { return fromWCharArray(s.data(), int(s.size())); } # 1069 "/usr/include/qt4/QtCore/qstring.h" QDataStream &operator<<(QDataStream &, const QString &); QDataStream &operator>>(QDataStream &, QString &); # 1083 "/usr/include/qt4/QtCore/qstring.h" template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QString)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QString"; } }; template <> inline bool qIsDetached(QString &t) { return t.isDetached(); } template <> inline void qSwap(QString &value1, QString &value2) { qSwap(value1.data_ptr(), value2.data_ptr()); } inline QFlags operator|(QString::SectionFlags::enum_type f1, QString::SectionFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QString::SectionFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QString::SectionFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } # 1094 "/usr/include/qt4/QtCore/qstring.h" class QStringRef { const QString *m_string; int m_position; int m_size; public: inline QStringRef():m_string(0), m_position(0), m_size(0){} inline QStringRef(const QString *string, int position, int size); inline QStringRef(const QString *string); inline QStringRef(const QStringRef &other) :m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) {} inline ~QStringRef(){} inline const QString *string() const { return m_string; } inline int position() const { return m_position; } inline int size() const { return m_size; } inline int count() const { return m_size; } inline int length() const { return m_size; } inline QStringRef &operator=(const QStringRef &other) { m_string = other.m_string; m_position = other.m_position; m_size = other.m_size; return *this; } inline QStringRef &operator=(const QString *string); inline const QChar *unicode() const { if (!m_string) return reinterpret_cast(QString::shared_null.data); return m_string->unicode() + m_position; } inline const QChar *data() const { return unicode(); } inline const QChar *constData() const { return unicode(); } inline void clear() { m_string = 0; m_position = m_size = 0; } QString toString() const; inline bool isEmpty() const { return m_size == 0; } inline bool isNull() const { return m_string == 0 || m_string->isNull(); } QStringRef appendTo(QString *string) const; inline const QChar at(int i) const { ((!(i >= 0 && i < size())) ? qt_assert("i >= 0 && i < size()","/usr/include/qt4/QtCore/qstring.h",1136) : qt_noop()); return m_string->at(i + m_position); } int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int compare(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; static int compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity = Qt::CaseSensitive); static int compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity = Qt::CaseSensitive); static int compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive); int localeAwareCompare(const QString &s) const; int localeAwareCompare(const QStringRef &s) const; static int localeAwareCompare(const QStringRef &s1, const QString &s2); static int localeAwareCompare(const QStringRef &s1, const QStringRef &s2); }; inline QStringRef &QStringRef::operator=(const QString *aString) { m_string = aString; m_position = 0; m_size = aString?aString->size():0; return *this; } inline QStringRef::QStringRef(const QString *aString, int aPosition, int aSize) :m_string(aString), m_position(aPosition), m_size(aSize){} inline QStringRef::QStringRef(const QString *aString) :m_string(aString), m_position(0), m_size(aString?aString->size() : 0){} bool operator==(const QStringRef &s1,const QStringRef &s2); inline bool operator!=(const QStringRef &s1,const QStringRef &s2) { return !(s1 == s2); } bool operator==(const QString &s1,const QStringRef &s2); inline bool operator!=(const QString &s1,const QStringRef &s2) { return !(s1 == s2); } inline bool operator==(const QStringRef &s1,const QString &s2) { return s2 == s1; } inline bool operator!=(const QStringRef &s1,const QString &s2) { return s2 != s1; } bool operator==(const QLatin1String &s1, const QStringRef &s2); inline bool operator!=(const QLatin1String &s1,const QStringRef &s2) { return !(s1 == s2); } inline bool operator==(const QStringRef &s1,const QLatin1String &s2) { return s2 == s1; } inline bool operator!=(const QStringRef &s1,const QLatin1String &s2) { return s2 != s1; } bool operator<(const QStringRef &s1,const QStringRef &s2); inline bool operator>(const QStringRef &s1, const QStringRef &s2) { return s2 < s1; } inline bool operator<=(const QStringRef &s1, const QStringRef &s2) { return !(s1 > s2); } inline bool operator>=(const QStringRef &s1, const QStringRef &s2) { return !(s1 < s2); } inline bool qStringComparisonHelper(const QStringRef &s1, const char *s2) { if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2)); return (s1 == QLatin1String(s2)); } inline bool operator==(const char *s1, const QStringRef &s2) { return qStringComparisonHelper(s2, s1); } inline bool operator==(const QStringRef &s1, const char *s2) { return qStringComparisonHelper(s1, s2); } inline bool operator!=(const char *s1, const QStringRef &s2) { return !qStringComparisonHelper(s2, s1); } inline bool operator!=(const QStringRef &s1, const char *s2) { return !qStringComparisonHelper(s1, s2); } inline int QString::compare(const QStringRef &s, Qt::CaseSensitivity cs) const { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } inline int QString::compare(const QString &s1, const QStringRef &s2, Qt::CaseSensitivity cs) { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } inline int QStringRef::compare(const QStringRef &s, Qt::CaseSensitivity cs) const { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } inline int QStringRef::compare(QLatin1String s, Qt::CaseSensitivity cs) const { return QString::compare_helper(constData(), length(), s, cs); } inline int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs) { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } inline int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs) { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } inline int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs) { return QString::compare_helper(s1.constData(), s1.length(), s2, cs); } inline int QString::localeAwareCompare(const QStringRef &s) const { return localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } inline int QString::localeAwareCompare(const QString& s1, const QStringRef& s2) { return localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } inline int QStringRef::localeAwareCompare(const QString &s) const { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } inline int QStringRef::localeAwareCompare(const QStringRef &s) const { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2) { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2) { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } # 26 "/usr/include/qt4/QtWebKit/qwebsettings.h" 2 # 1 "/usr/include/qt4/QtGui/qpixmap.h" 1 # 45 "/usr/include/qt4/QtGui/qpixmap.h" # 1 "/usr/include/qt4/QtGui/qpaintdevice.h" 1 # 45 "/usr/include/qt4/QtGui/qpaintdevice.h" # 1 "/usr/include/qt4/QtGui/qwindowdefs.h" 1 # 45 "/usr/include/qt4/QtGui/qwindowdefs.h" # 1 "/usr/include/qt4/QtCore/qobjectdefs.h" 1 # 47 "/usr/include/qt4/QtCore/qobjectdefs.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QByteArray; class QString; # 141 "/usr/include/qt4/QtCore/qobjectdefs.h" template inline int qYouForgotTheQ_OBJECT_Macro(T, T) { return 0; } template inline void qYouForgotTheQ_OBJECT_Macro(T1, T2) {} # 210 "/usr/include/qt4/QtCore/qobjectdefs.h" const char *qFlagLocation(const char *method); # 238 "/usr/include/qt4/QtCore/qobjectdefs.h" class QObject; class QMetaMethod; class QMetaEnum; class QMetaProperty; class QMetaClassInfo; class QGenericArgument { public: inline QGenericArgument(const char *aName = 0, const void *aData = 0) : _data(aData), _name(aName) {} inline void *data() const { return const_cast(_data); } inline const char *name() const { return _name; } private: const void *_data; const char *_name; }; class QGenericReturnArgument: public QGenericArgument { public: inline QGenericReturnArgument(const char *aName = 0, void *aData = 0) : QGenericArgument(aName, aData) {} }; template class QArgument: public QGenericArgument { public: inline QArgument(const char *aName, const T &aData) : QGenericArgument(aName, static_cast(&aData)) {} }; template class QReturnArgument: public QGenericReturnArgument { public: inline QReturnArgument(const char *aName, T &aData) : QGenericReturnArgument(aName, static_cast(&aData)) {} }; struct QMetaObject { const char *className() const; const QMetaObject *superClass() const; QObject *cast(QObject *obj) const; QString tr(const char *s, const char *c) const; QString trUtf8(const char *s, const char *c) const; QString tr(const char *s, const char *c, int n) const; QString trUtf8(const char *s, const char *c, int n) const; int methodOffset() const; int enumeratorOffset() const; int propertyOffset() const; int classInfoOffset() const; int constructorCount() const; int methodCount() const; int enumeratorCount() const; int propertyCount() const; int classInfoCount() const; int indexOfConstructor(const char *constructor) const; int indexOfMethod(const char *method) const; int indexOfSignal(const char *signal) const; int indexOfSlot(const char *slot) const; int indexOfEnumerator(const char *name) const; int indexOfProperty(const char *name) const; int indexOfClassInfo(const char *name) const; QMetaMethod constructor(int index) const; QMetaMethod method(int index) const; QMetaEnum enumerator(int index) const; QMetaProperty property(int index) const; QMetaClassInfo classInfo(int index) const; QMetaProperty userProperty() const; static bool checkConnectArgs(const char *signal, const char *method); static QByteArray normalizedSignature(const char *method); static QByteArray normalizedType(const char *type); static bool connect(const QObject *sender, int signal_index, const QObject *receiver, int method_index, int type = 0, int *types = 0); static bool disconnect(const QObject *sender, int signal_index, const QObject *receiver, int method_index); static bool disconnectOne(const QObject *sender, int signal_index, const QObject *receiver, int method_index); static void connectSlotsByName(QObject *o); static void activate(QObject *sender, int signal_index, void **argv); static void activate(QObject *sender, int from_signal_index, int to_signal_index, void **argv); static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv); static void activate(QObject *sender, const QMetaObject *, int from_local_signal_index, int to_local_signal_index, void **argv); static void addGuard(QObject **ptr); static void removeGuard(QObject **ptr); static void changeGuard(QObject **ptr, QObject *o); static bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType, QGenericReturnArgument ret, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()); static inline bool invokeMethod(QObject *obj, const char *member, QGenericReturnArgument ret, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) { return invokeMethod(obj, member, Qt::AutoConnection, ret, val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); } static inline bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType type, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) { return invokeMethod(obj, member, type, QGenericReturnArgument(), val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); } static inline bool invokeMethod(QObject *obj, const char *member, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) { return invokeMethod(obj, member, Qt::AutoConnection, QGenericReturnArgument(), val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); } QObject *newInstance(QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const; enum Call { InvokeMetaMethod, ReadProperty, WriteProperty, ResetProperty, QueryPropertyDesignable, QueryPropertyScriptable, QueryPropertyStored, QueryPropertyEditable, QueryPropertyUser, CreateInstance }; int static_metacall(Call, int, void **) const; static int metacall(QObject *, Call, int, void **); struct { const QMetaObject *superdata; const char *stringdata; const uint *data; const void *extradata; } d; }; typedef const QMetaObject& (*QMetaObjectAccessor)(); struct QMetaObjectExtraData { const QMetaObject **objects; int (*static_metacall)(QMetaObject::Call, int, void **); }; inline const char *QMetaObject::className() const { return d.stringdata; } inline const QMetaObject *QMetaObject::superClass() const { return d.superdata; } # 46 "/usr/include/qt4/QtGui/qwindowdefs.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QPaintDevice; class QWidget; class QDialog; class QColor; class QPalette; class QCursor; class QPoint; class QSize; class QRect; class QPolygon; class QPainter; class QRegion; class QFont; class QFontMetrics; class QFontInfo; class QPen; class QBrush; class QMatrix; class QPixmap; class QBitmap; class QMovie; class QImage; class QPicture; class QPrinter; class QTimer; class QTime; class QClipboard; class QString; class QByteArray; class QApplication; template class QList; typedef QList QWidgetList; # 115 "/usr/include/qt4/QtGui/qwindowdefs.h" typedef struct _XDisplay Display; typedef union _XEvent XEvent; typedef struct _XGC *GC; typedef struct _XRegion *Region; typedef unsigned long WId; # 139 "/usr/include/qt4/QtGui/qwindowdefs.h" template class QHash; typedef QHash QWidgetMapper; template class QSet; typedef QSet QWidgetSet; # 46 "/usr/include/qt4/QtGui/qpaintdevice.h" 2 # 1 "/usr/include/qt4/QtCore/qrect.h" 1 # 45 "/usr/include/qt4/QtCore/qrect.h" # 1 "/usr/include/qt4/QtCore/qsize.h" 1 # 47 "/usr/include/qt4/QtCore/qsize.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QSize { public: QSize(); QSize(int w, int h); bool isNull() const; bool isEmpty() const; bool isValid() const; int width() const; int height() const; void setWidth(int w); void setHeight(int h); void transpose(); void scale(int w, int h, Qt::AspectRatioMode mode); void scale(const QSize &s, Qt::AspectRatioMode mode); QSize expandedTo(const QSize &) const; QSize boundedTo(const QSize &) const; int &rwidth(); int &rheight(); QSize &operator+=(const QSize &); QSize &operator-=(const QSize &); QSize &operator*=(qreal c); QSize &operator/=(qreal c); friend inline bool operator==(const QSize &, const QSize &); friend inline bool operator!=(const QSize &, const QSize &); friend inline const QSize operator+(const QSize &, const QSize &); friend inline const QSize operator-(const QSize &, const QSize &); friend inline const QSize operator*(const QSize &, qreal); friend inline const QSize operator*(qreal, const QSize &); friend inline const QSize operator/(const QSize &, qreal); private: int wd; int ht; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QSize)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QSize"; } }; QDataStream &operator<<(QDataStream &, const QSize &); QDataStream &operator>>(QDataStream &, QSize &); inline QSize::QSize() { wd = ht = -1; } inline QSize::QSize(int w, int h) { wd = w; ht = h; } inline bool QSize::isNull() const { return wd==0 && ht==0; } inline bool QSize::isEmpty() const { return wd<1 || ht<1; } inline bool QSize::isValid() const { return wd>=0 && ht>=0; } inline int QSize::width() const { return wd; } inline int QSize::height() const { return ht; } inline void QSize::setWidth(int w) { wd = w; } inline void QSize::setHeight(int h) { ht = h; } inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode) { scale(QSize(w, h), mode); } inline int &QSize::rwidth() { return wd; } inline int &QSize::rheight() { return ht; } inline QSize &QSize::operator+=(const QSize &s) { wd+=s.wd; ht+=s.ht; return *this; } inline QSize &QSize::operator-=(const QSize &s) { wd-=s.wd; ht-=s.ht; return *this; } inline QSize &QSize::operator*=(qreal c) { wd = qRound(wd*c); ht = qRound(ht*c); return *this; } inline bool operator==(const QSize &s1, const QSize &s2) { return s1.wd == s2.wd && s1.ht == s2.ht; } inline bool operator!=(const QSize &s1, const QSize &s2) { return s1.wd != s2.wd || s1.ht != s2.ht; } inline const QSize operator+(const QSize & s1, const QSize & s2) { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); } inline const QSize operator-(const QSize &s1, const QSize &s2) { return QSize(s1.wd-s2.wd, s1.ht-s2.ht); } inline const QSize operator*(const QSize &s, qreal c) { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } inline const QSize operator*(qreal c, const QSize &s) { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } inline QSize &QSize::operator/=(qreal c) { ((!(!qFuzzyIsNull(c))) ? qt_assert("!qFuzzyIsNull(c)","/usr/include/qt4/QtCore/qsize.h",176) : qt_noop()); wd = qRound(wd/c); ht = qRound(ht/c); return *this; } inline const QSize operator/(const QSize &s, qreal c) { ((!(!qFuzzyIsNull(c))) ? qt_assert("!qFuzzyIsNull(c)","/usr/include/qt4/QtCore/qsize.h",183) : qt_noop()); return QSize(qRound(s.wd/c), qRound(s.ht/c)); } inline QSize QSize::expandedTo(const QSize & otherSize) const { return QSize(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); } inline QSize QSize::boundedTo(const QSize & otherSize) const { return QSize(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); } QDebug operator<<(QDebug, const QSize &); class QSizeF { public: QSizeF(); QSizeF(const QSize &sz); QSizeF(qreal w, qreal h); bool isNull() const; bool isEmpty() const; bool isValid() const; qreal width() const; qreal height() const; void setWidth(qreal w); void setHeight(qreal h); void transpose(); void scale(qreal w, qreal h, Qt::AspectRatioMode mode); void scale(const QSizeF &s, Qt::AspectRatioMode mode); QSizeF expandedTo(const QSizeF &) const; QSizeF boundedTo(const QSizeF &) const; qreal &rwidth(); qreal &rheight(); QSizeF &operator+=(const QSizeF &); QSizeF &operator-=(const QSizeF &); QSizeF &operator*=(qreal c); QSizeF &operator/=(qreal c); friend inline bool operator==(const QSizeF &, const QSizeF &); friend inline bool operator!=(const QSizeF &, const QSizeF &); friend inline const QSizeF operator+(const QSizeF &, const QSizeF &); friend inline const QSizeF operator-(const QSizeF &, const QSizeF &); friend inline const QSizeF operator*(const QSizeF &, qreal); friend inline const QSizeF operator*(qreal, const QSizeF &); friend inline const QSizeF operator/(const QSizeF &, qreal); inline QSize toSize() const; private: qreal wd; qreal ht; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QSizeF)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QSizeF"; } }; QDataStream &operator<<(QDataStream &, const QSizeF &); QDataStream &operator>>(QDataStream &, QSizeF &); inline QSizeF::QSizeF() { wd = ht = -1.; } inline QSizeF::QSizeF(const QSize &sz) : wd(sz.width()), ht(sz.height()) { } inline QSizeF::QSizeF(qreal w, qreal h) { wd = w; ht = h; } inline bool QSizeF::isNull() const { return qIsNull(wd) && qIsNull(ht); } inline bool QSizeF::isEmpty() const { return wd <= 0. || ht <= 0.; } inline bool QSizeF::isValid() const { return wd >= 0. && ht >= 0.; } inline qreal QSizeF::width() const { return wd; } inline qreal QSizeF::height() const { return ht; } inline void QSizeF::setWidth(qreal w) { wd = w; } inline void QSizeF::setHeight(qreal h) { ht = h; } inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode) { scale(QSizeF(w, h), mode); } inline qreal &QSizeF::rwidth() { return wd; } inline qreal &QSizeF::rheight() { return ht; } inline QSizeF &QSizeF::operator+=(const QSizeF &s) { wd += s.wd; ht += s.ht; return *this; } inline QSizeF &QSizeF::operator-=(const QSizeF &s) { wd -= s.wd; ht -= s.ht; return *this; } inline QSizeF &QSizeF::operator*=(qreal c) { wd *= c; ht *= c; return *this; } inline bool operator==(const QSizeF &s1, const QSizeF &s2) { return qFuzzyCompare(s1.wd, s2.wd) && qFuzzyCompare(s1.ht, s2.ht); } inline bool operator!=(const QSizeF &s1, const QSizeF &s2) { return !qFuzzyCompare(s1.wd, s2.wd) || !qFuzzyCompare(s1.ht, s2.ht); } inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2) { return QSizeF(s1.wd+s2.wd, s1.ht+s2.ht); } inline const QSizeF operator-(const QSizeF &s1, const QSizeF &s2) { return QSizeF(s1.wd-s2.wd, s1.ht-s2.ht); } inline const QSizeF operator*(const QSizeF &s, qreal c) { return QSizeF(s.wd*c, s.ht*c); } inline const QSizeF operator*(qreal c, const QSizeF &s) { return QSizeF(s.wd*c, s.ht*c); } inline QSizeF &QSizeF::operator/=(qreal c) { ((!(!qFuzzyIsNull(c))) ? qt_assert("!qFuzzyIsNull(c)","/usr/include/qt4/QtCore/qsize.h",334) : qt_noop()); wd = wd/c; ht = ht/c; return *this; } inline const QSizeF operator/(const QSizeF &s, qreal c) { ((!(!qFuzzyIsNull(c))) ? qt_assert("!qFuzzyIsNull(c)","/usr/include/qt4/QtCore/qsize.h",341) : qt_noop()); return QSizeF(s.wd/c, s.ht/c); } inline QSizeF QSizeF::expandedTo(const QSizeF & otherSize) const { return QSizeF(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); } inline QSizeF QSizeF::boundedTo(const QSizeF & otherSize) const { return QSizeF(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); } inline QSize QSizeF::toSize() const { return QSize(qRound(wd), qRound(ht)); } QDebug operator<<(QDebug, const QSizeF &); # 46 "/usr/include/qt4/QtCore/qrect.h" 2 # 1 "/usr/include/qt4/QtCore/qpoint.h" 1 # 47 "/usr/include/qt4/QtCore/qpoint.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QPoint { public: QPoint(); QPoint(int xpos, int ypos); bool isNull() const; int x() const; int y() const; void setX(int x); void setY(int y); int manhattanLength() const; int &rx(); int &ry(); QPoint &operator+=(const QPoint &p); QPoint &operator-=(const QPoint &p); QPoint &operator*=(qreal c); QPoint &operator/=(qreal c); friend inline bool operator==(const QPoint &, const QPoint &); friend inline bool operator!=(const QPoint &, const QPoint &); friend inline const QPoint operator+(const QPoint &, const QPoint &); friend inline const QPoint operator-(const QPoint &, const QPoint &); friend inline const QPoint operator*(const QPoint &, qreal); friend inline const QPoint operator*(qreal, const QPoint &); friend inline const QPoint operator-(const QPoint &); friend inline const QPoint operator/(const QPoint &, qreal); private: friend class QTransform; int xp; int yp; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QPoint)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QPoint"; } }; QDataStream &operator<<(QDataStream &, const QPoint &); QDataStream &operator>>(QDataStream &, QPoint &); inline QPoint::QPoint() { xp=0; yp=0; } inline QPoint::QPoint(int xpos, int ypos) { xp = xpos; yp = ypos; } inline bool QPoint::isNull() const { return xp == 0 && yp == 0; } inline int QPoint::x() const { return xp; } inline int QPoint::y() const { return yp; } inline void QPoint::setX(int xpos) { xp = xpos; } inline void QPoint::setY(int ypos) { yp = ypos; } inline int &QPoint::rx() { return xp; } inline int &QPoint::ry() { return yp; } inline QPoint &QPoint::operator+=(const QPoint &p) { xp+=p.xp; yp+=p.yp; return *this; } inline QPoint &QPoint::operator-=(const QPoint &p) { xp-=p.xp; yp-=p.yp; return *this; } inline QPoint &QPoint::operator*=(qreal c) { xp = qRound(xp*c); yp = qRound(yp*c); return *this; } inline bool operator==(const QPoint &p1, const QPoint &p2) { return p1.xp == p2.xp && p1.yp == p2.yp; } inline bool operator!=(const QPoint &p1, const QPoint &p2) { return p1.xp != p2.xp || p1.yp != p2.yp; } inline const QPoint operator+(const QPoint &p1, const QPoint &p2) { return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); } inline const QPoint operator-(const QPoint &p1, const QPoint &p2) { return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); } inline const QPoint operator*(const QPoint &p, qreal c) { return QPoint(qRound(p.xp*c), qRound(p.yp*c)); } inline const QPoint operator*(qreal c, const QPoint &p) { return QPoint(qRound(p.xp*c), qRound(p.yp*c)); } inline const QPoint operator-(const QPoint &p) { return QPoint(-p.xp, -p.yp); } inline QPoint &QPoint::operator/=(qreal c) { xp = qRound(xp/c); yp = qRound(yp/c); return *this; } inline const QPoint operator/(const QPoint &p, qreal c) { return QPoint(qRound(p.xp/c), qRound(p.yp/c)); } QDebug operator<<(QDebug, const QPoint &); class QPointF { public: QPointF(); QPointF(const QPoint &p); QPointF(qreal xpos, qreal ypos); qreal manhattanLength() const; bool isNull() const; qreal x() const; qreal y() const; void setX(qreal x); void setY(qreal y); qreal &rx(); qreal &ry(); QPointF &operator+=(const QPointF &p); QPointF &operator-=(const QPointF &p); QPointF &operator*=(qreal c); QPointF &operator/=(qreal c); friend inline bool operator==(const QPointF &, const QPointF &); friend inline bool operator!=(const QPointF &, const QPointF &); friend inline const QPointF operator+(const QPointF &, const QPointF &); friend inline const QPointF operator-(const QPointF &, const QPointF &); friend inline const QPointF operator*(qreal, const QPointF &); friend inline const QPointF operator*(const QPointF &, qreal); friend inline const QPointF operator-(const QPointF &); friend inline const QPointF operator/(const QPointF &, qreal); QPoint toPoint() const; private: friend class QMatrix; friend class QTransform; qreal xp; qreal yp; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QPointF)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QPointF"; } }; QDataStream &operator<<(QDataStream &, const QPointF &); QDataStream &operator>>(QDataStream &, QPointF &); inline QPointF::QPointF() : xp(0), yp(0) { } inline QPointF::QPointF(qreal xpos, qreal ypos) : xp(xpos), yp(ypos) { } inline QPointF::QPointF(const QPoint &p) : xp(p.x()), yp(p.y()) { } inline bool QPointF::isNull() const { return qIsNull(xp) && qIsNull(yp); } inline qreal QPointF::x() const { return xp; } inline qreal QPointF::y() const { return yp; } inline void QPointF::setX(qreal xpos) { xp = xpos; } inline void QPointF::setY(qreal ypos) { yp = ypos; } inline qreal &QPointF::rx() { return xp; } inline qreal &QPointF::ry() { return yp; } inline QPointF &QPointF::operator+=(const QPointF &p) { xp+=p.xp; yp+=p.yp; return *this; } inline QPointF &QPointF::operator-=(const QPointF &p) { xp-=p.xp; yp-=p.yp; return *this; } inline QPointF &QPointF::operator*=(qreal c) { xp*=c; yp*=c; return *this; } inline bool operator==(const QPointF &p1, const QPointF &p2) { return qFuzzyIsNull(p1.xp - p2.xp) && qFuzzyIsNull(p1.yp - p2.yp); } inline bool operator!=(const QPointF &p1, const QPointF &p2) { return !qFuzzyIsNull(p1.xp - p2.xp) || !qFuzzyIsNull(p1.yp - p2.yp); } inline const QPointF operator+(const QPointF &p1, const QPointF &p2) { return QPointF(p1.xp+p2.xp, p1.yp+p2.yp); } inline const QPointF operator-(const QPointF &p1, const QPointF &p2) { return QPointF(p1.xp-p2.xp, p1.yp-p2.yp); } inline const QPointF operator*(const QPointF &p, qreal c) { return QPointF(p.xp*c, p.yp*c); } inline const QPointF operator*(qreal c, const QPointF &p) { return QPointF(p.xp*c, p.yp*c); } inline const QPointF operator-(const QPointF &p) { return QPointF(-p.xp, -p.yp); } inline QPointF &QPointF::operator/=(qreal c) { xp/=c; yp/=c; return *this; } inline const QPointF operator/(const QPointF &p, qreal c) { return QPointF(p.xp/c, p.yp/c); } inline QPoint QPointF::toPoint() const { return QPoint(qRound(xp), qRound(yp)); } QDebug operator<<(QDebug d, const QPointF &p); # 47 "/usr/include/qt4/QtCore/qrect.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QRect { public: QRect() { x1 = y1 = 0; x2 = y2 = -1; } QRect(const QPoint &topleft, const QPoint &bottomright); QRect(const QPoint &topleft, const QSize &size); QRect(int left, int top, int width, int height); bool isNull() const; bool isEmpty() const; bool isValid() const; int left() const; int top() const; int right() const; int bottom() const; QRect normalized() const; # 85 "/usr/include/qt4/QtCore/qrect.h" int x() const; int y() const; void setLeft(int pos); void setTop(int pos); void setRight(int pos); void setBottom(int pos); void setX(int x); void setY(int y); void setTopLeft(const QPoint &p); void setBottomRight(const QPoint &p); void setTopRight(const QPoint &p); void setBottomLeft(const QPoint &p); QPoint topLeft() const; QPoint bottomRight() const; QPoint topRight() const; QPoint bottomLeft() const; QPoint center() const; void moveLeft(int pos); void moveTop(int pos); void moveRight(int pos); void moveBottom(int pos); void moveTopLeft(const QPoint &p); void moveBottomRight(const QPoint &p); void moveTopRight(const QPoint &p); void moveBottomLeft(const QPoint &p); void moveCenter(const QPoint &p); inline void translate(int dx, int dy); inline void translate(const QPoint &p); inline QRect translated(int dx, int dy) const; inline QRect translated(const QPoint &p) const; void moveTo(int x, int t); void moveTo(const QPoint &p); void setRect(int x, int y, int w, int h); inline void getRect(int *x, int *y, int *w, int *h) const; void setCoords(int x1, int y1, int x2, int y2); inline void getCoords(int *x1, int *y1, int *x2, int *y2) const; inline void adjust(int x1, int y1, int x2, int y2); inline QRect adjusted(int x1, int y1, int x2, int y2) const; QSize size() const; int width() const; int height() const; void setWidth(int w); void setHeight(int h); void setSize(const QSize &s); QRect operator|(const QRect &r) const; QRect operator&(const QRect &r) const; QRect& operator|=(const QRect &r); QRect& operator&=(const QRect &r); bool contains(const QPoint &p, bool proper=false) const; bool contains(int x, int y) const; bool contains(int x, int y, bool proper) const; bool contains(const QRect &r, bool proper = false) const; QRect unite(const QRect &r) const; QRect united(const QRect &other) const; QRect intersect(const QRect &r) const; QRect intersected(const QRect &other) const; bool intersects(const QRect &r) const; friend inline bool operator==(const QRect &, const QRect &); friend inline bool operator!=(const QRect &, const QRect &); private: friend void qt_setCoords(QRect *r, int xp1, int yp1, int xp2, int yp2); # 182 "/usr/include/qt4/QtCore/qrect.h" int x1; int y1; int x2; int y2; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QRect)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QRect"; } }; inline bool operator==(const QRect &, const QRect &); inline bool operator!=(const QRect &, const QRect &); QDataStream &operator<<(QDataStream &, const QRect &); QDataStream &operator>>(QDataStream &, QRect &); inline QRect::QRect(int aleft, int atop, int awidth, int aheight) { x1 = aleft; y1 = atop; x2 = (aleft + awidth - 1); y2 = (atop + aheight - 1); } inline QRect::QRect(const QPoint &atopLeft, const QPoint &abottomRight) { x1 = atopLeft.x(); y1 = atopLeft.y(); x2 = abottomRight.x(); y2 = abottomRight.y(); } inline QRect::QRect(const QPoint &atopLeft, const QSize &asize) { x1 = atopLeft.x(); y1 = atopLeft.y(); x2 = (x1+asize.width() - 1); y2 = (y1+asize.height() - 1); } inline bool QRect::isNull() const { return x2 == x1 - 1 && y2 == y1 - 1; } inline bool QRect::isEmpty() const { return x1 > x2 || y1 > y2; } inline bool QRect::isValid() const { return x1 <= x2 && y1 <= y2; } inline int QRect::left() const { return x1; } inline int QRect::top() const { return y1; } inline int QRect::right() const { return x2; } inline int QRect::bottom() const { return y2; } inline int QRect::x() const { return x1; } inline int QRect::y() const { return y1; } inline void QRect::setLeft(int pos) { x1 = pos; } inline void QRect::setTop(int pos) { y1 = pos; } inline void QRect::setRight(int pos) { x2 = pos; } inline void QRect::setBottom(int pos) { y2 = pos; } inline void QRect::setTopLeft(const QPoint &p) { x1 = p.x(); y1 = p.y(); } inline void QRect::setBottomRight(const QPoint &p) { x2 = p.x(); y2 = p.y(); } inline void QRect::setTopRight(const QPoint &p) { x2 = p.x(); y1 = p.y(); } inline void QRect::setBottomLeft(const QPoint &p) { x1 = p.x(); y2 = p.y(); } inline void QRect::setX(int ax) { x1 = ax; } inline void QRect::setY(int ay) { y1 = ay; } inline QPoint QRect::topLeft() const { return QPoint(x1, y1); } inline QPoint QRect::bottomRight() const { return QPoint(x2, y2); } inline QPoint QRect::topRight() const { return QPoint(x2, y1); } inline QPoint QRect::bottomLeft() const { return QPoint(x1, y2); } inline QPoint QRect::center() const { return QPoint((x1+x2)/2, (y1+y2)/2); } inline int QRect::width() const { return x2 - x1 + 1; } inline int QRect::height() const { return y2 - y1 + 1; } inline QSize QRect::size() const { return QSize(width(), height()); } inline void QRect::translate(int dx, int dy) { x1 += dx; y1 += dy; x2 += dx; y2 += dy; } inline void QRect::translate(const QPoint &p) { x1 += p.x(); y1 += p.y(); x2 += p.x(); y2 += p.y(); } inline QRect QRect::translated(int dx, int dy) const { return QRect(QPoint(x1 + dx, y1 + dy), QPoint(x2 + dx, y2 + dy)); } inline QRect QRect::translated(const QPoint &p) const { return QRect(QPoint(x1 + p.x(), y1 + p.y()), QPoint(x2 + p.x(), y2 + p.y())); } inline void QRect::moveTo(int ax, int ay) { x2 += ax - x1; y2 += ay - y1; x1 = ax; y1 = ay; } inline void QRect::moveTo(const QPoint &p) { x2 += p.x() - x1; y2 += p.y() - y1; x1 = p.x(); y1 = p.y(); } inline void QRect::moveLeft(int pos) { x2 += (pos - x1); x1 = pos; } inline void QRect::moveTop(int pos) { y2 += (pos - y1); y1 = pos; } inline void QRect::moveRight(int pos) { x1 += (pos - x2); x2 = pos; } inline void QRect::moveBottom(int pos) { y1 += (pos - y2); y2 = pos; } inline void QRect::moveTopLeft(const QPoint &p) { moveLeft(p.x()); moveTop(p.y()); } inline void QRect::moveBottomRight(const QPoint &p) { moveRight(p.x()); moveBottom(p.y()); } inline void QRect::moveTopRight(const QPoint &p) { moveRight(p.x()); moveTop(p.y()); } inline void QRect::moveBottomLeft(const QPoint &p) { moveLeft(p.x()); moveBottom(p.y()); } inline void QRect::getRect(int *ax, int *ay, int *aw, int *ah) const { *ax = x1; *ay = y1; *aw = x2 - x1 + 1; *ah = y2 - y1 + 1; } inline void QRect::setRect(int ax, int ay, int aw, int ah) { x1 = ax; y1 = ay; x2 = (ax + aw - 1); y2 = (ay + ah - 1); } inline void QRect::getCoords(int *xp1, int *yp1, int *xp2, int *yp2) const { *xp1 = x1; *yp1 = y1; *xp2 = x2; *yp2 = y2; } inline void QRect::setCoords(int xp1, int yp1, int xp2, int yp2) { x1 = xp1; y1 = yp1; x2 = xp2; y2 = yp2; } # 431 "/usr/include/qt4/QtCore/qrect.h" inline QRect QRect::adjusted(int xp1, int yp1, int xp2, int yp2) const { return QRect(QPoint(x1 + xp1, y1 + yp1), QPoint(x2 + xp2, y2 + yp2)); } inline void QRect::adjust(int dx1, int dy1, int dx2, int dy2) { x1 += dx1; y1 += dy1; x2 += dx2; y2 += dy2; } inline void QRect::setWidth(int w) { x2 = (x1 + w - 1); } inline void QRect::setHeight(int h) { y2 = (y1 + h - 1); } inline void QRect::setSize(const QSize &s) { x2 = (s.width() + x1 - 1); y2 = (s.height() + y1 - 1); } inline bool QRect::contains(int ax, int ay, bool aproper) const { return contains(QPoint(ax, ay), aproper); } inline bool QRect::contains(int ax, int ay) const { return contains(QPoint(ax, ay), false); } inline QRect& QRect::operator|=(const QRect &r) { *this = *this | r; return *this; } inline QRect& QRect::operator&=(const QRect &r) { *this = *this & r; return *this; } inline QRect QRect::intersect(const QRect &r) const { return *this & r; } inline QRect QRect::intersected(const QRect &other) const { return intersect(other); } inline QRect QRect::unite(const QRect &r) const { return *this | r; } inline QRect QRect::united(const QRect &r) const { return unite(r); } inline bool operator==(const QRect &r1, const QRect &r2) { return r1.x1==r2.x1 && r1.x2==r2.x2 && r1.y1==r2.y1 && r1.y2==r2.y2; } inline bool operator!=(const QRect &r1, const QRect &r2) { return r1.x1!=r2.x1 || r1.x2!=r2.x2 || r1.y1!=r2.y1 || r1.y2!=r2.y2; } QDebug operator<<(QDebug, const QRect &); class QRectF { public: QRectF() { xp = yp = 0.; w = h = 0.; } QRectF(const QPointF &topleft, const QSizeF &size); QRectF(const QPointF &topleft, const QPointF &bottomRight); QRectF(qreal left, qreal top, qreal width, qreal height); QRectF(const QRect &rect); bool isNull() const; bool isEmpty() const; bool isValid() const; QRectF normalized() const; inline qreal left() const { return xp; } inline qreal top() const { return yp; } inline qreal right() const { return xp + w; } inline qreal bottom() const { return yp + h; } inline qreal x() const; inline qreal y() const; inline void setLeft(qreal pos); inline void setTop(qreal pos); inline void setRight(qreal pos); inline void setBottom(qreal pos); inline void setX(qreal pos) { setLeft(pos); } inline void setY(qreal pos) { setTop(pos); } inline QPointF topLeft() const { return QPointF(xp, yp); } inline QPointF bottomRight() const { return QPointF(xp+w, yp+h); } inline QPointF topRight() const { return QPointF(xp+w, yp); } inline QPointF bottomLeft() const { return QPointF(xp, yp+h); } inline QPointF center() const; void setTopLeft(const QPointF &p); void setBottomRight(const QPointF &p); void setTopRight(const QPointF &p); void setBottomLeft(const QPointF &p); void moveLeft(qreal pos); void moveTop(qreal pos); void moveRight(qreal pos); void moveBottom(qreal pos); void moveTopLeft(const QPointF &p); void moveBottomRight(const QPointF &p); void moveTopRight(const QPointF &p); void moveBottomLeft(const QPointF &p); void moveCenter(const QPointF &p); void translate(qreal dx, qreal dy); void translate(const QPointF &p); QRectF translated(qreal dx, qreal dy) const; QRectF translated(const QPointF &p) const; void moveTo(qreal x, qreal t); void moveTo(const QPointF &p); void setRect(qreal x, qreal y, qreal w, qreal h); void getRect(qreal *x, qreal *y, qreal *w, qreal *h) const; void setCoords(qreal x1, qreal y1, qreal x2, qreal y2); void getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const; inline void adjust(qreal x1, qreal y1, qreal x2, qreal y2); inline QRectF adjusted(qreal x1, qreal y1, qreal x2, qreal y2) const; QSizeF size() const; qreal width() const; qreal height() const; void setWidth(qreal w); void setHeight(qreal h); void setSize(const QSizeF &s); QRectF operator|(const QRectF &r) const; QRectF operator&(const QRectF &r) const; QRectF& operator|=(const QRectF &r); QRectF& operator&=(const QRectF &r); bool contains(const QPointF &p) const; bool contains(qreal x, qreal y) const; bool contains(const QRectF &r) const; QRectF unite(const QRectF &r) const; QRectF united(const QRectF &other) const; QRectF intersect(const QRectF &r) const; QRectF intersected(const QRectF &other) const; bool intersects(const QRectF &r) const; friend inline bool operator==(const QRectF &, const QRectF &); friend inline bool operator!=(const QRectF &, const QRectF &); QRect toRect() const; QRect toAlignedRect() const; private: qreal xp; qreal yp; qreal w; qreal h; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QRectF)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QRectF"; } }; inline bool operator==(const QRectF &, const QRectF &); inline bool operator!=(const QRectF &, const QRectF &); QDataStream &operator<<(QDataStream &, const QRectF &); QDataStream &operator>>(QDataStream &, QRectF &); inline QRectF::QRectF(qreal aleft, qreal atop, qreal awidth, qreal aheight) : xp(aleft), yp(atop), w(awidth), h(aheight) { } inline QRectF::QRectF(const QPointF &atopLeft, const QSizeF &asize) { xp = atopLeft.x(); yp = atopLeft.y(); w = asize.width(); h = asize.height(); } inline QRectF::QRectF(const QPointF &atopLeft, const QPointF &abottomRight) { xp = atopLeft.x(); yp = atopLeft.y(); w = abottomRight.x() - xp; h = abottomRight.y() - yp; } inline QRectF::QRectF(const QRect &r) : xp(r.x()), yp(r.y()), w(r.width()), h(r.height()) { } inline bool QRectF::isNull() const { return w == 0. && h == 0.; } inline bool QRectF::isEmpty() const { return w <= 0. || h <= 0.; } inline bool QRectF::isValid() const { return w > 0. && h > 0.; } inline qreal QRectF::x() const { return xp; } inline qreal QRectF::y() const { return yp; } inline void QRectF::setLeft(qreal pos) { qreal diff = pos - xp; xp += diff; w -= diff; } inline void QRectF::setRight(qreal pos) { w = pos - xp; } inline void QRectF::setTop(qreal pos) { qreal diff = pos - yp; yp += diff; h -= diff; } inline void QRectF::setBottom(qreal pos) { h = pos - yp; } inline void QRectF::setTopLeft(const QPointF &p) { setLeft(p.x()); setTop(p.y()); } inline void QRectF::setTopRight(const QPointF &p) { setRight(p.x()); setTop(p.y()); } inline void QRectF::setBottomLeft(const QPointF &p) { setLeft(p.x()); setBottom(p.y()); } inline void QRectF::setBottomRight(const QPointF &p) { setRight(p.x()); setBottom(p.y()); } inline QPointF QRectF::center() const { return QPointF(xp + w/2, yp + h/2); } inline void QRectF::moveLeft(qreal pos) { xp = pos; } inline void QRectF::moveTop(qreal pos) { yp = pos; } inline void QRectF::moveRight(qreal pos) { xp = pos - w; } inline void QRectF::moveBottom(qreal pos) { yp = pos - h; } inline void QRectF::moveTopLeft(const QPointF &p) { moveLeft(p.x()); moveTop(p.y()); } inline void QRectF::moveTopRight(const QPointF &p) { moveRight(p.x()); moveTop(p.y()); } inline void QRectF::moveBottomLeft(const QPointF &p) { moveLeft(p.x()); moveBottom(p.y()); } inline void QRectF::moveBottomRight(const QPointF &p) { moveRight(p.x()); moveBottom(p.y()); } inline void QRectF::moveCenter(const QPointF &p) { xp = p.x() - w/2; yp = p.y() - h/2; } inline qreal QRectF::width() const { return w; } inline qreal QRectF::height() const { return h; } inline QSizeF QRectF::size() const { return QSizeF(w, h); } inline void QRectF::translate(qreal dx, qreal dy) { xp += dx; yp += dy; } inline void QRectF::translate(const QPointF &p) { xp += p.x(); yp += p.y(); } inline void QRectF::moveTo(qreal ax, qreal ay) { xp = ax; yp = ay; } inline void QRectF::moveTo(const QPointF &p) { xp = p.x(); yp = p.y(); } inline QRectF QRectF::translated(qreal dx, qreal dy) const { return QRectF(xp + dx, yp + dy, w, h); } inline QRectF QRectF::translated(const QPointF &p) const { return QRectF(xp + p.x(), yp + p.y(), w, h); } inline void QRectF::getRect(qreal *ax, qreal *ay, qreal *aaw, qreal *aah) const { *ax = this->xp; *ay = this->yp; *aaw = this->w; *aah = this->h; } inline void QRectF::setRect(qreal ax, qreal ay, qreal aaw, qreal aah) { this->xp = ax; this->yp = ay; this->w = aaw; this->h = aah; } inline void QRectF::getCoords(qreal *xp1, qreal *yp1, qreal *xp2, qreal *yp2) const { *xp1 = xp; *yp1 = yp; *xp2 = xp + w; *yp2 = yp + h; } inline void QRectF::setCoords(qreal xp1, qreal yp1, qreal xp2, qreal yp2) { xp = xp1; yp = yp1; w = xp2 - xp1; h = yp2 - yp1; } inline void QRectF::adjust(qreal xp1, qreal yp1, qreal xp2, qreal yp2) { xp += xp1; yp += yp1; w += xp2 - xp1; h += yp2 - yp1; } inline QRectF QRectF::adjusted(qreal xp1, qreal yp1, qreal xp2, qreal yp2) const { return QRectF(xp + xp1, yp + yp1, w + xp2 - xp1, h + yp2 - yp1); } inline void QRectF::setWidth(qreal aw) { this->w = aw; } inline void QRectF::setHeight(qreal ah) { this->h = ah; } inline void QRectF::setSize(const QSizeF &s) { w = s.width(); h = s.height(); } inline bool QRectF::contains(qreal ax, qreal ay) const { return contains(QPointF(ax, ay)); } inline QRectF& QRectF::operator|=(const QRectF &r) { *this = *this | r; return *this; } inline QRectF& QRectF::operator&=(const QRectF &r) { *this = *this & r; return *this; } inline QRectF QRectF::intersect(const QRectF &r) const { return *this & r; } inline QRectF QRectF::intersected(const QRectF &r) const { return intersect(r); } inline QRectF QRectF::unite(const QRectF &r) const { return *this | r; } inline QRectF QRectF::united(const QRectF &r) const { return unite(r); } inline bool operator==(const QRectF &r1, const QRectF &r2) { return qFuzzyCompare(r1.xp, r2.xp) && qFuzzyCompare(r1.yp, r2.yp) && qFuzzyCompare(r1.w, r2.w) && qFuzzyCompare(r1.h, r2.h); } inline bool operator!=(const QRectF &r1, const QRectF &r2) { return !qFuzzyCompare(r1.xp, r2.xp) || !qFuzzyCompare(r1.yp, r2.yp) || !qFuzzyCompare(r1.w, r2.w) || !qFuzzyCompare(r1.h, r2.h); } inline QRect QRectF::toRect() const { return QRect(qRound(xp), qRound(yp), qRound(w), qRound(h)); } QDebug operator<<(QDebug, const QRectF &); # 47 "/usr/include/qt4/QtGui/qpaintdevice.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QPaintEngine; class QPaintDevice { public: enum PaintDeviceMetric { PdmWidth = 1, PdmHeight, PdmWidthMM, PdmHeightMM, PdmNumColors, PdmDepth, PdmDpiX, PdmDpiY, PdmPhysicalDpiX, PdmPhysicalDpiY }; virtual ~QPaintDevice(); virtual int devType() const; bool paintingActive() const; virtual QPaintEngine *paintEngine() const = 0; # 91 "/usr/include/qt4/QtGui/qpaintdevice.h" int width() const { return metric(PdmWidth); } int height() const { return metric(PdmHeight); } int widthMM() const { return metric(PdmWidthMM); } int heightMM() const { return metric(PdmHeightMM); } int logicalDpiX() const { return metric(PdmDpiX); } int logicalDpiY() const { return metric(PdmDpiY); } int physicalDpiX() const { return metric(PdmPhysicalDpiX); } int physicalDpiY() const { return metric(PdmPhysicalDpiY); } int numColors() const { return metric(PdmNumColors); } int colorCount() const { return metric(PdmNumColors); } int depth() const { return metric(PdmDepth); } public: QPaintDevice(); virtual int metric(PaintDeviceMetric metric) const; ushort painters; private: QPaintDevice(const QPaintDevice &); QPaintDevice &operator=(const QPaintDevice &); # 140 "/usr/include/qt4/QtGui/qpaintdevice.h" friend class QPainter; friend class QFontEngineMac; friend class QX11PaintEngine; friend int qt_paint_device_metric(const QPaintDevice *device, PaintDeviceMetric metric); }; # 167 "/usr/include/qt4/QtGui/qpaintdevice.h" inline int QPaintDevice::devType() const { return QInternal::UnknownDevice; } inline bool QPaintDevice::paintingActive() const { return painters != 0; } # 46 "/usr/include/qt4/QtGui/qpixmap.h" 2 # 1 "/usr/include/qt4/QtGui/qcolor.h" 1 # 45 "/usr/include/qt4/QtGui/qcolor.h" # 1 "/usr/include/qt4/QtGui/qrgb.h" 1 # 47 "/usr/include/qt4/QtGui/qrgb.h" typedef QtValidLicenseForGuiModule QtGuiModule; typedef unsigned int QRgb; const QRgb RGB_MASK = 0x00ffffff; inline int qRed(QRgb rgb) { return ((rgb >> 16) & 0xff); } inline int qGreen(QRgb rgb) { return ((rgb >> 8) & 0xff); } inline int qBlue(QRgb rgb) { return (rgb & 0xff); } inline int qAlpha(QRgb rgb) { return ((rgb >> 24) & 0xff); } inline QRgb qRgb(int r, int g, int b) { return (0xffu << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); } inline QRgb qRgba(int r, int g, int b, int a) { return ((a & 0xff) << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); } inline int qGray(int r, int g, int b) { return (r*11+g*16+b*5)/32; } inline int qGray(QRgb rgb) { return qGray(qRed(rgb), qGreen(rgb), qBlue(rgb)); } inline bool qIsGray(QRgb rgb) { return qRed(rgb) == qGreen(rgb) && qRed(rgb) == qBlue(rgb); } # 46 "/usr/include/qt4/QtGui/qcolor.h" 2 # 1 "/usr/include/qt4/QtCore/qstringlist.h" 1 # 45 "/usr/include/qt4/QtCore/qstringlist.h" # 1 "/usr/include/qt4/QtCore/qalgorithms.h" 1 # 47 "/usr/include/qt4/QtCore/qalgorithms.h" typedef QtValidLicenseForCoreModule QtCoreModule; namespace QAlgorithmsPrivate { template void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); template inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy); template void qStableSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); template inline void qStableSortHelper(RandomAccessIterator, RandomAccessIterator, const T &); template RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); template RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); template RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); } template inline OutputIterator qCopy(InputIterator begin, InputIterator end, OutputIterator dest) { while (begin != end) *dest++ = *begin++; return dest; } template inline BiIterator2 qCopyBackward(BiIterator1 begin, BiIterator1 end, BiIterator2 dest) { while (begin != end) *--dest = *--end; return dest; } template inline bool qEqual(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) { for (; first1 != last1; ++first1, ++first2) if (!(*first1 == *first2)) return false; return true; } template inline void qFill(ForwardIterator first, ForwardIterator last, const T &val) { for (; first != last; ++first) *first = val; } template inline void qFill(Container &container, const T &val) { qFill(container.begin(), container.end(), val); } template inline InputIterator qFind(InputIterator first, InputIterator last, const T &val) { while (first != last && !(*first == val)) ++first; return first; } template inline typename Container::const_iterator qFind(const Container &container, const T &val) { return qFind(container.constBegin(), container.constEnd(), val); } template inline void qCount(InputIterator first, InputIterator last, const T &value, Size &n) { for (; first != last; ++first) if (*first == value) ++n; } template inline void qCount(const Container &container, const T &value, Size &n) { qCount(container.constBegin(), container.constEnd(), value, n); } # 155 "/usr/include/qt4/QtCore/qalgorithms.h" template class qLess { public: inline bool operator()(const T &t1, const T &t2) const { return (t1 < t2); } }; template class qGreater { public: inline bool operator()(const T &t1, const T &t2) const { return (t2 < t1); } }; template inline void qSort(RandomAccessIterator start, RandomAccessIterator end) { if (start != end) QAlgorithmsPrivate::qSortHelper(start, end, *start); } template inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) { if (start != end) QAlgorithmsPrivate::qSortHelper(start, end, *start, lessThan); } template inline void qSort(Container &c) { if (!c.empty()) QAlgorithmsPrivate::qSortHelper(c.begin(), c.end(), *c.begin()); } template inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end) { if (start != end) QAlgorithmsPrivate::qStableSortHelper(start, end, *start); } template inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) { if (start != end) QAlgorithmsPrivate::qStableSortHelper(start, end, *start, lessThan); } template inline void qStableSort(Container &c) { if (!c.empty()) QAlgorithmsPrivate::qStableSortHelper(c.begin(), c.end(), *c.begin()); } template RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) { RandomAccessIterator middle; int n = end - begin; int half; while (n > 0) { half = n >> 1; middle = begin + half; if (*middle < value) { begin = middle + 1; n -= half + 1; } else { n = half; } } return begin; } template RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { return QAlgorithmsPrivate::qLowerBoundHelper(begin, end, value, lessThan); } template typename Container::const_iterator qLowerBound(const Container &container, const T &value) { return QAlgorithmsPrivate::qLowerBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); } template RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) { RandomAccessIterator middle; int n = end - begin; int half; while (n > 0) { half = n >> 1; middle = begin + half; if (value < *middle) { n = half; } else { begin = middle + 1; n -= half + 1; } } return begin; } template RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { return QAlgorithmsPrivate::qUpperBoundHelper(begin, end, value, lessThan); } template typename Container::const_iterator qUpperBound(const Container &container, const T &value) { return QAlgorithmsPrivate::qUpperBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); } template RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value) { RandomAccessIterator it = qLowerBound(begin, end, value); if (it == end || value < *it) return end; return it; } template RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { return QAlgorithmsPrivate::qBinaryFindHelper(begin, end, value, lessThan); } template typename Container::const_iterator qBinaryFind(const Container &container, const T &value) { return QAlgorithmsPrivate::qBinaryFindHelper(container.constBegin(), container.constEnd(), value, qLess()); } template void qDeleteAll(ForwardIterator begin, ForwardIterator end) { while (begin != end) { delete *begin; ++begin; } } template inline void qDeleteAll(const Container &c) { qDeleteAll(c.begin(), c.end()); } namespace QAlgorithmsPrivate { template void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan) { top: int span = int(end - start); if (span < 2) return; --end; RandomAccessIterator low = start, high = end - 1; RandomAccessIterator pivot = start + span / 2; if (lessThan(*end, *start)) qSwap(*end, *start); if (span == 2) return; if (lessThan(*pivot, *start)) qSwap(*pivot, *start); if (lessThan(*end, *pivot)) qSwap(*end, *pivot); if (span == 3) return; qSwap(*pivot, *end); while (low < high) { while (low < high && lessThan(*low, *end)) ++low; while (high > low && lessThan(*end, *high)) --high; if (low < high) { qSwap(*low, *high); ++low; --high; } else { break; } } if (lessThan(*low, *end)) ++low; qSwap(*end, *low); qSortHelper(start, low, t, lessThan); start = low + 1; ++end; goto top; } template inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) { qSortHelper(begin, end, dummy, qLess()); } template void qReverse(RandomAccessIterator begin, RandomAccessIterator end) { --end; while (begin < end) qSwap(*begin++, *end--); } template void qRotate(RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end) { qReverse(begin, middle); qReverse(middle, end); qReverse(begin, end); } template void qMerge(RandomAccessIterator begin, RandomAccessIterator pivot, RandomAccessIterator end, T &t, LessThan lessThan) { const int len1 = pivot - begin; const int len2 = end - pivot; if (len1 == 0 || len2 == 0) return; if (len1 + len2 == 2) { if (lessThan(*(begin + 1), *(begin))) qSwap(*begin, *(begin + 1)); return; } RandomAccessIterator firstCut; RandomAccessIterator secondCut; int len2Half; if (len1 > len2) { const int len1Half = len1 / 2; firstCut = begin + len1Half; secondCut = qLowerBound(pivot, end, *firstCut, lessThan); len2Half = secondCut - pivot; } else { len2Half = len2 / 2; secondCut = pivot + len2Half; firstCut = qUpperBound(begin, pivot, *secondCut, lessThan); } qRotate(firstCut, pivot, secondCut); const RandomAccessIterator newPivot = firstCut + len2Half; qMerge(begin, firstCut, newPivot, t, lessThan); qMerge(newPivot, secondCut, end, t, lessThan); } template void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &t, LessThan lessThan) { const int span = end - begin; if (span < 2) return; const RandomAccessIterator middle = begin + span / 2; qStableSortHelper(begin, middle, t, lessThan); qStableSortHelper(middle, end, t, lessThan); qMerge(begin, middle, end, t, lessThan); } template inline void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) { qStableSortHelper(begin, end, dummy, qLess()); } template RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { RandomAccessIterator middle; int n = int(end - begin); int half; while (n > 0) { half = n >> 1; middle = begin + half; if (lessThan(*middle, value)) { begin = middle + 1; n -= half + 1; } else { n = half; } } return begin; } template RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { RandomAccessIterator middle; int n = end - begin; int half; while (n > 0) { half = n >> 1; middle = begin + half; if (lessThan(value, *middle)) { n = half; } else { begin = middle + 1; n -= half + 1; } } return begin; } template RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { RandomAccessIterator it = qLowerBoundHelper(begin, end, value, lessThan); if (it == end || lessThan(value, *it)) return end; return it; } } # 46 "/usr/include/qt4/QtCore/qstringlist.h" 2 # 1 "/usr/include/qt4/QtCore/qdatastream.h" 1 # 45 "/usr/include/qt4/QtCore/qdatastream.h" # 1 "/usr/include/qt4/QtCore/qscopedpointer.h" 1 # 47 "/usr/include/qt4/QtCore/qscopedpointer.h" typedef QtValidLicenseForCoreModule QtCoreModule; template struct QScopedPointerDeleter { static inline void cleanup(T *pointer) { typedef char IsIncompleteType[ sizeof(T) ? 1 : -1 ]; (void) sizeof(IsIncompleteType); delete pointer; } }; template struct QScopedPointerArrayDeleter { static inline void cleanup(T *pointer) { typedef char IsIncompleteType[ sizeof(T) ? 1 : -1 ]; (void) sizeof(IsIncompleteType); delete [] pointer; } }; struct QScopedPointerPodDeleter { static inline void cleanup(void *pointer) { if (pointer) qFree(pointer); } }; template > class QScopedPointer { typedef T *QScopedPointer:: *RestrictedBool; public: explicit inline QScopedPointer(T *p = 0) : d(p) { } inline ~QScopedPointer() { T *oldD = this->d; Cleanup::cleanup(oldD); this->d = 0; } inline T &operator*() const { ((!(d)) ? qt_assert("d","/usr/include/qt4/QtCore/qscopedpointer.h",106) : qt_noop()); return *d; } inline T *operator->() const { ((!(d)) ? qt_assert("d","/usr/include/qt4/QtCore/qscopedpointer.h",112) : qt_noop()); return d; } inline bool operator!() const { return !d; } inline operator RestrictedBool() const { return isNull() ? 0 : &QScopedPointer::d; } inline T *data() const { return d; } inline bool isNull() const { return !d; } inline void reset(T *other = 0) { if (d == other) return; T *oldD = d; d = other; Cleanup::cleanup(oldD); } inline T *take() { T *oldD = d; d = 0; return oldD; } inline void swap(QScopedPointer &other) { qSwap(d, other.d); } typedef T *pointer; public: T *d; private: QScopedPointer(const QScopedPointer &); QScopedPointer &operator=(const QScopedPointer &); }; template inline bool operator==(const QScopedPointer &lhs, const QScopedPointer &rhs) { return lhs.data() == rhs.data(); } template inline bool operator!=(const QScopedPointer &lhs, const QScopedPointer &rhs) { return lhs.data() != rhs.data(); } template inline void qSwap(QScopedPointer &p1, QScopedPointer &p2) { p1.swap(p2); } template > class QScopedArrayPointer : public QScopedPointer { public: explicit inline QScopedArrayPointer(T *p = 0) : QScopedPointer(p) { } inline T &operator[](int i) { return this->d[i]; } inline const T &operator[](int i) const { return this->d[i]; } private: QScopedArrayPointer(const QScopedArrayPointer &); QScopedArrayPointer &operator=(const QScopedArrayPointer &); }; # 46 "/usr/include/qt4/QtCore/qdatastream.h" 2 # 1 "/usr/include/qt4/QtCore/qiodevice.h" 1 # 46 "/usr/include/qt4/QtCore/qiodevice.h" # 1 "/usr/include/qt4/QtCore/qobject.h" 1 # 50 "/usr/include/qt4/QtCore/qobject.h" # 1 "/usr/include/qt4/QtCore/qlist.h" 1 # 45 "/usr/include/qt4/QtCore/qlist.h" # 1 "/usr/include/qt4/QtCore/qiterator.h" 1 # 47 "/usr/include/qt4/QtCore/qiterator.h" namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; } typedef QtValidLicenseForCoreModule QtCoreModule; # 198 "/usr/include/qt4/QtCore/qiterator.h" # 46 "/usr/include/qt4/QtCore/qlist.h" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iterator" 1 3 # 58 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iterator" 3 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iterator" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iterator" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ios" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ios" 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ios" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 class locale { public: typedef int category; class facet; class id; class _Impl; friend class facet; friend class _Impl; template friend bool has_facet(const locale&) throw(); template friend const _Facet& use_facet(const locale&); template friend struct __use_cache; # 98 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 static const category none = 0; static const category ctype = 1L << 0; static const category numeric = 1L << 1; static const category collate = 1L << 2; static const category time = 1L << 3; static const category monetary = 1L << 4; static const category messages = 1L << 5; static const category all = (ctype | numeric | collate | time | monetary | messages); # 117 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 locale() throw(); # 126 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 locale(const locale& __other) throw(); # 136 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 explicit locale(const char* __s); # 151 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 locale(const locale& __base, const char* __s, category __cat); # 164 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 locale(const locale& __base, const locale& __add, category __cat); # 176 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 template locale(const locale& __other, _Facet* __f); ~locale() throw(); # 190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 const locale& operator=(const locale& __other) throw(); # 205 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 template locale combine(const locale& __other) const; string name() const; # 224 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 bool operator==(const locale& __other) const throw(); bool operator!=(const locale& __other) const throw() { return !(this->operator==(__other)); } # 252 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 template bool operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, const basic_string<_Char, _Traits, _Alloc>& __s2) const; # 268 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 static locale global(const locale&); static const locale& classic(); private: _Impl* _M_impl; static _Impl* _S_classic; static _Impl* _S_global; static const char* const* const _S_categories; # 303 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 enum { _S_categories_size = 6 + 6 }; static __gthread_once_t _S_once; explicit locale(_Impl*) throw(); static void _S_initialize(); static void _S_initialize_once() throw(); static category _S_normalize_category(category); void _M_coalesce(const locale& __base, const locale& __add, category __cat); }; # 337 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 class locale::facet { private: friend class locale; friend class locale::_Impl; mutable _Atomic_word _M_refcount; static __c_locale _S_c_locale; static const char _S_c_name[2]; static __gthread_once_t _S_once; static void _S_initialize_once(); public: # 368 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 explicit facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) { } virtual ~facet(); static void _S_create_c_locale(__c_locale& __cloc, const char* __s, __c_locale __old = 0); static __c_locale _S_clone_c_locale(__c_locale& __cloc) throw(); static void _S_destroy_c_locale(__c_locale& __cloc); static __c_locale _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); static __c_locale _S_get_c_locale(); __attribute__ ((__const__)) static const char* _S_get_c_name() throw(); private: void _M_add_reference() const throw() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } void _M_remove_reference() const throw() { if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) { try { delete this; } catch(...) { } } } facet(const facet&); facet& operator=(const facet&); }; # 432 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 class locale::id { private: friend class locale; friend class locale::_Impl; template friend const _Facet& use_facet(const locale&); template friend bool has_facet(const locale&) throw(); mutable size_t _M_index; static _Atomic_word _S_refcount; void operator=(const id&); id(const id&); public: id() { } size_t _M_id() const throw(); }; class locale::_Impl { public: friend class locale; friend class locale::facet; template friend bool has_facet(const locale&) throw(); template friend const _Facet& use_facet(const locale&); template friend struct __use_cache; private: _Atomic_word _M_refcount; const facet** _M_facets; size_t _M_facets_size; const facet** _M_caches; char** _M_names; static const locale::id* const _S_id_ctype[]; static const locale::id* const _S_id_numeric[]; static const locale::id* const _S_id_collate[]; static const locale::id* const _S_id_time[]; static const locale::id* const _S_id_monetary[]; static const locale::id* const _S_id_messages[]; static const locale::id* const* const _S_facet_categories[]; void _M_add_reference() throw() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } void _M_remove_reference() throw() { if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) { try { delete this; } catch(...) { } } } _Impl(const _Impl&, size_t); _Impl(const char*, size_t); _Impl(size_t) throw(); ~_Impl() throw(); _Impl(const _Impl&); void operator=(const _Impl&); bool _M_check_same_name() { bool __ret = true; if (_M_names[1]) for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; return __ret; } void _M_replace_categories(const _Impl*, category); void _M_replace_category(const _Impl*, const locale::id* const*); void _M_replace_facet(const _Impl*, const locale::id*); void _M_install_facet(const locale::id*, const facet*); template void _M_init_facet(_Facet* __facet) { _M_install_facet(&_Facet::id, __facet); } void _M_install_cache(const facet*, size_t); }; # 575 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 template bool has_facet(const locale& __loc) throw(); # 592 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 template const _Facet& use_facet(const locale& __loc); # 609 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 template class collate : public locale::facet { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; public: __c_locale _M_c_locale_collate; public: static locale::id id; # 636 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 explicit collate(size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) { } # 650 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 explicit collate(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) { } # 667 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 int compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } # 686 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 string_type transform(const _CharT* __lo, const _CharT* __hi) const { return this->do_transform(__lo, __hi); } # 700 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 long hash(const _CharT* __lo, const _CharT* __hi) const { return this->do_hash(__lo, __hi); } int _M_compare(const _CharT*, const _CharT*) const throw(); size_t _M_transform(_CharT*, const _CharT*, size_t) const throw(); public: virtual ~collate() { _S_destroy_c_locale(_M_c_locale_collate); } # 729 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 virtual int do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const; # 745 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 virtual string_type do_transform(const _CharT* __lo, const _CharT* __hi) const; # 758 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 3 virtual long do_hash(const _CharT* __lo, const _CharT* __hi) const; }; template locale::id collate<_CharT>::id; template<> int collate::_M_compare(const char*, const char*) const throw(); template<> size_t collate::_M_transform(char*, const char*, size_t) const throw(); template<> int collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); template<> size_t collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); template class collate_byname : public collate<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit collate_byname(const char* __s, size_t __refs = 0) : collate<_CharT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { this->_S_destroy_c_locale(this->_M_c_locale_collate); this->_S_create_c_locale(this->_M_c_locale_collate, __s); } } public: virtual ~collate_byname() { } }; } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.tcc" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.tcc" 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template locale:: locale(const locale& __other, _Facet* __f) { _M_impl = new _Impl(*__other._M_impl, 1); try { _M_impl->_M_install_facet(&_Facet::id, __f); } catch(...) { _M_impl->_M_remove_reference(); throw; } delete [] _M_impl->_M_names[0]; _M_impl->_M_names[0] = 0; } template locale locale:: combine(const locale& __other) const { _Impl* __tmp = new _Impl(*_M_impl, 1); try { __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); } catch(...) { __tmp->_M_remove_reference(); throw; } return locale(__tmp); } template bool locale:: operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, const basic_string<_CharT, _Traits, _Alloc>& __s2) const { typedef std::collate<_CharT> __collate_type; const __collate_type& __collate = use_facet<__collate_type>(*this); return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), __s2.data(), __s2.data() + __s2.length()) < 0); } template bool has_facet(const locale& __loc) throw() { const size_t __i = _Facet::id._M_id(); const locale::facet** __facets = __loc._M_impl->_M_facets; return (__i < __loc._M_impl->_M_facets_size && dynamic_cast(__facets[__i])); } template const _Facet& use_facet(const locale& __loc) { const size_t __i = _Facet::id._M_id(); const locale::facet** __facets = __loc._M_impl->_M_facets; if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) __throw_bad_cast(); return dynamic_cast(*__facets[__i]); } template int collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () { return 0; } template size_t collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () { return 0; } template int collate<_CharT>:: do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const { const string_type __one(__lo1, __hi1); const string_type __two(__lo2, __hi2); const _CharT* __p = __one.c_str(); const _CharT* __pend = __one.data() + __one.length(); const _CharT* __q = __two.c_str(); const _CharT* __qend = __two.data() + __two.length(); for (;;) { const int __res = _M_compare(__p, __q); if (__res) return __res; __p += char_traits<_CharT>::length(__p); __q += char_traits<_CharT>::length(__q); if (__p == __pend && __q == __qend) return 0; else if (__p == __pend) return -1; else if (__q == __qend) return 1; __p++; __q++; } } template typename collate<_CharT>::string_type collate<_CharT>:: do_transform(const _CharT* __lo, const _CharT* __hi) const { string_type __ret; const string_type __str(__lo, __hi); const _CharT* __p = __str.c_str(); const _CharT* __pend = __str.data() + __str.length(); size_t __len = (__hi - __lo) * 2; _CharT* __c = new _CharT[__len]; try { for (;;) { size_t __res = _M_transform(__c, __p, __len); if (__res >= __len) { __len = __res + 1; delete [] __c, __c = 0; __c = new _CharT[__len]; __res = _M_transform(__c, __p, __len); } __ret.append(__c, __res); __p += char_traits<_CharT>::length(__p); if (__p == __pend) break; __p++; __ret.push_back(_CharT()); } } catch(...) { delete [] __c; throw; } delete [] __c; return __ret; } template long collate<_CharT>:: do_hash(const _CharT* __lo, const _CharT* __hi) const { unsigned long __val = 0; for (; __lo < __hi; ++__lo) __val = *__lo + ((__val << 7) | (__val >> (__gnu_cxx::__numeric_traits:: __digits - 7))); return static_cast(__val); } extern template class collate; extern template class collate_byname; extern template const collate& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class collate; extern template class collate_byname; extern template const collate& use_facet >(const locale&); extern template bool has_facet >(const locale&); } # 816 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_classes.h" 2 3 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 2 3 # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { enum _Ios_Fmtflags { _S_boolalpha = 1L << 0, _S_dec = 1L << 1, _S_fixed = 1L << 2, _S_hex = 1L << 3, _S_internal = 1L << 4, _S_left = 1L << 5, _S_oct = 1L << 6, _S_right = 1L << 7, _S_scientific = 1L << 8, _S_showbase = 1L << 9, _S_showpoint = 1L << 10, _S_showpos = 1L << 11, _S_skipws = 1L << 12, _S_unitbuf = 1L << 13, _S_uppercase = 1L << 14, _S_adjustfield = _S_left | _S_right | _S_internal, _S_basefield = _S_dec | _S_oct | _S_hex, _S_floatfield = _S_scientific | _S_fixed, _S_ios_fmtflags_end = 1L << 16 }; inline _Ios_Fmtflags operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } inline _Ios_Fmtflags operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } inline _Ios_Fmtflags operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } inline _Ios_Fmtflags& operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a | __b; } inline _Ios_Fmtflags& operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a & __b; } inline _Ios_Fmtflags& operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a ^ __b; } inline _Ios_Fmtflags operator~(_Ios_Fmtflags __a) { return _Ios_Fmtflags(~static_cast(__a)); } enum _Ios_Openmode { _S_app = 1L << 0, _S_ate = 1L << 1, _S_bin = 1L << 2, _S_in = 1L << 3, _S_out = 1L << 4, _S_trunc = 1L << 5, _S_ios_openmode_end = 1L << 16 }; inline _Ios_Openmode operator&(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } inline _Ios_Openmode operator|(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } inline _Ios_Openmode operator^(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } inline _Ios_Openmode& operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a | __b; } inline _Ios_Openmode& operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a & __b; } inline _Ios_Openmode& operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a ^ __b; } inline _Ios_Openmode operator~(_Ios_Openmode __a) { return _Ios_Openmode(~static_cast(__a)); } enum _Ios_Iostate { _S_goodbit = 0, _S_badbit = 1L << 0, _S_eofbit = 1L << 1, _S_failbit = 1L << 2, _S_ios_iostate_end = 1L << 16 }; inline _Ios_Iostate operator&(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } inline _Ios_Iostate operator|(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } inline _Ios_Iostate operator^(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } inline _Ios_Iostate& operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a | __b; } inline _Ios_Iostate& operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a & __b; } inline _Ios_Iostate& operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a ^ __b; } inline _Ios_Iostate operator~(_Ios_Iostate __a) { return _Ios_Iostate(~static_cast(__a)); } enum _Ios_Seekdir { _S_beg = 0, _S_cur = 1, _S_end = 2, _S_ios_seekdir_end = 1L << 16 }; # 207 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 class ios_base { public: class failure : public exception { public: explicit failure(const string& __str) throw(); virtual ~failure() throw(); virtual const char* what() const throw(); private: string _M_msg; }; # 263 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 typedef _Ios_Fmtflags fmtflags; static const fmtflags boolalpha = _S_boolalpha; static const fmtflags dec = _S_dec; static const fmtflags fixed = _S_fixed; static const fmtflags hex = _S_hex; static const fmtflags internal = _S_internal; static const fmtflags left = _S_left; static const fmtflags oct = _S_oct; static const fmtflags right = _S_right; static const fmtflags scientific = _S_scientific; static const fmtflags showbase = _S_showbase; static const fmtflags showpoint = _S_showpoint; static const fmtflags showpos = _S_showpos; static const fmtflags skipws = _S_skipws; static const fmtflags unitbuf = _S_unitbuf; static const fmtflags uppercase = _S_uppercase; static const fmtflags adjustfield = _S_adjustfield; static const fmtflags basefield = _S_basefield; static const fmtflags floatfield = _S_floatfield; # 338 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 typedef _Ios_Iostate iostate; static const iostate badbit = _S_badbit; static const iostate eofbit = _S_eofbit; static const iostate failbit = _S_failbit; static const iostate goodbit = _S_goodbit; # 369 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 typedef _Ios_Openmode openmode; static const openmode app = _S_app; static const openmode ate = _S_ate; static const openmode binary = _S_bin; static const openmode in = _S_in; static const openmode out = _S_out; static const openmode trunc = _S_trunc; # 401 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 typedef _Ios_Seekdir seekdir; static const seekdir beg = _S_beg; static const seekdir cur = _S_cur; static const seekdir end = _S_end; typedef int io_state; typedef int open_mode; typedef int seek_dir; typedef std::streampos streampos; typedef std::streamoff streamoff; # 427 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 enum event { erase_event, imbue_event, copyfmt_event }; # 444 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 typedef void (*event_callback) (event, ios_base&, int); # 456 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 void register_callback(event_callback __fn, int __index); public: streamsize _M_precision; streamsize _M_width; fmtflags _M_flags; iostate _M_exception; iostate _M_streambuf_state; struct _Callback_list { _Callback_list* _M_next; ios_base::event_callback _M_fn; int _M_index; _Atomic_word _M_refcount; _Callback_list(ios_base::event_callback __fn, int __index, _Callback_list* __cb) : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } void _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } int _M_remove_reference() { return __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); } }; _Callback_list* _M_callbacks; void _M_call_callbacks(event __ev) throw(); void _M_dispose_callbacks(void) throw(); struct _Words { void* _M_pword; long _M_iword; _Words() : _M_pword(0), _M_iword(0) { } }; _Words _M_word_zero; enum { _S_local_word_size = 8 }; _Words _M_local_word[_S_local_word_size]; int _M_word_size; _Words* _M_word; _Words& _M_grow_words(int __index, bool __iword); locale _M_ios_locale; void _M_init() throw(); public: class Init { friend class ios_base; public: Init(); ~Init(); private: static _Atomic_word _S_refcount; static bool _S_synced_with_stdio; }; fmtflags flags() const { return _M_flags; } # 560 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 fmtflags flags(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags = __fmtfl; return __old; } # 576 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags |= __fmtfl; return __old; } # 593 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl, fmtflags __mask) { fmtflags __old = _M_flags; _M_flags &= ~__mask; _M_flags |= (__fmtfl & __mask); return __old; } void unsetf(fmtflags __mask) { _M_flags &= ~__mask; } # 619 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 streamsize precision() const { return _M_precision; } streamsize precision(streamsize __prec) { streamsize __old = _M_precision; _M_precision = __prec; return __old; } streamsize width() const { return _M_width; } streamsize width(streamsize __wide) { streamsize __old = _M_width; _M_width = __wide; return __old; } # 670 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 static bool sync_with_stdio(bool __sync = true); # 682 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 locale imbue(const locale& __loc) throw(); # 693 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 locale getloc() const { return _M_ios_locale; } # 704 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 const locale& _M_getloc() const { return _M_ios_locale; } # 723 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 static int xalloc() throw(); # 739 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 long& iword(int __ix) { _Words& __word = (__ix < _M_word_size) ? _M_word[__ix] : _M_grow_words(__ix, true); return __word._M_iword; } # 760 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 void*& pword(int __ix) { _Words& __word = (__ix < _M_word_size) ? _M_word[__ix] : _M_grow_words(__ix, false); return __word._M_pword; } # 777 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ios_base.h" 3 virtual ~ios_base(); public: ios_base() throw (); private: ios_base(const ios_base&); ios_base& operator=(const ios_base&); }; inline ios_base& boolalpha(ios_base& __base) { __base.setf(ios_base::boolalpha); return __base; } inline ios_base& noboolalpha(ios_base& __base) { __base.unsetf(ios_base::boolalpha); return __base; } inline ios_base& showbase(ios_base& __base) { __base.setf(ios_base::showbase); return __base; } inline ios_base& noshowbase(ios_base& __base) { __base.unsetf(ios_base::showbase); return __base; } inline ios_base& showpoint(ios_base& __base) { __base.setf(ios_base::showpoint); return __base; } inline ios_base& noshowpoint(ios_base& __base) { __base.unsetf(ios_base::showpoint); return __base; } inline ios_base& showpos(ios_base& __base) { __base.setf(ios_base::showpos); return __base; } inline ios_base& noshowpos(ios_base& __base) { __base.unsetf(ios_base::showpos); return __base; } inline ios_base& skipws(ios_base& __base) { __base.setf(ios_base::skipws); return __base; } inline ios_base& noskipws(ios_base& __base) { __base.unsetf(ios_base::skipws); return __base; } inline ios_base& uppercase(ios_base& __base) { __base.setf(ios_base::uppercase); return __base; } inline ios_base& nouppercase(ios_base& __base) { __base.unsetf(ios_base::uppercase); return __base; } inline ios_base& unitbuf(ios_base& __base) { __base.setf(ios_base::unitbuf); return __base; } inline ios_base& nounitbuf(ios_base& __base) { __base.unsetf(ios_base::unitbuf); return __base; } inline ios_base& internal(ios_base& __base) { __base.setf(ios_base::internal, ios_base::adjustfield); return __base; } inline ios_base& left(ios_base& __base) { __base.setf(ios_base::left, ios_base::adjustfield); return __base; } inline ios_base& right(ios_base& __base) { __base.setf(ios_base::right, ios_base::adjustfield); return __base; } inline ios_base& dec(ios_base& __base) { __base.setf(ios_base::dec, ios_base::basefield); return __base; } inline ios_base& hex(ios_base& __base) { __base.setf(ios_base::hex, ios_base::basefield); return __base; } inline ios_base& oct(ios_base& __base) { __base.setf(ios_base::oct, ios_base::basefield); return __base; } inline ios_base& fixed(ios_base& __base) { __base.setf(ios_base::fixed, ios_base::floatfield); return __base; } inline ios_base& scientific(ios_base& __base) { __base.setf(ios_base::scientific, ios_base::floatfield); return __base; } } # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ios" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, basic_streambuf<_CharT, _Traits>*, bool&); # 114 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 template class basic_streambuf { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_streambuf __streambuf_type; friend class basic_ios; friend class basic_istream; friend class basic_ostream; friend class istreambuf_iterator; friend class ostreambuf_iterator; friend streamsize __copy_streambufs_eof<>(__streambuf_type*, __streambuf_type*, bool&); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_move_a2(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, _CharT2*); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, istreambuf_iterator<_CharT2> >::__type find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, const _CharT2&); template friend basic_istream<_CharT2, _Traits2>& operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); template friend basic_istream<_CharT2, _Traits2>& operator>>(basic_istream<_CharT2, _Traits2>&, basic_string<_CharT2, _Traits2, _Alloc>&); template friend basic_istream<_CharT2, _Traits2>& getline(basic_istream<_CharT2, _Traits2>&, basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); public: # 180 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 char_type* _M_in_beg; char_type* _M_in_cur; char_type* _M_in_end; char_type* _M_out_beg; char_type* _M_out_cur; char_type* _M_out_end; locale _M_buf_locale; public: virtual ~basic_streambuf() { } # 204 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 locale pubimbue(const locale &__loc) { locale __tmp(this->getloc()); this->imbue(__loc); _M_buf_locale = __loc; return __tmp; } # 221 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 locale getloc() const { return _M_buf_locale; } # 234 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 __streambuf_type* pubsetbuf(char_type* __s, streamsize __n) { return this->setbuf(__s, __n); } pos_type pubseekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out) { return this->seekoff(__off, __way, __mode); } pos_type pubseekpos(pos_type __sp, ios_base::openmode __mode = ios_base::in | ios_base::out) { return this->seekpos(__sp, __mode); } int pubsync() { return this->sync(); } # 261 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 streamsize in_avail() { const streamsize __ret = this->egptr() - this->gptr(); return __ret ? __ret : this->showmanyc(); } # 275 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 int_type snextc() { int_type __ret = traits_type::eof(); if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), __ret), true)) __ret = this->sgetc(); return __ret; } # 293 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 int_type sbumpc() { int_type __ret; if (__builtin_expect(this->gptr() < this->egptr(), true)) { __ret = traits_type::to_int_type(*this->gptr()); this->gbump(1); } else __ret = this->uflow(); return __ret; } # 315 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 int_type sgetc() { int_type __ret; if (__builtin_expect(this->gptr() < this->egptr(), true)) __ret = traits_type::to_int_type(*this->gptr()); else __ret = this->underflow(); return __ret; } # 334 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 streamsize sgetn(char_type* __s, streamsize __n) { return this->xsgetn(__s, __n); } # 349 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 int_type sputbackc(char_type __c) { int_type __ret; const bool __testpos = this->eback() < this->gptr(); if (__builtin_expect(!__testpos || !traits_type::eq(__c, this->gptr()[-1]), false)) __ret = this->pbackfail(traits_type::to_int_type(__c)); else { this->gbump(-1); __ret = traits_type::to_int_type(*this->gptr()); } return __ret; } # 374 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 int_type sungetc() { int_type __ret; if (__builtin_expect(this->eback() < this->gptr(), true)) { this->gbump(-1); __ret = traits_type::to_int_type(*this->gptr()); } else __ret = this->pbackfail(); return __ret; } # 401 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 int_type sputc(char_type __c) { int_type __ret; if (__builtin_expect(this->pptr() < this->epptr(), true)) { *this->pptr() = __c; this->pbump(1); __ret = traits_type::to_int_type(__c); } else __ret = this->overflow(traits_type::to_int_type(__c)); return __ret; } # 427 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 streamsize sputn(const char_type* __s, streamsize __n) { return this->xsputn(__s, __n); } public: # 441 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 basic_streambuf() : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), _M_out_beg(0), _M_out_cur(0), _M_out_end(0), _M_buf_locale(locale()) { } # 459 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 char_type* eback() const { return _M_in_beg; } char_type* gptr() const { return _M_in_cur; } char_type* egptr() const { return _M_in_end; } # 475 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 void gbump(int __n) { _M_in_cur += __n; } # 486 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 void setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) { _M_in_beg = __gbeg; _M_in_cur = __gnext; _M_in_end = __gend; } # 506 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 char_type* pbase() const { return _M_out_beg; } char_type* pptr() const { return _M_out_cur; } char_type* epptr() const { return _M_out_end; } # 522 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 void pbump(int __n) { _M_out_cur += __n; } # 532 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 void setp(char_type* __pbeg, char_type* __pend) { _M_out_beg = _M_out_cur = __pbeg; _M_out_end = __pend; } # 553 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual void imbue(const locale&) { } # 568 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual basic_streambuf* setbuf(char_type*, streamsize) { return this; } # 579 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual pos_type seekoff(off_type, ios_base::seekdir, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 591 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual pos_type seekpos(pos_type, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 604 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual int sync() { return 0; } # 626 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual streamsize showmanyc() { return 0; } # 642 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual streamsize xsgetn(char_type* __s, streamsize __n); # 664 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual int_type underflow() { return traits_type::eof(); } # 677 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual int_type uflow() { int_type __ret = traits_type::eof(); const bool __testeof = traits_type::eq_int_type(this->underflow(), __ret); if (!__testeof) { __ret = traits_type::to_int_type(*this->gptr()); this->gbump(1); } return __ret; } # 701 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual int_type pbackfail(int_type = traits_type::eof()) { return traits_type::eof(); } # 719 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual streamsize xsputn(const char_type* __s, streamsize __n); # 745 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 virtual int_type overflow(int_type = traits_type::eof()) { return traits_type::eof(); } public: # 760 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 3 void stossc() { if (this->gptr() < this->egptr()) this->gbump(1); else this->uflow(); } private: basic_streambuf(const __streambuf_type& __sb) : _M_in_beg(__sb._M_in_beg), _M_in_cur(__sb._M_in_cur), _M_in_end(__sb._M_in_end), _M_out_beg(__sb._M_out_beg), _M_out_cur(__sb._M_out_cur), _M_out_end(__sb._M_out_cur), _M_buf_locale(__sb._M_buf_locale) { } __streambuf_type& operator=(const __streambuf_type&) { return *this; }; }; template<> streamsize __copy_streambufs_eof(basic_streambuf* __sbin, basic_streambuf* __sbout, bool& __ineof); template<> streamsize __copy_streambufs_eof(basic_streambuf* __sbin, basic_streambuf* __sbout, bool& __ineof); } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/streambuf.tcc" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/streambuf.tcc" 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/streambuf.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template streamsize basic_streambuf<_CharT, _Traits>:: xsgetn(char_type* __s, streamsize __n) { streamsize __ret = 0; while (__ret < __n) { const streamsize __buf_len = this->egptr() - this->gptr(); if (__buf_len) { const streamsize __remaining = __n - __ret; const streamsize __len = std::min(__buf_len, __remaining); traits_type::copy(__s, this->gptr(), __len); __ret += __len; __s += __len; this->gbump(__len); } if (__ret < __n) { const int_type __c = this->uflow(); if (!traits_type::eq_int_type(__c, traits_type::eof())) { traits_type::assign(*__s++, traits_type::to_char_type(__c)); ++__ret; } else break; } } return __ret; } template streamsize basic_streambuf<_CharT, _Traits>:: xsputn(const char_type* __s, streamsize __n) { streamsize __ret = 0; while (__ret < __n) { const streamsize __buf_len = this->epptr() - this->pptr(); if (__buf_len) { const streamsize __remaining = __n - __ret; const streamsize __len = std::min(__buf_len, __remaining); traits_type::copy(this->pptr(), __s, __len); __ret += __len; __s += __len; this->pbump(__len); } if (__ret < __n) { int_type __c = this->overflow(traits_type::to_int_type(*__s)); if (!traits_type::eq_int_type(__c, traits_type::eof())) { ++__ret; ++__s; } else break; } } return __ret; } template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout, bool& __ineof) { streamsize __ret = 0; __ineof = true; typename _Traits::int_type __c = __sbin->sgetc(); while (!_Traits::eq_int_type(__c, _Traits::eof())) { __c = __sbout->sputc(_Traits::to_char_type(__c)); if (_Traits::eq_int_type(__c, _Traits::eof())) { __ineof = false; break; } ++__ret; __c = __sbin->snextc(); } return __ret; } template inline streamsize __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout) { bool __ineof; return __copy_streambufs_eof(__sbin, __sbout, __ineof); } extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_streambuf*, basic_streambuf*); extern template streamsize __copy_streambufs_eof(basic_streambuf*, basic_streambuf*, bool&); extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_streambuf*, basic_streambuf*); extern template streamsize __copy_streambufs_eof(basic_streambuf*, basic_streambuf*, bool&); } # 800 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/streambuf" 2 3 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ios" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 1 3 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwctype" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwctype" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwctype" 3 # 1 "/usr/include/wctype.h" 1 3 4 # 34 "/usr/include/wctype.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 35 "/usr/include/wctype.h" 2 3 4 # 50 "/usr/include/wctype.h" 3 4 typedef unsigned long int wctype_t; # 72 "/usr/include/wctype.h" 3 4 enum { __ISwupper = 0, __ISwlower = 1, __ISwalpha = 2, __ISwdigit = 3, __ISwxdigit = 4, __ISwspace = 5, __ISwprint = 6, __ISwgraph = 7, __ISwblank = 8, __ISwcntrl = 9, __ISwpunct = 10, __ISwalnum = 11, _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) }; extern "C" { extern int iswalnum (wint_t __wc) throw (); extern int iswalpha (wint_t __wc) throw (); extern int iswcntrl (wint_t __wc) throw (); extern int iswdigit (wint_t __wc) throw (); extern int iswgraph (wint_t __wc) throw (); extern int iswlower (wint_t __wc) throw (); extern int iswprint (wint_t __wc) throw (); extern int iswpunct (wint_t __wc) throw (); extern int iswspace (wint_t __wc) throw (); extern int iswupper (wint_t __wc) throw (); extern int iswxdigit (wint_t __wc) throw (); extern int iswblank (wint_t __wc) throw (); # 172 "/usr/include/wctype.h" 3 4 extern wctype_t wctype (__const char *__property) throw (); extern int iswctype (wint_t __wc, wctype_t __desc) throw (); typedef __const __int32_t *wctrans_t; extern wint_t towlower (wint_t __wc) throw (); extern wint_t towupper (wint_t __wc) throw (); } # 214 "/usr/include/wctype.h" 3 4 extern "C" { extern wctrans_t wctrans (__const char *__property) throw (); extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw (); extern int iswalnum_l (wint_t __wc, __locale_t __locale) throw (); extern int iswalpha_l (wint_t __wc, __locale_t __locale) throw (); extern int iswcntrl_l (wint_t __wc, __locale_t __locale) throw (); extern int iswdigit_l (wint_t __wc, __locale_t __locale) throw (); extern int iswgraph_l (wint_t __wc, __locale_t __locale) throw (); extern int iswlower_l (wint_t __wc, __locale_t __locale) throw (); extern int iswprint_l (wint_t __wc, __locale_t __locale) throw (); extern int iswpunct_l (wint_t __wc, __locale_t __locale) throw (); extern int iswspace_l (wint_t __wc, __locale_t __locale) throw (); extern int iswupper_l (wint_t __wc, __locale_t __locale) throw (); extern int iswxdigit_l (wint_t __wc, __locale_t __locale) throw (); extern int iswblank_l (wint_t __wc, __locale_t __locale) throw (); extern wctype_t wctype_l (__const char *__property, __locale_t __locale) throw (); extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale) throw (); extern wint_t towlower_l (wint_t __wc, __locale_t __locale) throw (); extern wint_t towupper_l (wint_t __wc, __locale_t __locale) throw (); extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale) throw (); extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, __locale_t __locale) throw (); } # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwctype" 2 3 # 76 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cwctype" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::wctrans_t; using ::wctype_t; using ::wint_t; using ::iswalnum; using ::iswalpha; using ::iswblank; using ::iswcntrl; using ::iswctype; using ::iswdigit; using ::iswgraph; using ::iswlower; using ::iswprint; using ::iswpunct; using ::iswspace; using ::iswupper; using ::iswxdigit; using ::towctrans; using ::towlower; using ::towupper; using ::wctrans; using ::wctype; } # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cctype" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cctype" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cctype" 3 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_base.h" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_base.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct ctype_base { typedef const int* __to_type; typedef unsigned short mask; static const mask upper = _ISupper; static const mask lower = _ISlower; static const mask alpha = _ISalpha; static const mask digit = _ISdigit; static const mask xdigit = _ISxdigit; static const mask space = _ISspace; static const mask print = _ISprint; static const mask graph = _ISalpha | _ISdigit | _ISpunct; static const mask cntrl = _IScntrl; static const mask punct = _ISpunct; static const mask alnum = _ISalpha | _ISdigit; }; } # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/streambuf_iterator.h" 1 3 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/streambuf_iterator.h" 3 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/streambuf_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/streambuf_iterator.h" 3 template class istreambuf_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename _Traits::int_type int_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_istream<_CharT, _Traits> istream_type; template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, ostreambuf_iterator<_CharT2> >::__type copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, ostreambuf_iterator<_CharT2>); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_move_a2(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, _CharT2*); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, istreambuf_iterator<_CharT2> >::__type find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, const _CharT2&); private: mutable streambuf_type* _M_sbuf; mutable int_type _M_c; public: istreambuf_iterator() throw() : _M_sbuf(0), _M_c(traits_type::eof()) { } istreambuf_iterator(istream_type& __s) throw() : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } istreambuf_iterator(streambuf_type* __s) throw() : _M_sbuf(__s), _M_c(traits_type::eof()) { } char_type operator*() const { return traits_type::to_char_type(_M_get()); } istreambuf_iterator& operator++() { ; if (_M_sbuf) { _M_sbuf->sbumpc(); _M_c = traits_type::eof(); } return *this; } istreambuf_iterator operator++(int) { ; istreambuf_iterator __old = *this; if (_M_sbuf) { __old._M_c = _M_sbuf->sbumpc(); _M_c = traits_type::eof(); } return __old; } bool equal(const istreambuf_iterator& __b) const { return _M_at_eof() == __b._M_at_eof(); } private: int_type _M_get() const { const int_type __eof = traits_type::eof(); int_type __ret = __eof; if (_M_sbuf) { if (!traits_type::eq_int_type(_M_c, __eof)) __ret = _M_c; else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()), __eof)) _M_c = __ret; else _M_sbuf = 0; } return __ret; } bool _M_at_eof() const { const int_type __eof = traits_type::eof(); return traits_type::eq_int_type(_M_get(), __eof); } }; template inline bool operator==(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_iterator<_CharT, _Traits>& __b) { return __a.equal(__b); } template inline bool operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_iterator<_CharT, _Traits>& __b) { return !__a.equal(__b); } template class ostreambuf_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_ostream<_CharT, _Traits> ostream_type; template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, ostreambuf_iterator<_CharT2> >::__type copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, ostreambuf_iterator<_CharT2>); private: streambuf_type* _M_sbuf; bool _M_failed; public: ostreambuf_iterator(ostream_type& __s) throw () : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } ostreambuf_iterator(streambuf_type* __s) throw () : _M_sbuf(__s), _M_failed(!_M_sbuf) { } ostreambuf_iterator& operator=(_CharT __c) { if (!_M_failed && _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) _M_failed = true; return *this; } ostreambuf_iterator& operator*() { return *this; } ostreambuf_iterator& operator++(int) { return *this; } ostreambuf_iterator& operator++() { return *this; } bool failed() const throw() { return _M_failed; } ostreambuf_iterator& _M_put(const _CharT* __ws, streamsize __len) { if (__builtin_expect(!_M_failed, true) && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, false)) _M_failed = true; return *this; } }; template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type copy(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, ostreambuf_iterator<_CharT> __result) { if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) { bool __ineof; __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); if (!__ineof) __result._M_failed = true; } return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type __copy_move_a2(_CharT* __first, _CharT* __last, ostreambuf_iterator<_CharT> __result) { const streamsize __num = __last - __first; if (__num > 0) __result._M_put(__first, __num); return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type __copy_move_a2(const _CharT* __first, const _CharT* __last, ostreambuf_iterator<_CharT> __result) { const streamsize __num = __last - __first; if (__num > 0) __result._M_put(__first, __num); return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type __copy_move_a2(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, _CharT* __result) { typedef istreambuf_iterator<_CharT> __is_iterator_type; typedef typename __is_iterator_type::traits_type traits_type; typedef typename __is_iterator_type::streambuf_type streambuf_type; typedef typename traits_type::int_type int_type; if (__first._M_sbuf && !__last._M_sbuf) { streambuf_type* __sb = __first._M_sbuf; int_type __c = __sb->sgetc(); while (!traits_type::eq_int_type(__c, traits_type::eof())) { const streamsize __n = __sb->egptr() - __sb->gptr(); if (__n > 1) { traits_type::copy(__result, __sb->gptr(), __n); __sb->gbump(__n); __result += __n; __c = __sb->underflow(); } else { *__result++ = traits_type::to_char_type(__c); __c = __sb->snextc(); } } } return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, istreambuf_iterator<_CharT> >::__type find(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, const _CharT& __val) { typedef istreambuf_iterator<_CharT> __is_iterator_type; typedef typename __is_iterator_type::traits_type traits_type; typedef typename __is_iterator_type::streambuf_type streambuf_type; typedef typename traits_type::int_type int_type; if (__first._M_sbuf && !__last._M_sbuf) { const int_type __ival = traits_type::to_int_type(__val); streambuf_type* __sb = __first._M_sbuf; int_type __c = __sb->sgetc(); while (!traits_type::eq_int_type(__c, traits_type::eof()) && !traits_type::eq_int_type(__c, __ival)) { streamsize __n = __sb->egptr() - __sb->gptr(); if (__n > 1) { const _CharT* __p = traits_type::find(__sb->gptr(), __n, __val); if (__p) __n = __p - __sb->gptr(); __sb->gbump(__n); __c = __sb->sgetc(); } else __c = __sb->snextc(); } if (!traits_type::eq_int_type(__c, traits_type::eof())) __first._M_c = __c; else __first._M_sbuf = 0; } return __first; } } # 51 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 template void __convert_to_v(const char*, _Tp&, ios_base::iostate&, const __c_locale&) throw(); template<> void __convert_to_v(const char*, float&, ios_base::iostate&, const __c_locale&) throw(); template<> void __convert_to_v(const char*, double&, ios_base::iostate&, const __c_locale&) throw(); template<> void __convert_to_v(const char*, long double&, ios_base::iostate&, const __c_locale&) throw(); template struct __pad { static void _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, const _CharT* __olds, streamsize __newlen, streamsize __oldlen); }; template _CharT* __add_grouping(_CharT* __s, _CharT __sep, const char* __gbeg, size_t __gsize, const _CharT* __first, const _CharT* __last); template inline ostreambuf_iterator<_CharT> __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) { __s._M_put(__ws, __len); return __s; } template inline _OutIter __write(_OutIter __s, const _CharT* __ws, int __len) { for (int __j = 0; __j < __len; __j++, ++__s) *__s = __ws[__j]; return __s; } # 142 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 template class __ctype_abstract_base : public locale::facet, public ctype_base { public: typedef _CharT char_type; # 160 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 bool is(mask __m, char_type __c) const { return this->do_is(__m, __c); } # 177 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* is(const char_type *__lo, const char_type *__hi, mask *__vec) const { return this->do_is(__lo, __hi, __vec); } # 193 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* scan_is(mask __m, const char_type* __lo, const char_type* __hi) const { return this->do_scan_is(__m, __lo, __hi); } # 209 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* scan_not(mask __m, const char_type* __lo, const char_type* __hi) const { return this->do_scan_not(__m, __lo, __hi); } # 223 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 238 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* toupper(char_type *__lo, const char_type* __hi) const { return this->do_toupper(__lo, __hi); } # 252 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 267 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* tolower(char_type* __lo, const char_type* __hi) const { return this->do_tolower(__lo, __hi); } # 284 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char_type widen(char __c) const { return this->do_widen(__c); } # 303 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { return this->do_widen(__lo, __hi, __to); } # 322 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { return this->do_narrow(__c, __dfault); } # 344 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* narrow(const char_type* __lo, const char_type* __hi, char __dfault, char *__to) const { return this->do_narrow(__lo, __hi, __dfault, __to); } public: explicit __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } virtual ~__ctype_abstract_base() { } # 369 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const = 0; # 388 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const = 0; # 407 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const = 0; # 426 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const = 0; # 444 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type) const = 0; # 461 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const = 0; # 477 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type) const = 0; # 494 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const = 0; # 513 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_widen(char) const = 0; # 534 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const = 0; # 556 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char do_narrow(char_type, char __dfault) const = 0; # 580 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __dest) const = 0; }; # 603 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 template class ctype : public __ctype_abstract_base<_CharT> { public: typedef _CharT char_type; typedef typename __ctype_abstract_base<_CharT>::mask mask; static locale::id id; explicit ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } public: virtual ~ctype(); virtual bool do_is(mask __m, char_type __c) const; virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; virtual char_type do_toupper(char_type __c) const; virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; virtual char_type do_tolower(char_type __c) const; virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; virtual char_type do_widen(char __c) const; virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const; virtual char do_narrow(char_type, char __dfault) const; virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __dest) const; }; template locale::id ctype<_CharT>::id; # 672 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 template<> class ctype : public locale::facet, public ctype_base { public: typedef char char_type; public: __c_locale _M_c_locale_ctype; bool _M_del; __to_type _M_toupper; __to_type _M_tolower; const mask* _M_table; mutable char _M_widen_ok; mutable char _M_widen[1 + static_cast(-1)]; mutable char _M_narrow[1 + static_cast(-1)]; mutable char _M_narrow_ok; public: static locale::id id; static const size_t table_size = 1 + static_cast(-1); # 709 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 explicit ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); # 722 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 explicit ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, size_t __refs = 0); # 735 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 inline bool is(mask __m, char __c) const; # 750 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 inline const char* is(const char* __lo, const char* __hi, mask* __vec) const; # 764 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 inline const char* scan_is(mask __m, const char* __lo, const char* __hi) const; # 778 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 inline const char* scan_not(mask __m, const char* __lo, const char* __hi) const; # 793 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 810 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* toupper(char_type *__lo, const char_type* __hi) const { return this->do_toupper(__lo, __hi); } # 826 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 843 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* tolower(char_type* __lo, const char_type* __hi) const { return this->do_tolower(__lo, __hi); } # 863 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char_type widen(char __c) const { if (_M_widen_ok) return _M_widen[static_cast(__c)]; this->_M_widen_init(); return this->do_widen(__c); } # 890 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { if (_M_widen_ok == 1) { __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } if (!_M_widen_ok) _M_widen_init(); return this->do_widen(__lo, __hi, __to); } # 921 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { if (_M_narrow[static_cast(__c)]) return _M_narrow[static_cast(__c)]; const char __t = do_narrow(__c, __dfault); if (__t != __dfault) _M_narrow[static_cast(__c)] = __t; return __t; } # 954 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 const char_type* narrow(const char_type* __lo, const char_type* __hi, char __dfault, char *__to) const { if (__builtin_expect(_M_narrow_ok == 1, true)) { __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } if (!_M_narrow_ok) _M_narrow_init(); return this->do_narrow(__lo, __hi, __dfault, __to); } const mask* table() const throw() { return _M_table; } static const mask* classic_table() throw(); public: virtual ~ctype(); # 1003 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type) const; # 1020 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1036 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type) const; # 1053 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1073 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const { return __c; } # 1096 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const { __builtin_memcpy(__dest, __lo, __hi - __lo); return __hi; } # 1122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char) const { return __c; } # 1148 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char, char* __dest) const { __builtin_memcpy(__dest, __lo, __hi - __lo); return __hi; } private: void _M_narrow_init() const; void _M_widen_init() const; }; # 1173 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 template<> class ctype : public __ctype_abstract_base { public: typedef wchar_t char_type; typedef wctype_t __wmask_type; public: __c_locale _M_c_locale_ctype; bool _M_narrow_ok; char _M_narrow[128]; wint_t _M_widen[1 + static_cast(-1)]; mask _M_bit[16]; __wmask_type _M_wmask[16]; public: static locale::id id; # 1206 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 explicit ctype(size_t __refs = 0); # 1217 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 explicit ctype(__c_locale __cloc, size_t __refs = 0); public: __wmask_type _M_convert_to_wmask(const mask __m) const throw(); virtual ~ctype(); # 1241 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const; # 1260 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; # 1278 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; # 1296 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; # 1313 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type) const; # 1330 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1346 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type) const; # 1363 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1383 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_widen(char) const; # 1405 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const; # 1428 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char do_narrow(char_type, char __dfault) const; # 1454 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __dest) const; void _M_initialize_ctype() throw(); }; template class ctype_byname : public ctype<_CharT> { public: typedef typename ctype<_CharT>::mask mask; explicit ctype_byname(const char* __s, size_t __refs = 0); public: virtual ~ctype_byname() { }; }; template<> class ctype_byname : public ctype { public: explicit ctype_byname(const char* __s, size_t __refs = 0); public: virtual ~ctype_byname(); }; template<> class ctype_byname : public ctype { public: explicit ctype_byname(const char* __s, size_t __refs = 0); public: virtual ~ctype_byname(); }; } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_inline.h" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_inline.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { bool ctype:: is(mask __m, char __c) const { return _M_table[static_cast(__c)] & __m; } const char* ctype:: is(const char* __low, const char* __high, mask* __vec) const { while (__low < __high) *__vec++ = _M_table[static_cast(*__low++)]; return __high; } const char* ctype:: scan_is(mask __m, const char* __low, const char* __high) const { while (__low < __high && !(_M_table[static_cast(*__low)] & __m)) ++__low; return __low; } const char* ctype:: scan_not(mask __m, const char* __low, const char* __high) const { while (__low < __high && (_M_table[static_cast(*__low)] & __m) != 0) ++__low; return __low; } } # 1510 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { class __num_base { public: enum { _S_ominus, _S_oplus, _S_ox, _S_oX, _S_odigits, _S_odigits_end = _S_odigits + 16, _S_oudigits = _S_odigits_end, _S_oudigits_end = _S_oudigits + 16, _S_oe = _S_odigits + 14, _S_oE = _S_oudigits + 14, _S_oend = _S_oudigits_end }; static const char* _S_atoms_out; static const char* _S_atoms_in; enum { _S_iminus, _S_iplus, _S_ix, _S_iX, _S_izero, _S_ie = _S_izero + 14, _S_iE = _S_izero + 20, _S_iend = 26 }; static void _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); }; template struct __numpunct_cache : public locale::facet { const char* _M_grouping; size_t _M_grouping_size; bool _M_use_grouping; const _CharT* _M_truename; size_t _M_truename_size; const _CharT* _M_falsename; size_t _M_falsename_size; _CharT _M_decimal_point; _CharT _M_thousands_sep; _CharT _M_atoms_out[__num_base::_S_oend]; _CharT _M_atoms_in[__num_base::_S_iend]; bool _M_allocated; __numpunct_cache(size_t __refs = 0) : facet(__refs), _M_grouping(__null), _M_grouping_size(0), _M_use_grouping(false), _M_truename(__null), _M_truename_size(0), _M_falsename(__null), _M_falsename_size(0), _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()), _M_allocated(false) { } ~__numpunct_cache(); void _M_cache(const locale& __loc); private: __numpunct_cache& operator=(const __numpunct_cache&); explicit __numpunct_cache(const __numpunct_cache&); }; template __numpunct_cache<_CharT>::~__numpunct_cache() { if (_M_allocated) { delete [] _M_grouping; delete [] _M_truename; delete [] _M_falsename; } } # 1635 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 template class numpunct : public locale::facet { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; typedef __numpunct_cache<_CharT> __cache_type; public: __cache_type* _M_data; public: static locale::id id; explicit numpunct(size_t __refs = 0) : facet(__refs), _M_data(__null) { _M_initialize_numpunct(); } # 1672 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 explicit numpunct(__cache_type* __cache, size_t __refs = 0) : facet(__refs), _M_data(__cache) { _M_initialize_numpunct(); } # 1686 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 explicit numpunct(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_data(__null) { _M_initialize_numpunct(__cloc); } # 1700 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char_type decimal_point() const { return this->do_decimal_point(); } # 1713 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 char_type thousands_sep() const { return this->do_thousands_sep(); } # 1744 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 string grouping() const { return this->do_grouping(); } # 1757 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 string_type truename() const { return this->do_truename(); } # 1770 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 string_type falsename() const { return this->do_falsename(); } public: virtual ~numpunct(); # 1787 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_decimal_point() const { return _M_data->_M_decimal_point; } # 1799 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual char_type do_thousands_sep() const { return _M_data->_M_thousands_sep; } # 1812 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual string do_grouping() const { return _M_data->_M_grouping; } # 1825 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual string_type do_truename() const { return _M_data->_M_truename; } # 1838 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual string_type do_falsename() const { return _M_data->_M_falsename; } void _M_initialize_numpunct(__c_locale __cloc = __null); }; template locale::id numpunct<_CharT>::id; template<> numpunct::~numpunct(); template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc); template<> numpunct::~numpunct(); template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc); template class numpunct_byname : public numpunct<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit numpunct_byname(const char* __s, size_t __refs = 0) : numpunct<_CharT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { __c_locale __tmp; this->_S_create_c_locale(__tmp, __s); this->_M_initialize_numpunct(__tmp); this->_S_destroy_c_locale(__tmp); } } public: virtual ~numpunct_byname() { } }; # 1908 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 template class num_get : public locale::facet { public: typedef _CharT char_type; typedef _InIter iter_type; static locale::id id; # 1929 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 explicit num_get(size_t __refs = 0) : facet(__refs) { } # 1955 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, bool& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 1991 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned short& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned int& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2050 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, float& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, double& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long double& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2092 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, void*& __v) const { return this->do_get(__in, __end, __io, __err, __v); } public: virtual ~num_get() { } iter_type _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, string&) const; template iter_type _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, _ValueT&) const; template typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type _M_find(const _CharT2*, size_t __len, _CharT2 __c) const { int __ret = -1; if (__len <= 10) { if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) __ret = __c - _CharT2('0'); } else { if (__c >= _CharT2('0') && __c <= _CharT2('9')) __ret = __c - _CharT2('0'); else if (__c >= _CharT2('a') && __c <= _CharT2('f')) __ret = 10 + (__c - _CharT2('a')); else if (__c >= _CharT2('A') && __c <= _CharT2('F')) __ret = 10 + (__c - _CharT2('A')); } return __ret; } template typename __gnu_cxx::__enable_if::__value, int>::__type _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const { int __ret = -1; const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); if (__q) { __ret = __q - __zero; if (__ret > 15) __ret -= 6; } return __ret; } # 2163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned short& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned int& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, float&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, double&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, long double&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, void*&) const; # 2228 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 }; template locale::id num_get<_CharT, _InIter>::id; # 2246 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 template class num_put : public locale::facet { public: typedef _CharT char_type; typedef _OutIter iter_type; static locale::id id; # 2267 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 explicit num_put(size_t __refs = 0) : facet(__refs) { } # 2285 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __f, char_type __fill, bool __v) const { return this->do_put(__s, __f, __fill, __v); } # 2327 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __f, char_type __fill, long __v) const { return this->do_put(__s, __f, __fill, __v); } iter_type put(iter_type __s, ios_base& __f, char_type __fill, unsigned long __v) const { return this->do_put(__s, __f, __fill, __v); } iter_type put(iter_type __s, ios_base& __f, char_type __fill, long long __v) const { return this->do_put(__s, __f, __fill, __v); } iter_type put(iter_type __s, ios_base& __f, char_type __fill, unsigned long long __v) const { return this->do_put(__s, __f, __fill, __v); } # 2390 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __f, char_type __fill, double __v) const { return this->do_put(__s, __f, __fill, __v); } iter_type put(iter_type __s, ios_base& __f, char_type __fill, long double __v) const { return this->do_put(__s, __f, __fill, __v); } # 2415 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __f, char_type __fill, const void* __v) const { return this->do_put(__s, __f, __fill, __v); } public: template iter_type _M_insert_float(iter_type, ios_base& __io, char_type __fill, char __mod, _ValueT __v) const; void _M_group_float(const char* __grouping, size_t __grouping_size, char_type __sep, const char_type* __p, char_type* __new, char_type* __cs, int& __len) const; template iter_type _M_insert_int(iter_type, ios_base& __io, char_type __fill, _ValueT __v) const; void _M_group_int(const char* __grouping, size_t __grouping_size, char_type __sep, ios_base& __io, char_type* __new, char_type* __cs, int& __len) const; void _M_pad(char_type __fill, streamsize __w, ios_base& __io, char_type* __new, const char_type* __cs, int& __len) const; virtual ~num_put() { }; # 2463 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 3 virtual iter_type do_put(iter_type, ios_base&, char_type __fill, bool __v) const; virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type, ios_base&, char_type __fill, double __v) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, long double __v) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, const void* __v) const; }; template locale::id num_put<_CharT, _OutIter>::id; template inline bool isspace(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::space, __c); } template inline bool isprint(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::print, __c); } template inline bool iscntrl(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::cntrl, __c); } template inline bool isupper(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::upper, __c); } template inline bool islower(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::lower, __c); } template inline bool isalpha(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::alpha, __c); } template inline bool isdigit(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::digit, __c); } template inline bool ispunct(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::punct, __c); } template inline bool isxdigit(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::xdigit, __c); } template inline bool isalnum(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::alnum, __c); } template inline bool isgraph(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::graph, __c); } template inline _CharT toupper(_CharT __c, const locale& __loc) { return use_facet >(__loc).toupper(__c); } template inline _CharT tolower(_CharT __c, const locale& __loc) { return use_facet >(__loc).tolower(__c); } } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 1 3 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 3 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __use_cache { const _Facet* operator() (const locale& __loc) const; }; template struct __use_cache<__numpunct_cache<_CharT> > { const __numpunct_cache<_CharT>* operator() (const locale& __loc) const { const size_t __i = numpunct<_CharT>::id._M_id(); const locale::facet** __caches = __loc._M_impl->_M_caches; if (!__caches[__i]) { __numpunct_cache<_CharT>* __tmp = __null; try { __tmp = new __numpunct_cache<_CharT>; __tmp->_M_cache(__loc); } catch(...) { delete __tmp; throw; } __loc._M_impl->_M_install_cache(__tmp, __i); } return static_cast*>(__caches[__i]); } }; template void __numpunct_cache<_CharT>::_M_cache(const locale& __loc) { _M_allocated = true; const numpunct<_CharT>& __np = use_facet >(__loc); char* __grouping = 0; _CharT* __truename = 0; _CharT* __falsename = 0; try { _M_grouping_size = __np.grouping().size(); __grouping = new char[_M_grouping_size]; __np.grouping().copy(__grouping, _M_grouping_size); _M_grouping = __grouping; _M_use_grouping = (_M_grouping_size && static_cast(_M_grouping[0]) > 0 && (_M_grouping[0] != __gnu_cxx::__numeric_traits::__max)); _M_truename_size = __np.truename().size(); __truename = new _CharT[_M_truename_size]; __np.truename().copy(__truename, _M_truename_size); _M_truename = __truename; _M_falsename_size = __np.falsename().size(); __falsename = new _CharT[_M_falsename_size]; __np.falsename().copy(__falsename, _M_falsename_size); _M_falsename = __falsename; _M_decimal_point = __np.decimal_point(); _M_thousands_sep = __np.thousands_sep(); const ctype<_CharT>& __ct = use_facet >(__loc); __ct.widen(__num_base::_S_atoms_out, __num_base::_S_atoms_out + __num_base::_S_oend, _M_atoms_out); __ct.widen(__num_base::_S_atoms_in, __num_base::_S_atoms_in + __num_base::_S_iend, _M_atoms_in); } catch(...) { delete [] __grouping; delete [] __truename; delete [] __falsename; throw; } } # 136 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 3 __attribute__ ((__pure__)) bool __verify_grouping(const char* __grouping, size_t __grouping_size, const string& __grouping_tmp) throw (); template _InIter num_get<_CharT, _InIter>:: _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, ios_base::iostate& __err, string& __xtrc) const { typedef char_traits<_CharT> __traits_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_in; char_type __c = char_type(); bool __testeof = __beg == __end; if (!__testeof) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if ((__plus || __c == __lit[__num_base::_S_iminus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) { __xtrc += __plus ? '+' : '-'; if (++__beg != __end) __c = *__beg; else __testeof = true; } } bool __found_mantissa = false; int __sep_pos = 0; while (!__testeof) { if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) || __c == __lc->_M_decimal_point) break; else if (__c == __lit[__num_base::_S_izero]) { if (!__found_mantissa) { __xtrc += '0'; __found_mantissa = true; } ++__sep_pos; if (++__beg != __end) __c = *__beg; else __testeof = true; } else break; } bool __found_dec = false; bool __found_sci = false; string __found_grouping; if (__lc->_M_use_grouping) __found_grouping.reserve(32); const char_type* __lit_zero = __lit + __num_base::_S_izero; if (!__lc->_M_allocated) while (!__testeof) { const int __digit = _M_find(__lit_zero, 10, __c); if (__digit != -1) { __xtrc += '0' + __digit; __found_mantissa = true; } else if (__c == __lc->_M_decimal_point && !__found_dec && !__found_sci) { __xtrc += '.'; __found_dec = true; } else if ((__c == __lit[__num_base::_S_ie] || __c == __lit[__num_base::_S_iE]) && !__found_sci && __found_mantissa) { __xtrc += 'e'; __found_sci = true; if (++__beg != __end) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if (__plus || __c == __lit[__num_base::_S_iminus]) __xtrc += __plus ? '+' : '-'; else continue; } else { __testeof = true; break; } } else break; if (++__beg != __end) __c = *__beg; else __testeof = true; } else while (!__testeof) { if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) { if (!__found_dec && !__found_sci) { if (__sep_pos) { __found_grouping += static_cast(__sep_pos); __sep_pos = 0; } else { __xtrc.clear(); break; } } else break; } else if (__c == __lc->_M_decimal_point) { if (!__found_dec && !__found_sci) { if (__found_grouping.size()) __found_grouping += static_cast(__sep_pos); __xtrc += '.'; __found_dec = true; } else break; } else { const char_type* __q = __traits_type::find(__lit_zero, 10, __c); if (__q) { __xtrc += '0' + (__q - __lit_zero); __found_mantissa = true; ++__sep_pos; } else if ((__c == __lit[__num_base::_S_ie] || __c == __lit[__num_base::_S_iE]) && !__found_sci && __found_mantissa) { if (__found_grouping.size() && !__found_dec) __found_grouping += static_cast(__sep_pos); __xtrc += 'e'; __found_sci = true; if (++__beg != __end) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if ((__plus || __c == __lit[__num_base::_S_iminus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) __xtrc += __plus ? '+' : '-'; else continue; } else { __testeof = true; break; } } else break; } if (++__beg != __end) __c = *__beg; else __testeof = true; } if (__found_grouping.size()) { if (!__found_dec && !__found_sci) __found_grouping += static_cast(__sep_pos); if (!std::__verify_grouping(__lc->_M_grouping, __lc->_M_grouping_size, __found_grouping)) __err = ios_base::failbit; } return __beg; } template template _InIter num_get<_CharT, _InIter>:: _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, ios_base::iostate& __err, _ValueT& __v) const { typedef char_traits<_CharT> __traits_type; using __gnu_cxx::__add_unsigned; typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_in; char_type __c = char_type(); const ios_base::fmtflags __basefield = __io.flags() & ios_base::basefield; const bool __oct = __basefield == ios_base::oct; int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); bool __testeof = __beg == __end; bool __negative = false; if (!__testeof) { __c = *__beg; __negative = __c == __lit[__num_base::_S_iminus]; if ((__negative || __c == __lit[__num_base::_S_iplus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) { if (++__beg != __end) __c = *__beg; else __testeof = true; } } bool __found_zero = false; int __sep_pos = 0; while (!__testeof) { if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) || __c == __lc->_M_decimal_point) break; else if (__c == __lit[__num_base::_S_izero] && (!__found_zero || __base == 10)) { __found_zero = true; ++__sep_pos; if (__basefield == 0) __base = 8; if (__base == 8) __sep_pos = 0; } else if (__found_zero && (__c == __lit[__num_base::_S_ix] || __c == __lit[__num_base::_S_iX])) { if (__basefield == 0) __base = 16; if (__base == 16) { __found_zero = false; __sep_pos = 0; } else break; } else break; if (++__beg != __end) { __c = *__beg; if (!__found_zero) break; } else __testeof = true; } const size_t __len = (__base == 16 ? __num_base::_S_iend - __num_base::_S_izero : __base); string __found_grouping; if (__lc->_M_use_grouping) __found_grouping.reserve(32); bool __testfail = false; bool __testoverflow = false; const __unsigned_type __max = (__negative && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) ? -__gnu_cxx::__numeric_traits<_ValueT>::__min : __gnu_cxx::__numeric_traits<_ValueT>::__max; const __unsigned_type __smax = __max / __base; __unsigned_type __result = 0; int __digit = 0; const char_type* __lit_zero = __lit + __num_base::_S_izero; if (!__lc->_M_allocated) while (!__testeof) { __digit = _M_find(__lit_zero, __len, __c); if (__digit == -1) break; if (__result > __smax) __testoverflow = true; else { __result *= __base; __testoverflow |= __result > __max - __digit; __result += __digit; ++__sep_pos; } if (++__beg != __end) __c = *__beg; else __testeof = true; } else while (!__testeof) { if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) { if (__sep_pos) { __found_grouping += static_cast(__sep_pos); __sep_pos = 0; } else { __testfail = true; break; } } else if (__c == __lc->_M_decimal_point) break; else { const char_type* __q = __traits_type::find(__lit_zero, __len, __c); if (!__q) break; __digit = __q - __lit_zero; if (__digit > 15) __digit -= 6; if (__result > __smax) __testoverflow = true; else { __result *= __base; __testoverflow |= __result > __max - __digit; __result += __digit; ++__sep_pos; } } if (++__beg != __end) __c = *__beg; else __testeof = true; } if (__found_grouping.size()) { __found_grouping += static_cast(__sep_pos); if (!std::__verify_grouping(__lc->_M_grouping, __lc->_M_grouping_size, __found_grouping)) __err = ios_base::failbit; } if ((!__sep_pos && !__found_zero && !__found_grouping.size()) || __testfail) { __v = 0; __err = ios_base::failbit; } else if (__testoverflow) { if (__negative && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) __v = __gnu_cxx::__numeric_traits<_ValueT>::__min; else __v = __gnu_cxx::__numeric_traits<_ValueT>::__max; __err = ios_base::failbit; } else __v = __negative ? -__result : __result; if (__testeof) __err |= ios_base::eofbit; return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, bool& __v) const { if (!(__io.flags() & ios_base::boolalpha)) { long __l = -1; __beg = _M_extract_int(__beg, __end, __io, __err, __l); if (__l == 0 || __l == 1) __v = bool(__l); else { __v = true; __err = ios_base::failbit; if (__beg == __end) __err |= ios_base::eofbit; } } else { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); bool __testf = true; bool __testt = true; bool __donef = __lc->_M_falsename_size == 0; bool __donet = __lc->_M_truename_size == 0; bool __testeof = false; size_t __n = 0; while (!__donef || !__donet) { if (__beg == __end) { __testeof = true; break; } const char_type __c = *__beg; if (!__donef) __testf = __c == __lc->_M_falsename[__n]; if (!__testf && __donet) break; if (!__donet) __testt = __c == __lc->_M_truename[__n]; if (!__testt && __donef) break; if (!__testt && !__testf) break; ++__n; ++__beg; __donef = !__testf || __n >= __lc->_M_falsename_size; __donet = !__testt || __n >= __lc->_M_truename_size; } if (__testf && __n == __lc->_M_falsename_size && __n) { __v = false; if (__testt && __n == __lc->_M_truename_size) __err = ios_base::failbit; else __err = __testeof ? ios_base::eofbit : ios_base::goodbit; } else if (__testt && __n == __lc->_M_truename_size && __n) { __v = true; __err = __testeof ? ios_base::eofbit : ios_base::goodbit; } else { __v = false; __err = ios_base::failbit; if (__testeof) __err |= ios_base::eofbit; } } return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, float& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, double& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } # 730 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 3 template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long double& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, void*& __v) const { typedef ios_base::fmtflags fmtflags; const fmtflags __fmt = __io.flags(); __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); typedef __gnu_cxx::__conditional_type<(sizeof(void*) <= sizeof(unsigned long)), unsigned long, unsigned long long>::__type _UIntPtrType; _UIntPtrType __ul; __beg = _M_extract_int(__beg, __end, __io, __err, __ul); __io.flags(__fmt); __v = reinterpret_cast(__ul); return __beg; } template void num_put<_CharT, _OutIter>:: _M_pad(_CharT __fill, streamsize __w, ios_base& __io, _CharT* __new, const _CharT* __cs, int& __len) const { __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, __cs, __w, __len); __len = static_cast(__w); } template int __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, ios_base::fmtflags __flags, bool __dec) { _CharT* __buf = __bufend; if (__builtin_expect(__dec, true)) { do { *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; __v /= 10; } while (__v != 0); } else if ((__flags & ios_base::basefield) == ios_base::oct) { do { *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; __v >>= 3; } while (__v != 0); } else { const bool __uppercase = __flags & ios_base::uppercase; const int __case_offset = __uppercase ? __num_base::_S_oudigits : __num_base::_S_odigits; do { *--__buf = __lit[(__v & 0xf) + __case_offset]; __v >>= 4; } while (__v != 0); } return __bufend - __buf; } template void num_put<_CharT, _OutIter>:: _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, ios_base&, _CharT* __new, _CharT* __cs, int& __len) const { _CharT* __p = std::__add_grouping(__new, __sep, __grouping, __grouping_size, __cs, __cs + __len); __len = __p - __new; } template template _OutIter num_put<_CharT, _OutIter>:: _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, _ValueT __v) const { using __gnu_cxx::__add_unsigned; typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_out; const ios_base::fmtflags __flags = __io.flags(); const int __ilen = 5 * sizeof(_ValueT); _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __ilen)); const ios_base::fmtflags __basefield = __flags & ios_base::basefield; const bool __dec = (__basefield != ios_base::oct && __basefield != ios_base::hex); const __unsigned_type __u = ((__v > 0 || !__dec) ? __unsigned_type(__v) : -__unsigned_type(__v)); int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); __cs += __ilen - __len; if (__lc->_M_use_grouping) { _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__len + 1) * 2)); _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); __cs = __cs2 + 2; } if (__builtin_expect(__dec, true)) { if (__v >= 0) { if (bool(__flags & ios_base::showpos) && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) *--__cs = __lit[__num_base::_S_oplus], ++__len; } else *--__cs = __lit[__num_base::_S_ominus], ++__len; } else if (bool(__flags & ios_base::showbase) && __v) { if (__basefield == ios_base::oct) *--__cs = __lit[__num_base::_S_odigits], ++__len; else { const bool __uppercase = __flags & ios_base::uppercase; *--__cs = __lit[__num_base::_S_ox + __uppercase]; *--__cs = __lit[__num_base::_S_odigits]; __len += 2; } } const streamsize __w = __io.width(); if (__w > static_cast(__len)) { _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); _M_pad(__fill, __w, __io, __cs3, __cs, __len); __cs = __cs3; } __io.width(0); return std::__write(__s, __cs, __len); } template void num_put<_CharT, _OutIter>:: _M_group_float(const char* __grouping, size_t __grouping_size, _CharT __sep, const _CharT* __p, _CharT* __new, _CharT* __cs, int& __len) const { const int __declen = __p ? __p - __cs : __len; _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, __grouping_size, __cs, __cs + __declen); int __newlen = __p2 - __new; if (__p) { char_traits<_CharT>::copy(__p2, __p, __len - __declen); __newlen += __len - __declen; } __len = __newlen; } # 966 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 3 template template _OutIter num_put<_CharT, _OutIter>:: _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, _ValueT __v) const { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); const int __max_digits = __gnu_cxx::__numeric_traits<_ValueT>::__digits10; int __len; char __fbuf[16]; __num_base::_S_format_float(__io, __fbuf, __mod); int __cs_size = __max_digits * 3; char* __cs = static_cast(__builtin_alloca(__cs_size)); __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __prec, __v); if (__len >= __cs_size) { __cs_size = __len + 1; __cs = static_cast(__builtin_alloca(__cs_size)); __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __prec, __v); } # 1027 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 3 const ctype<_CharT>& __ctype = use_facet >(__loc); _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len)); __ctype.widen(__cs, __cs + __len, __ws); _CharT* __wp = 0; const char* __p = char_traits::find(__cs, __len, '.'); if (__p) { __wp = __ws + (__p - __cs); *__wp = __lc->_M_decimal_point; } if (__lc->_M_use_grouping && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' && __cs[1] >= '0' && __cs[2] >= '0'))) { _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len * 2)); streamsize __off = 0; if (__cs[0] == '-' || __cs[0] == '+') { __off = 1; __ws2[0] = __ws[0]; __len -= 1; } _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, __lc->_M_thousands_sep, __wp, __ws2 + __off, __ws + __off, __len); __len += __off; __ws = __ws2; } const streamsize __w = __io.width(); if (__w > static_cast(__len)) { _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); _M_pad(__fill, __w, __io, __ws3, __ws, __len); __ws = __ws3; } __io.width(0); return std::__write(__s, __ws, __len); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const { const ios_base::fmtflags __flags = __io.flags(); if ((__flags & ios_base::boolalpha) == 0) { const long __l = __v; __s = _M_insert_int(__s, __io, __fill, __l); } else { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __name = __v ? __lc->_M_truename : __lc->_M_falsename; int __len = __v ? __lc->_M_truename_size : __lc->_M_falsename_size; const streamsize __w = __io.width(); if (__w > static_cast(__len)) { const streamsize __plen = __w - __len; _CharT* __ps = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __plen)); char_traits<_CharT>::assign(__ps, __plen, __fill); __io.width(0); if ((__flags & ios_base::adjustfield) == ios_base::left) { __s = std::__write(__s, __name, __len); __s = std::__write(__s, __ps, __plen); } else { __s = std::__write(__s, __ps, __plen); __s = std::__write(__s, __name, __len); } return __s; } __io.width(0); __s = std::__write(__s, __name, __len); } return __s; } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const { return _M_insert_float(__s, __io, __fill, char(), __v); } # 1152 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 3 template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, long double __v) const { return _M_insert_float(__s, __io, __fill, 'L', __v); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, const void* __v) const { const ios_base::fmtflags __flags = __io.flags(); const ios_base::fmtflags __fmt = ~(ios_base::basefield | ios_base::uppercase); __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); typedef __gnu_cxx::__conditional_type<(sizeof(const void*) <= sizeof(unsigned long)), unsigned long, unsigned long long>::__type _UIntPtrType; __s = _M_insert_int(__s, __io, __fill, reinterpret_cast<_UIntPtrType>(__v)); __io.flags(__flags); return __s; } # 1189 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.tcc" 3 template void __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, _CharT* __news, const _CharT* __olds, streamsize __newlen, streamsize __oldlen) { const size_t __plen = static_cast(__newlen - __oldlen); const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; if (__adjust == ios_base::left) { _Traits::copy(__news, __olds, __oldlen); _Traits::assign(__news + __oldlen, __plen, __fill); return; } size_t __mod = 0; if (__adjust == ios_base::internal) { const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); if (__ctype.widen('-') == __olds[0] || __ctype.widen('+') == __olds[0]) { __news[0] = __olds[0]; __mod = 1; ++__news; } else if (__ctype.widen('0') == __olds[0] && __oldlen > 1 && (__ctype.widen('x') == __olds[1] || __ctype.widen('X') == __olds[1])) { __news[0] = __olds[0]; __news[1] = __olds[1]; __mod = 2; __news += 2; } } _Traits::assign(__news, __plen, __fill); _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); } template _CharT* __add_grouping(_CharT* __s, _CharT __sep, const char* __gbeg, size_t __gsize, const _CharT* __first, const _CharT* __last) { size_t __idx = 0; size_t __ctr = 0; while (__last - __first > __gbeg[__idx] && static_cast(__gbeg[__idx]) > 0 && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) { __last -= __gbeg[__idx]; __idx < __gsize - 1 ? ++__idx : ++__ctr; } while (__first != __last) *__s++ = *__first++; while (__ctr--) { *__s++ = __sep; for (char __i = __gbeg[__idx]; __i > 0; --__i) *__s++ = *__first++; } while (__idx--) { *__s++ = __sep; for (char __i = __gbeg[__idx]; __i > 0; --__i) *__s++ = *__first++; } return __s; } extern template class numpunct; extern template class numpunct_byname; extern template class num_get; extern template class num_put; extern template class ctype_byname; extern template const ctype& use_facet >(const locale&); extern template const numpunct& use_facet >(const locale&); extern template const num_put& use_facet >(const locale&); extern template const num_get& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class numpunct; extern template class numpunct_byname; extern template class num_get; extern template class num_put; extern template class ctype_byname; extern template const ctype& use_facet >(const locale&); extern template const numpunct& use_facet >(const locale&); extern template const num_put& use_facet >(const locale&); extern template const num_get& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); } # 2602 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets.h" 2 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline const _Facet& __check_facet(const _Facet* __f) { if (!__f) __throw_bad_cast(); return *__f; } # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 template class basic_ios : public ios_base { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef ctype<_CharT> __ctype_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > __num_put_type; typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > __num_get_type; public: basic_ostream<_CharT, _Traits>* _M_tie; mutable char_type _M_fill; mutable bool _M_fill_init; basic_streambuf<_CharT, _Traits>* _M_streambuf; const __ctype_type* _M_ctype; const __num_put_type* _M_num_put; const __num_get_type* _M_num_get; public: operator void*() const { return this->fail() ? 0 : const_cast(this); } bool operator!() const { return this->fail(); } # 126 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 iostate rdstate() const { return _M_streambuf_state; } # 137 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 void clear(iostate __state = goodbit); void setstate(iostate __state) { this->clear(this->rdstate() | __state); } void _M_setstate(iostate __state) { _M_streambuf_state |= __state; if (this->exceptions() & __state) throw; } bool good() const { return this->rdstate() == 0; } bool eof() const { return (this->rdstate() & eofbit) != 0; } # 190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 bool fail() const { return (this->rdstate() & (badbit | failbit)) != 0; } bool bad() const { return (this->rdstate() & badbit) != 0; } # 211 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 iostate exceptions() const { return _M_exception; } # 246 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 void exceptions(iostate __except) { _M_exception = __except; this->clear(_M_streambuf_state); } explicit basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) { this->init(__sb); } virtual ~basic_ios() { } # 284 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie() const { return _M_tie; } # 296 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie(basic_ostream<_CharT, _Traits>* __tiestr) { basic_ostream<_CharT, _Traits>* __old = _M_tie; _M_tie = __tiestr; return __old; } basic_streambuf<_CharT, _Traits>* rdbuf() const { return _M_streambuf; } # 336 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 basic_streambuf<_CharT, _Traits>* rdbuf(basic_streambuf<_CharT, _Traits>* __sb); # 350 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 basic_ios& copyfmt(const basic_ios& __rhs); char_type fill() const { if (!_M_fill_init) { _M_fill = this->widen(' '); _M_fill_init = true; } return _M_fill; } # 379 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 char_type fill(char_type __ch) { char_type __old = this->fill(); _M_fill = __ch; return __old; } # 399 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 locale imbue(const locale& __loc); # 419 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 char narrow(char_type __c, char __dfault) const { return __check_facet(_M_ctype).narrow(__c, __dfault); } # 438 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 3 char_type widen(char __c) const { return __check_facet(_M_ctype).widen(__c); } public: basic_ios() : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) { } void init(basic_streambuf<_CharT, _Traits>* __sb); void _M_cache_locale(const locale& __loc); }; } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.tcc" 1 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.tcc" 3 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void basic_ios<_CharT, _Traits>::clear(iostate __state) { if (this->rdbuf()) _M_streambuf_state = __state; else _M_streambuf_state = __state | badbit; if (this->exceptions() & this->rdstate()) __throw_ios_failure(("basic_ios::clear")); } template basic_streambuf<_CharT, _Traits>* basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) { basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; _M_streambuf = __sb; this->clear(); return __old; } template basic_ios<_CharT, _Traits>& basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) { if (this != &__rhs) { _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? _M_local_word : new _Words[__rhs._M_word_size]; _Callback_list* __cb = __rhs._M_callbacks; if (__cb) __cb->_M_add_reference(); _M_call_callbacks(erase_event); if (_M_word != _M_local_word) { delete [] _M_word; _M_word = 0; } _M_dispose_callbacks(); _M_callbacks = __cb; for (int __i = 0; __i < __rhs._M_word_size; ++__i) __words[__i] = __rhs._M_word[__i]; _M_word = __words; _M_word_size = __rhs._M_word_size; this->flags(__rhs.flags()); this->width(__rhs.width()); this->precision(__rhs.precision()); this->tie(__rhs.tie()); this->fill(__rhs.fill()); _M_ios_locale = __rhs.getloc(); _M_cache_locale(_M_ios_locale); _M_call_callbacks(copyfmt_event); this->exceptions(__rhs.exceptions()); } return *this; } template locale basic_ios<_CharT, _Traits>::imbue(const locale& __loc) { locale __old(this->getloc()); ios_base::imbue(__loc); _M_cache_locale(__loc); if (this->rdbuf() != 0) this->rdbuf()->pubimbue(__loc); return __old; } template void basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) { ios_base::_M_init(); _M_cache_locale(_M_ios_locale); # 145 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.tcc" 3 _M_fill = _CharT(); _M_fill_init = false; _M_tie = 0; _M_exception = goodbit; _M_streambuf = __sb; _M_streambuf_state = __sb ? goodbit : badbit; } template void basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) { if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) _M_ctype = &use_facet<__ctype_type>(__loc); else _M_ctype = 0; if (__builtin_expect(has_facet<__num_put_type>(__loc), true)) _M_num_put = &use_facet<__num_put_type>(__loc); else _M_num_put = 0; if (__builtin_expect(has_facet<__num_get_type>(__loc), true)) _M_num_get = &use_facet<__num_get_type>(__loc); else _M_num_get = 0; } extern template class basic_ios; extern template class basic_ios; } # 472 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_ios.h" 2 3 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ios" 2 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 template class basic_ostream : virtual public basic_ios<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_ios<_CharT, _Traits> __ios_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > __num_put_type; typedef ctype<_CharT> __ctype_type; # 81 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 explicit basic_ostream(__streambuf_type* __sb) { this->init(__sb); } virtual ~basic_ostream() { } class sentry; friend class sentry; # 107 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 __ostream_type& operator<<(__ostream_type& (*__pf)(__ostream_type&)) { return __pf(*this); } __ostream_type& operator<<(__ios_type& (*__pf)(__ios_type&)) { __pf(*this); return *this; } __ostream_type& operator<<(ios_base& (*__pf) (ios_base&)) { __pf(*this); return *this; } # 164 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 __ostream_type& operator<<(long __n) { return _M_insert(__n); } __ostream_type& operator<<(unsigned long __n) { return _M_insert(__n); } __ostream_type& operator<<(bool __n) { return _M_insert(__n); } __ostream_type& operator<<(short __n); __ostream_type& operator<<(unsigned short __n) { return _M_insert(static_cast(__n)); } __ostream_type& operator<<(int __n); __ostream_type& operator<<(unsigned int __n) { return _M_insert(static_cast(__n)); } __ostream_type& operator<<(long long __n) { return _M_insert(__n); } __ostream_type& operator<<(unsigned long long __n) { return _M_insert(__n); } __ostream_type& operator<<(double __f) { return _M_insert(__f); } __ostream_type& operator<<(float __f) { return _M_insert(static_cast(__f)); } __ostream_type& operator<<(long double __f) { return _M_insert(__f); } __ostream_type& operator<<(const void* __p) { return _M_insert(__p); } # 249 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 __ostream_type& operator<<(__streambuf_type* __sb); # 282 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 __ostream_type& put(char_type __c); void _M_write(const char_type* __s, streamsize __n) { const streamsize __put = this->rdbuf()->sputn(__s, __n); if (__put != __n) this->setstate(ios_base::badbit); } # 310 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 __ostream_type& write(const char_type* __s, streamsize __n); # 323 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 __ostream_type& flush(); # 334 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 pos_type tellp(); # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 __ostream_type& seekp(pos_type); # 357 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 __ostream_type& seekp(off_type, ios_base::seekdir); public: basic_ostream() { this->init(0); } template __ostream_type& _M_insert(_ValueT __v); }; # 376 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 template class basic_ostream<_CharT, _Traits>::sentry { bool _M_ok; basic_ostream<_CharT, _Traits>& _M_os; public: # 395 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 explicit sentry(basic_ostream<_CharT, _Traits>& __os); # 405 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 ~sentry() { if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) { if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) _M_os.setstate(ios_base::badbit); } } # 426 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 operator bool() const { return _M_ok; } }; # 447 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) { return __ostream_insert(__out, &__c, 1); } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) { return (__out << __out.widen(__c)); } template inline basic_ostream& operator<<(basic_ostream& __out, char __c) { return __ostream_insert(__out, &__c, 1); } template inline basic_ostream& operator<<(basic_ostream& __out, signed char __c) { return (__out << static_cast(__c)); } template inline basic_ostream& operator<<(basic_ostream& __out, unsigned char __c) { return (__out << static_cast(__c)); } # 489 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) { if (!__s) __out.setstate(ios_base::badbit); else __ostream_insert(__out, __s, static_cast(_Traits::length(__s))); return __out; } template basic_ostream<_CharT, _Traits> & operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); template inline basic_ostream& operator<<(basic_ostream& __out, const char* __s) { if (!__s) __out.setstate(ios_base::badbit); else __ostream_insert(__out, __s, static_cast(_Traits::length(__s))); return __out; } template inline basic_ostream& operator<<(basic_ostream& __out, const signed char* __s) { return (__out << reinterpret_cast(__s)); } template inline basic_ostream & operator<<(basic_ostream& __out, const unsigned char* __s) { return (__out << reinterpret_cast(__s)); } # 539 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 template inline basic_ostream<_CharT, _Traits>& endl(basic_ostream<_CharT, _Traits>& __os) { return flush(__os.put(__os.widen('\n'))); } template inline basic_ostream<_CharT, _Traits>& ends(basic_ostream<_CharT, _Traits>& __os) { return __os.put(_CharT()); } template inline basic_ostream<_CharT, _Traits>& flush(basic_ostream<_CharT, _Traits>& __os) { return __os.flush(); } # 583 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 3 } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ostream.tcc" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ostream.tcc" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/ostream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template basic_ostream<_CharT, _Traits>::sentry:: sentry(basic_ostream<_CharT, _Traits>& __os) : _M_ok(false), _M_os(__os) { if (__os.tie() && __os.good()) __os.tie()->flush(); if (__os.good()) _M_ok = true; else __os.setstate(ios_base::failbit); } template template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: _M_insert(_ValueT __v) { sentry __cerb(*this); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { const __num_put_type& __np = __check_facet(this->_M_num_put); if (__np.put(*this, *this, this->fill(), __v).failed()) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(short __n) { const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; if (__fmt == ios_base::oct || __fmt == ios_base::hex) return _M_insert(static_cast(static_cast(__n))); else return _M_insert(static_cast(__n)); } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(int __n) { const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; if (__fmt == ios_base::oct || __fmt == ios_base::hex) return _M_insert(static_cast(static_cast(__n))); else return _M_insert(static_cast(__n)); } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(__streambuf_type* __sbin) { ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this); if (__cerb && __sbin) { try { if (!__copy_streambufs(__sbin, this->rdbuf())) __err |= ios_base::failbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::failbit); } } else if (!__sbin) __err |= ios_base::badbit; if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: put(char_type __c) { sentry __cerb(*this); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { const int_type __put = this->rdbuf()->sputc(__c); if (traits_type::eq_int_type(__put, traits_type::eof())) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: write(const _CharT* __s, streamsize __n) { sentry __cerb(*this); if (__cerb) { try { _M_write(__s, __n); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: flush() { ios_base::iostate __err = ios_base::goodbit; try { if (this->rdbuf() && this->rdbuf()->pubsync() == -1) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template typename basic_ostream<_CharT, _Traits>::pos_type basic_ostream<_CharT, _Traits>:: tellp() { pos_type __ret = pos_type(-1); try { if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } return __ret; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: seekp(pos_type __pos) { ios_base::iostate __err = ios_base::goodbit; try { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: seekp(off_type __off, ios_base::seekdir __dir) { ios_base::iostate __err = ios_base::goodbit; try { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, ios_base::out); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) { if (!__s) __out.setstate(ios_base::badbit); else { const size_t __clen = char_traits::length(__s); try { struct __ptr_guard { _CharT *__p; __ptr_guard (_CharT *__ip): __p(__ip) { } ~__ptr_guard() { delete[] __p; } _CharT* __get() { return __p; } } __pg (new _CharT[__clen]); _CharT *__ws = __pg.__get(); for (size_t __i = 0; __i < __clen; ++__i) __ws[__i] = __out.widen(__s[__i]); __ostream_insert(__out, __ws, __clen); } catch(__cxxabiv1::__forced_unwind&) { __out._M_setstate(ios_base::badbit); throw; } catch(...) { __out._M_setstate(ios_base::badbit); } } return __out; } extern template class basic_ostream; extern template ostream& endl(ostream&); extern template ostream& ends(ostream&); extern template ostream& flush(ostream&); extern template ostream& operator<<(ostream&, char); extern template ostream& operator<<(ostream&, unsigned char); extern template ostream& operator<<(ostream&, signed char); extern template ostream& operator<<(ostream&, const char*); extern template ostream& operator<<(ostream&, const unsigned char*); extern template ostream& operator<<(ostream&, const signed char*); extern template ostream& ostream::_M_insert(long); extern template ostream& ostream::_M_insert(unsigned long); extern template ostream& ostream::_M_insert(bool); extern template ostream& ostream::_M_insert(long long); extern template ostream& ostream::_M_insert(unsigned long long); extern template ostream& ostream::_M_insert(double); extern template ostream& ostream::_M_insert(long double); extern template ostream& ostream::_M_insert(const void*); extern template class basic_ostream; extern template wostream& endl(wostream&); extern template wostream& ends(wostream&); extern template wostream& flush(wostream&); extern template wostream& operator<<(wostream&, wchar_t); extern template wostream& operator<<(wostream&, char); extern template wostream& operator<<(wostream&, const wchar_t*); extern template wostream& operator<<(wostream&, const char*); extern template wostream& wostream::_M_insert(long); extern template wostream& wostream::_M_insert(unsigned long); extern template wostream& wostream::_M_insert(bool); extern template wostream& wostream::_M_insert(long long); extern template wostream& wostream::_M_insert(unsigned long long); extern template wostream& wostream::_M_insert(double); extern template wostream& wostream::_M_insert(long double); extern template wostream& wostream::_M_insert(const void*); } # 587 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ostream" 2 3 # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iterator" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 template class basic_istream : virtual public basic_ios<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_ios<_CharT, _Traits> __ios_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > __num_get_type; typedef ctype<_CharT> __ctype_type; public: streamsize _M_gcount; public: # 90 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 explicit basic_istream(__streambuf_type* __sb) : _M_gcount(streamsize(0)) { this->init(__sb); } virtual ~basic_istream() { _M_gcount = streamsize(0); } class sentry; friend class sentry; # 119 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& operator>>(__istream_type& (*__pf)(__istream_type&)) { return __pf(*this); } __istream_type& operator>>(__ios_type& (*__pf)(__ios_type&)) { __pf(*this); return *this; } __istream_type& operator>>(ios_base& (*__pf)(ios_base&)) { __pf(*this); return *this; } # 166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& operator>>(bool& __n) { return _M_extract(__n); } __istream_type& operator>>(short& __n); __istream_type& operator>>(unsigned short& __n) { return _M_extract(__n); } __istream_type& operator>>(int& __n); __istream_type& operator>>(unsigned int& __n) { return _M_extract(__n); } __istream_type& operator>>(long& __n) { return _M_extract(__n); } __istream_type& operator>>(unsigned long& __n) { return _M_extract(__n); } __istream_type& operator>>(long long& __n) { return _M_extract(__n); } __istream_type& operator>>(unsigned long long& __n) { return _M_extract(__n); } __istream_type& operator>>(float& __f) { return _M_extract(__f); } __istream_type& operator>>(double& __f) { return _M_extract(__f); } __istream_type& operator>>(long double& __f) { return _M_extract(__f); } __istream_type& operator>>(void*& __p) { return _M_extract(__p); } # 238 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& operator>>(__streambuf_type* __sb); # 248 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 streamsize gcount() const { return _M_gcount; } # 280 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 int_type get(); # 294 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& get(char_type& __c); # 321 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& get(char_type* __s, streamsize __n, char_type __delim); # 332 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& get(char_type* __s, streamsize __n) { return this->get(__s, __n, this->widen('\n')); } # 355 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& get(__streambuf_type& __sb, char_type __delim); # 365 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& get(__streambuf_type& __sb) { return this->get(__sb, this->widen('\n')); } # 394 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& getline(char_type* __s, streamsize __n, char_type __delim); # 405 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& getline(char_type* __s, streamsize __n) { return this->getline(__s, __n, this->widen('\n')); } # 429 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& ignore(); __istream_type& ignore(streamsize __n); __istream_type& ignore(streamsize __n, int_type __delim); # 446 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 int_type peek(); # 464 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& read(char_type* __s, streamsize __n); # 483 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 streamsize readsome(char_type* __s, streamsize __n); # 499 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& putback(char_type __c); # 514 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& unget(); # 532 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 int sync(); # 546 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 pos_type tellg(); # 561 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& seekg(pos_type); # 577 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 __istream_type& seekg(off_type, ios_base::seekdir); public: basic_istream() : _M_gcount(streamsize(0)) { this->init(0); } template __istream_type& _M_extract(_ValueT& __v); }; template<> basic_istream& basic_istream:: getline(char_type* __s, streamsize __n, char_type __delim); template<> basic_istream& basic_istream:: ignore(streamsize __n); template<> basic_istream& basic_istream:: ignore(streamsize __n, int_type __delim); template<> basic_istream& basic_istream:: getline(char_type* __s, streamsize __n, char_type __delim); template<> basic_istream& basic_istream:: ignore(streamsize __n); template<> basic_istream& basic_istream:: ignore(streamsize __n, int_type __delim); # 632 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 template class basic_istream<_CharT, _Traits>::sentry { bool _M_ok; public: typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::__ctype_type __ctype_type; typedef typename _Traits::int_type __int_type; # 668 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); # 681 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 operator bool() const { return _M_ok; } }; # 698 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); template inline basic_istream& operator>>(basic_istream& __in, unsigned char& __c) { return (__in >> reinterpret_cast(__c)); } template inline basic_istream& operator>>(basic_istream& __in, signed char& __c) { return (__in >> reinterpret_cast(__c)); } # 740 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s); template<> basic_istream& operator>>(basic_istream& __in, char* __s); template inline basic_istream& operator>>(basic_istream& __in, unsigned char* __s) { return (__in >> reinterpret_cast(__s)); } template inline basic_istream& operator>>(basic_istream& __in, signed char* __s) { return (__in >> reinterpret_cast(__s)); } # 768 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 template class basic_iostream : public basic_istream<_CharT, _Traits>, public basic_ostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; explicit basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) : __istream_type(__sb), __ostream_type(__sb) { } virtual ~basic_iostream() { } public: basic_iostream() : __istream_type(), __ostream_type() { } }; # 829 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __is); # 851 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 3 } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/istream.tcc" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/istream.tcc" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/istream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template basic_istream<_CharT, _Traits>::sentry:: sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) { ios_base::iostate __err = ios_base::goodbit; if (__in.good()) { if (__in.tie()) __in.tie()->flush(); if (!__noskip && bool(__in.flags() & ios_base::skipws)) { const __int_type __eof = traits_type::eof(); __streambuf_type* __sb = __in.rdbuf(); __int_type __c = __sb->sgetc(); const __ctype_type& __ct = __check_facet(__in._M_ctype); while (!traits_type::eq_int_type(__c, __eof) && __ct.is(ctype_base::space, traits_type::to_char_type(__c))) __c = __sb->snextc(); if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } } if (__in.good() && __err == ios_base::goodbit) _M_ok = true; else { __err |= ios_base::failbit; __in.setstate(__err); } } template template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: _M_extract(_ValueT& __v) { sentry __cerb(*this, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __v); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(short& __n) { sentry __cerb(*this, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { long __l; const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __l); if (__l < __gnu_cxx::__numeric_traits::__min) { __err |= ios_base::failbit; __n = __gnu_cxx::__numeric_traits::__min; } else if (__l > __gnu_cxx::__numeric_traits::__max) { __err |= ios_base::failbit; __n = __gnu_cxx::__numeric_traits::__max; } else __n = short(__l); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(int& __n) { sentry __cerb(*this, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { long __l; const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __l); if (__l < __gnu_cxx::__numeric_traits::__min) { __err |= ios_base::failbit; __n = __gnu_cxx::__numeric_traits::__min; } else if (__l > __gnu_cxx::__numeric_traits::__max) { __err |= ios_base::failbit; __n = __gnu_cxx::__numeric_traits::__max; } else __n = int(__l); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(__streambuf_type* __sbout) { ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, false); if (__cerb && __sbout) { try { bool __ineof; if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) __err |= ios_base::failbit; if (__ineof) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::failbit); throw; } catch(...) { this->_M_setstate(ios_base::failbit); } } else if (!__sbout) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>:: get(void) { const int_type __eof = traits_type::eof(); int_type __c = __eof; _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { try { __c = this->rdbuf()->sbumpc(); if (!traits_type::eq_int_type(__c, __eof)) _M_gcount = 1; else __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return __c; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(char_type& __c) { _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { try { const int_type __cb = this->rdbuf()->sbumpc(); if (!traits_type::eq_int_type(__cb, traits_type::eof())) { _M_gcount = 1; __c = traits_type::to_char_type(__cb); } else __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(char_type* __s, streamsize __n, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { try { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); while (_M_gcount + 1 < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim)) { *__s++ = traits_type::to_char_type(__c); ++_M_gcount; __c = __sb->snextc(); } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (__n > 0) *__s = char_type(); if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(__streambuf_type& __sb, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { try { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __this_sb = this->rdbuf(); int_type __c = __this_sb->sgetc(); char_type __c2 = traits_type::to_char_type(__c); while (!traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim) && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) { ++_M_gcount; __c = __this_sb->snextc(); __c2 = traits_type::to_char_type(__c); } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: getline(char_type* __s, streamsize __n, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { try { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); while (_M_gcount + 1 < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim)) { *__s++ = traits_type::to_char_type(__c); __c = __sb->snextc(); ++_M_gcount; } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; else { if (traits_type::eq_int_type(__c, __idelim)) { __sb->sbumpc(); ++_M_gcount; } else __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (__n > 0) *__s = char_type(); if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(void) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) __err |= ios_base::eofbit; else _M_gcount = 1; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb && __n > 0) { ios_base::iostate __err = ios_base::goodbit; try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); # 513 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/istream.tcc" 3 bool __large_ignore = false; while (true) { while (_M_gcount < __n && !traits_type::eq_int_type(__c, __eof)) { ++_M_gcount; __c = __sb->snextc(); } if (__n == __gnu_cxx::__numeric_traits::__max && !traits_type::eq_int_type(__c, __eof)) { _M_gcount = __gnu_cxx::__numeric_traits::__min; __large_ignore = true; } else break; } if (__large_ignore) _M_gcount = __gnu_cxx::__numeric_traits::__max; if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(streamsize __n, int_type __delim) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb && __n > 0) { ios_base::iostate __err = ios_base::goodbit; try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); bool __large_ignore = false; while (true) { while (_M_gcount < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __delim)) { ++_M_gcount; __c = __sb->snextc(); } if (__n == __gnu_cxx::__numeric_traits::__max && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __delim)) { _M_gcount = __gnu_cxx::__numeric_traits::__min; __large_ignore = true; } else break; } if (__large_ignore) _M_gcount = __gnu_cxx::__numeric_traits::__max; if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; else if (traits_type::eq_int_type(__c, __delim)) { if (_M_gcount < __gnu_cxx::__numeric_traits::__max) ++_M_gcount; __sb->sbumpc(); } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>:: peek(void) { int_type __c = traits_type::eof(); _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { __c = this->rdbuf()->sgetc(); if (traits_type::eq_int_type(__c, traits_type::eof())) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return __c; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: read(char_type* __s, streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { _M_gcount = this->rdbuf()->sgetn(__s, __n); if (_M_gcount != __n) __err |= (ios_base::eofbit | ios_base::failbit); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template streamsize basic_istream<_CharT, _Traits>:: readsome(char_type* __s, streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { const streamsize __num = this->rdbuf()->in_avail(); if (__num > 0) _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); else if (__num == -1) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return _M_gcount; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: putback(char_type __c) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (!__sb || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: unget(void) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (!__sb || traits_type::eq_int_type(__sb->sungetc(), __eof)) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template int basic_istream<_CharT, _Traits>:: sync(void) { int __ret = -1; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { __streambuf_type* __sb = this->rdbuf(); if (__sb) { if (__sb->pubsync() == -1) __err |= ios_base::badbit; else __ret = 0; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return __ret; } template typename basic_istream<_CharT, _Traits>::pos_type basic_istream<_CharT, _Traits>:: tellg(void) { pos_type __ret = pos_type(-1); try { if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } return __ret; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: seekg(pos_type __pos) { ios_base::iostate __err = ios_base::goodbit; try { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::in); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: seekg(off_type __off, ios_base::seekdir __dir) { ios_base::iostate __err = ios_base::goodbit; try { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, ios_base::in); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::int_type __int_type; typename __istream_type::sentry __cerb(__in, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { const __int_type __cb = __in.rdbuf()->sbumpc(); if (!_Traits::eq_int_type(__cb, _Traits::eof())) __c = _Traits::to_char_type(__cb); else __err |= (ios_base::eofbit | ios_base::failbit); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(ios_base::badbit); throw; } catch(...) { __in._M_setstate(ios_base::badbit); } if (__err) __in.setstate(__err); } return __in; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef typename _Traits::int_type int_type; typedef _CharT char_type; typedef ctype<_CharT> __ctype_type; streamsize __extracted = 0; ios_base::iostate __err = ios_base::goodbit; typename __istream_type::sentry __cerb(__in, false); if (__cerb) { try { streamsize __num = __in.width(); if (__num <= 0) __num = __gnu_cxx::__numeric_traits::__max; const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const int_type __eof = _Traits::eof(); __streambuf_type* __sb = __in.rdbuf(); int_type __c = __sb->sgetc(); while (__extracted < __num - 1 && !_Traits::eq_int_type(__c, __eof) && !__ct.is(ctype_base::space, _Traits::to_char_type(__c))) { *__s++ = _Traits::to_char_type(__c); ++__extracted; __c = __sb->snextc(); } if (_Traits::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; *__s = char_type(); __in.width(0); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(ios_base::badbit); throw; } catch(...) { __in._M_setstate(ios_base::badbit); } } if (!__extracted) __err |= ios_base::failbit; if (__err) __in.setstate(__err); return __in; } template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __in) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef typename __istream_type::int_type __int_type; typedef ctype<_CharT> __ctype_type; const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const __int_type __eof = _Traits::eof(); __streambuf_type* __sb = __in.rdbuf(); __int_type __c = __sb->sgetc(); while (!_Traits::eq_int_type(__c, __eof) && __ct.is(ctype_base::space, _Traits::to_char_type(__c))) __c = __sb->snextc(); if (_Traits::eq_int_type(__c, __eof)) __in.setstate(ios_base::eofbit); return __in; } extern template class basic_istream; extern template istream& ws(istream&); extern template istream& operator>>(istream&, char&); extern template istream& operator>>(istream&, char*); extern template istream& operator>>(istream&, unsigned char&); extern template istream& operator>>(istream&, signed char&); extern template istream& operator>>(istream&, unsigned char*); extern template istream& operator>>(istream&, signed char*); extern template istream& istream::_M_extract(unsigned short&); extern template istream& istream::_M_extract(unsigned int&); extern template istream& istream::_M_extract(long&); extern template istream& istream::_M_extract(unsigned long&); extern template istream& istream::_M_extract(bool&); extern template istream& istream::_M_extract(long long&); extern template istream& istream::_M_extract(unsigned long long&); extern template istream& istream::_M_extract(float&); extern template istream& istream::_M_extract(double&); extern template istream& istream::_M_extract(long double&); extern template istream& istream::_M_extract(void*&); extern template class basic_iostream; extern template class basic_istream; extern template wistream& ws(wistream&); extern template wistream& operator>>(wistream&, wchar_t&); extern template wistream& operator>>(wistream&, wchar_t*); extern template wistream& wistream::_M_extract(unsigned short&); extern template wistream& wistream::_M_extract(unsigned int&); extern template wistream& wistream::_M_extract(long&); extern template wistream& wistream::_M_extract(unsigned long&); extern template wistream& wistream::_M_extract(bool&); extern template wistream& wistream::_M_extract(long long&); extern template wistream& wistream::_M_extract(unsigned long long&); extern template wistream& wistream::_M_extract(float&); extern template wistream& wistream::_M_extract(double&); extern template wistream& wistream::_M_extract(long double&); extern template wistream& wistream::_M_extract(void*&); extern template class basic_iostream; } # 855 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/istream" 2 3 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iterator" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stream_iterator.h" 1 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stream_iterator.h" 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stream_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template, typename _Dist = ptrdiff_t> class istream_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef basic_istream<_CharT, _Traits> istream_type; private: istream_type* _M_stream; _Tp _M_value; bool _M_ok; public: istream_iterator() : _M_stream(0), _M_value(), _M_ok(false) {} istream_iterator(istream_type& __s) : _M_stream(&__s) { _M_read(); } istream_iterator(const istream_iterator& __obj) : _M_stream(__obj._M_stream), _M_value(__obj._M_value), _M_ok(__obj._M_ok) { } const _Tp& operator*() const { ; return _M_value; } const _Tp* operator->() const { return &(operator*()); } istream_iterator& operator++() { ; _M_read(); return *this; } istream_iterator operator++(int) { ; istream_iterator __tmp = *this; _M_read(); return __tmp; } bool _M_equal(const istream_iterator& __x) const { return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); } private: void _M_read() { _M_ok = (_M_stream && *_M_stream) ? true : false; if (_M_ok) { *_M_stream >> _M_value; _M_ok = *_M_stream ? true : false; } } }; template inline bool operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) { return __x._M_equal(__y); } template inline bool operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) { return !__x._M_equal(__y); } # 150 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stream_iterator.h" 3 template > class ostream_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef basic_ostream<_CharT, _Traits> ostream_type; private: ostream_type* _M_stream; const _CharT* _M_string; public: ostream_iterator(ostream_type& __s) : _M_stream(&__s), _M_string(0) {} # 181 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stream_iterator.h" 3 ostream_iterator(ostream_type& __s, const _CharT* __c) : _M_stream(&__s), _M_string(__c) { } ostream_iterator(const ostream_iterator& __obj) : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { } ostream_iterator& operator=(const _Tp& __value) { ; *_M_stream << __value; if (_M_string) *_M_stream << _M_string; return *this; } ostream_iterator& operator*() { return *this; } ostream_iterator& operator++() { return *this; } ostream_iterator& operator++(int) { return *this; } }; } # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iterator" 2 3 # 51 "/usr/include/qt4/QtCore/qlist.h" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/list" 1 3 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/list" 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/list" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 1 3 # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct _List_node_base { _List_node_base* _M_next; _List_node_base* _M_prev; static void swap(_List_node_base& __x, _List_node_base& __y) throw (); void _M_transfer(_List_node_base * const __first, _List_node_base * const __last) throw (); void _M_reverse() throw (); void _M_hook(_List_node_base * const __position) throw (); void _M_unhook() throw (); }; template struct _List_node : public _List_node_base { _Tp _M_data; }; template struct _List_iterator { typedef _List_iterator<_Tp> _Self; typedef _List_node<_Tp> _Node; typedef ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; typedef _Tp value_type; typedef _Tp* pointer; typedef _Tp& reference; _List_iterator() : _M_node() { } explicit _List_iterator(_List_node_base* __x) : _M_node(__x) { } reference operator*() const { return static_cast<_Node*>(_M_node)->_M_data; } pointer operator->() const { return &static_cast<_Node*>(_M_node)->_M_data; } _Self& operator++() { _M_node = _M_node->_M_next; return *this; } _Self operator++(int) { _Self __tmp = *this; _M_node = _M_node->_M_next; return __tmp; } _Self& operator--() { _M_node = _M_node->_M_prev; return *this; } _Self operator--(int) { _Self __tmp = *this; _M_node = _M_node->_M_prev; return __tmp; } bool operator==(const _Self& __x) const { return _M_node == __x._M_node; } bool operator!=(const _Self& __x) const { return _M_node != __x._M_node; } _List_node_base* _M_node; }; template struct _List_const_iterator { typedef _List_const_iterator<_Tp> _Self; typedef const _List_node<_Tp> _Node; typedef _List_iterator<_Tp> iterator; typedef ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; typedef _Tp value_type; typedef const _Tp* pointer; typedef const _Tp& reference; _List_const_iterator() : _M_node() { } explicit _List_const_iterator(const _List_node_base* __x) : _M_node(__x) { } _List_const_iterator(const iterator& __x) : _M_node(__x._M_node) { } reference operator*() const { return static_cast<_Node*>(_M_node)->_M_data; } pointer operator->() const { return &static_cast<_Node*>(_M_node)->_M_data; } _Self& operator++() { _M_node = _M_node->_M_next; return *this; } _Self operator++(int) { _Self __tmp = *this; _M_node = _M_node->_M_next; return __tmp; } _Self& operator--() { _M_node = _M_node->_M_prev; return *this; } _Self operator--(int) { _Self __tmp = *this; _M_node = _M_node->_M_prev; return __tmp; } bool operator==(const _Self& __x) const { return _M_node == __x._M_node; } bool operator!=(const _Self& __x) const { return _M_node != __x._M_node; } const _List_node_base* _M_node; }; template inline bool operator==(const _List_iterator<_Val>& __x, const _List_const_iterator<_Val>& __y) { return __x._M_node == __y._M_node; } template inline bool operator!=(const _List_iterator<_Val>& __x, const _List_const_iterator<_Val>& __y) { return __x._M_node != __y._M_node; } template class _List_base { public: # 293 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 typedef typename _Alloc::template rebind<_List_node<_Tp> >::other _Node_alloc_type; typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; struct _List_impl : public _Node_alloc_type { _List_node_base _M_node; _List_impl() : _Node_alloc_type(), _M_node() { } _List_impl(const _Node_alloc_type& __a) : _Node_alloc_type(__a), _M_node() { } }; _List_impl _M_impl; _List_node<_Tp>* _M_get_node() { return _M_impl._Node_alloc_type::allocate(1); } void _M_put_node(_List_node<_Tp>* __p) { _M_impl._Node_alloc_type::deallocate(__p, 1); } public: typedef _Alloc allocator_type; _Node_alloc_type& _M_get_Node_allocator() { return *static_cast<_Node_alloc_type*>(&this->_M_impl); } const _Node_alloc_type& _M_get_Node_allocator() const { return *static_cast(&this->_M_impl); } _Tp_alloc_type _M_get_Tp_allocator() const { return _Tp_alloc_type(_M_get_Node_allocator()); } allocator_type get_allocator() const { return allocator_type(_M_get_Node_allocator()); } _List_base() : _M_impl() { _M_init(); } _List_base(const allocator_type& __a) : _M_impl(__a) { _M_init(); } # 359 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 ~_List_base() { _M_clear(); } void _M_clear(); void _M_init() { this->_M_impl._M_node._M_next = &this->_M_impl._M_node; this->_M_impl._M_node._M_prev = &this->_M_impl._M_node; } }; # 416 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template > class list : public _List_base<_Tp, _Alloc> { typedef typename _Alloc::value_type _Alloc_value_type; typedef _List_base<_Tp, _Alloc> _Base; typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; public: typedef _Tp value_type; typedef typename _Tp_alloc_type::pointer pointer; typedef typename _Tp_alloc_type::const_pointer const_pointer; typedef typename _Tp_alloc_type::reference reference; typedef typename _Tp_alloc_type::const_reference const_reference; typedef _List_iterator<_Tp> iterator; typedef _List_const_iterator<_Tp> const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; public: typedef _List_node<_Tp> _Node; using _Base::_M_impl; using _Base::_M_put_node; using _Base::_M_get_node; using _Base::_M_get_Tp_allocator; using _Base::_M_get_Node_allocator; _Node* _M_create_node(const value_type& __x) { _Node* __p = this->_M_get_node(); try { _M_get_Tp_allocator().construct(&__p->_M_data, __x); } catch(...) { _M_put_node(__p); throw; } return __p; } # 493 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 public: list() : _Base() { } explicit list(const allocator_type& __a) : _Base(__a) { } # 518 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 explicit list(size_type __n, const value_type& __value = value_type(), const allocator_type& __a = allocator_type()) : _Base(__a) { _M_fill_initialize(__n, __value); } # 531 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 list(const list& __x) : _Base(__x._M_get_Node_allocator()) { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } # 570 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template list(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_initialize_dispatch(__first, __last, _Integral()); } # 595 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 list& operator=(const list& __x); # 641 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 657 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template void assign(_InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_assign_dispatch(__first, __last, _Integral()); } # 680 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 allocator_type get_allocator() const { return _Base::get_allocator(); } iterator begin() { return iterator(this->_M_impl._M_node._M_next); } const_iterator begin() const { return const_iterator(this->_M_impl._M_node._M_next); } iterator end() { return iterator(&this->_M_impl._M_node); } const_iterator end() const { return const_iterator(&this->_M_impl._M_node); } reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } # 799 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 bool empty() const { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } size_type size() const { return std::distance(begin(), end()); } size_type max_size() const { return _M_get_Node_allocator().max_size(); } # 823 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void resize(size_type __new_size, value_type __x = value_type()); reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator __tmp = end(); --__tmp; return *__tmp; } const_reference back() const { const_iterator __tmp = end(); --__tmp; return *__tmp; } # 878 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void push_front(const value_type& __x) { this->_M_insert(begin(), __x); } # 905 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void pop_front() { this->_M_erase(begin()); } # 919 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void push_back(const value_type& __x) { this->_M_insert(end(), __x); } # 945 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void pop_back() { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); } # 978 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 iterator insert(iterator __position, const value_type& __x); # 1027 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void insert(iterator __position, size_type __n, const value_type& __x) { list __tmp(__n, __x, _M_get_Node_allocator()); splice(__position, __tmp); } # 1047 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template void insert(iterator __position, _InputIterator __first, _InputIterator __last) { list __tmp(__first, __last, _M_get_Node_allocator()); splice(__position, __tmp); } # 1071 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 iterator erase(iterator __position); # 1092 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 iterator erase(iterator __first, iterator __last) { while (__first != __last) __first = erase(__first); return __last; } # 1109 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void swap(list& __x) { _List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node); std::__alloc_swap:: _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator()); } void clear() { _Base::_M_clear(); _Base::_M_init(); } # 1145 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void splice(iterator __position, list& __x) { if (!__x.empty()) { _M_check_equal_allocators(__x); this->_M_transfer(__position, __x.begin(), __x.end()); } } # 1175 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void splice(iterator __position, list& __x, iterator __i) { iterator __j = __i; ++__j; if (__position == __i || __position == __j) return; if (this != &__x) _M_check_equal_allocators(__x); this->_M_transfer(__position, __i, __j); } # 1211 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void splice(iterator __position, list& __x, iterator __first, iterator __last) { if (__first != __last) { if (this != &__x) _M_check_equal_allocators(__x); this->_M_transfer(__position, __first, __last); } } # 1246 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void remove(const _Tp& __value); # 1260 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template void remove_if(_Predicate); # 1274 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void unique(); # 1289 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template void unique(_BinaryPredicate); # 1310 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void merge(list& __x); # 1336 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template void merge(list&, _StrictWeakOrdering); void reverse() { this->_M_impl._M_node._M_reverse(); } void sort(); template void sort(_StrictWeakOrdering); public: template void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { _M_fill_initialize(static_cast(__n), __x); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { for (; __first != __last; ++__first) push_back(*__first); } void _M_fill_initialize(size_type __n, const value_type& __x) { for (; __n > 0; --__n) push_back(__x); } # 1407 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type); void _M_fill_assign(size_type __n, const value_type& __val); void _M_transfer(iterator __position, iterator __first, iterator __last) { __position._M_node->_M_transfer(__first._M_node, __last._M_node); } void _M_insert(iterator __position, const value_type& __x) { _Node* __tmp = _M_create_node(__x); __tmp->_M_hook(__position._M_node); } # 1448 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 void _M_erase(iterator __position) { __position._M_node->_M_unhook(); _Node* __n = static_cast<_Node*>(__position._M_node); _M_get_Tp_allocator().destroy(&__n->_M_data); _M_put_node(__n); } void _M_check_equal_allocators(list& __x) { if (std::__alloc_neq:: _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator())) __throw_runtime_error(("list::_M_check_equal_allocators")); } }; # 1481 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template inline bool operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { typedef typename list<_Tp, _Alloc>::const_iterator const_iterator; const_iterator __end1 = __x.end(); const_iterator __end2 = __y.end(); const_iterator __i1 = __x.begin(); const_iterator __i2 = __y.begin(); while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2) { ++__i1; ++__i2; } return __i1 == __end1 && __i2 == __end2; } # 1510 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_list.h" 3 template inline bool operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__x < __y); } template inline void swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) { __x.swap(__y); } } # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/list" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/list.tcc" 1 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/list.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void _List_base<_Tp, _Alloc>:: _M_clear() { typedef _List_node<_Tp> _Node; _Node* __cur = static_cast<_Node*>(this->_M_impl._M_node._M_next); while (__cur != &this->_M_impl._M_node) { _Node* __tmp = __cur; __cur = static_cast<_Node*>(__cur->_M_next); _M_get_Tp_allocator().destroy(&__tmp->_M_data); _M_put_node(__tmp); } } # 95 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/list.tcc" 3 template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: insert(iterator __position, const value_type& __x) { _Node* __tmp = _M_create_node(__x); __tmp->_M_hook(__position._M_node); return iterator(__tmp); } template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: erase(iterator __position) { iterator __ret = iterator(__position._M_node->_M_next); _M_erase(__position); return __ret; } template void list<_Tp, _Alloc>:: resize(size_type __new_size, value_type __x) { iterator __i = begin(); size_type __len = 0; for (; __i != end() && __len < __new_size; ++__i, ++__len) ; if (__len == __new_size) erase(__i, end()); else insert(end(), __new_size - __len, __x); } template list<_Tp, _Alloc>& list<_Tp, _Alloc>:: operator=(const list& __x) { if (this != &__x) { iterator __first1 = begin(); iterator __last1 = end(); const_iterator __first2 = __x.begin(); const_iterator __last2 = __x.end(); for (; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) *__first1 = *__first2; if (__first2 == __last2) erase(__first1, __last1); else insert(__last1, __first2, __last2); } return *this; } template void list<_Tp, _Alloc>:: _M_fill_assign(size_type __n, const value_type& __val) { iterator __i = begin(); for (; __i != end() && __n > 0; ++__i, --__n) *__i = __val; if (__n > 0) insert(end(), __n, __val); else erase(__i, end()); } template template void list<_Tp, _Alloc>:: _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, __false_type) { iterator __first1 = begin(); iterator __last1 = end(); for (; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) *__first1 = *__first2; if (__first2 == __last2) erase(__first1, __last1); else insert(__last1, __first2, __last2); } template void list<_Tp, _Alloc>:: remove(const value_type& __value) { iterator __first = begin(); iterator __last = end(); iterator __extra = __last; while (__first != __last) { iterator __next = __first; ++__next; if (*__first == __value) { if (&*__first != &__value) _M_erase(__first); else __extra = __first; } __first = __next; } if (__extra != __last) _M_erase(__extra); } template void list<_Tp, _Alloc>:: unique() { iterator __first = begin(); iterator __last = end(); if (__first == __last) return; iterator __next = __first; while (++__next != __last) { if (*__first == *__next) _M_erase(__next); else __first = __next; __next = __first; } } template void list<_Tp, _Alloc>:: merge(list& __x) { if (this != &__x) { _M_check_equal_allocators(__x); iterator __first1 = begin(); iterator __last1 = end(); iterator __first2 = __x.begin(); iterator __last2 = __x.end(); while (__first1 != __last1 && __first2 != __last2) if (*__first2 < *__first1) { iterator __next = __first2; _M_transfer(__first1, __first2, ++__next); __first2 = __next; } else ++__first1; if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); } } template template void list<_Tp, _Alloc>:: merge(list& __x, _StrictWeakOrdering __comp) { if (this != &__x) { _M_check_equal_allocators(__x); iterator __first1 = begin(); iterator __last1 = end(); iterator __first2 = __x.begin(); iterator __last2 = __x.end(); while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first2, *__first1)) { iterator __next = __first2; _M_transfer(__first1, __first2, ++__next); __first2 = __next; } else ++__first1; if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); } } template void list<_Tp, _Alloc>:: sort() { if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) { list __carry; list __tmp[64]; list * __fill = &__tmp[0]; list * __counter; do { __carry.splice(__carry.begin(), *this, begin()); for(__counter = &__tmp[0]; __counter != __fill && !__counter->empty(); ++__counter) { __counter->merge(__carry); __carry.swap(*__counter); } __carry.swap(*__counter); if (__counter == __fill) ++__fill; } while ( !empty() ); for (__counter = &__tmp[1]; __counter != __fill; ++__counter) __counter->merge(*(__counter - 1)); swap( *(__fill - 1) ); } } template template void list<_Tp, _Alloc>:: remove_if(_Predicate __pred) { iterator __first = begin(); iterator __last = end(); while (__first != __last) { iterator __next = __first; ++__next; if (__pred(*__first)) _M_erase(__first); __first = __next; } } template template void list<_Tp, _Alloc>:: unique(_BinaryPredicate __binary_pred) { iterator __first = begin(); iterator __last = end(); if (__first == __last) return; iterator __next = __first; while (++__next != __last) { if (__binary_pred(*__first, *__next)) _M_erase(__next); else __first = __next; __next = __first; } } template template void list<_Tp, _Alloc>:: sort(_StrictWeakOrdering __comp) { if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) { list __carry; list __tmp[64]; list * __fill = &__tmp[0]; list * __counter; do { __carry.splice(__carry.begin(), *this, begin()); for(__counter = &__tmp[0]; __counter != __fill && !__counter->empty(); ++__counter) { __counter->merge(__carry, __comp); __carry.swap(*__counter); } __carry.swap(*__counter); if (__counter == __fill) ++__fill; } while ( !empty() ); for (__counter = &__tmp[1]; __counter != __fill; ++__counter) __counter->merge(*(__counter - 1), __comp); swap(*(__fill - 1)); } } } # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/list" 2 3 # 52 "/usr/include/qt4/QtCore/qlist.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; template class QVector; template class QSet; struct QListData { struct Data { QBasicAtomicInt ref; int alloc, begin, end; uint sharable : 1; void *array[1]; }; enum { DataHeaderSize = sizeof(Data) - sizeof(void *) }; Data *detach(); Data *detach2(); Data *detach3(); void realloc(int alloc); static Data shared_null; Data *d; void **erase(void **xi); void **append(); void **append(const QListData &l); void **append2(const QListData &l); void **prepend(); void **insert(int i); void remove(int i); void remove(int i, int n); void move(int from, int to); inline int size() const { return d->end - d->begin; } inline bool isEmpty() const { return d->end == d->begin; } inline void **at(int i) const { return d->array + d->begin + i; } inline void **begin() const { return d->array + d->begin; } inline void **end() const { return d->array + d->end; } }; template class QList { struct Node { void *v; inline T &t() { return *reinterpret_cast(QTypeInfo::isLarge || QTypeInfo::isStatic ? v : this); } }; union { QListData p; QListData::Data *d; }; public: inline QList() : d(&QListData::shared_null) { d->ref.ref(); } inline QList(const QList &l) : d(l.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } ~QList(); QList &operator=(const QList &l); bool operator==(const QList &l) const; inline bool operator!=(const QList &l) const { return !(*this == l); } inline int size() const { return p.size(); } inline void detach() { if (d->ref != 1) detach_helper(); } inline void detachShared() { if (d->ref != 1 && this->d != &QListData::shared_null) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } inline bool isEmpty() const { return p.isEmpty(); } void clear(); const T &at(int i) const; const T &operator[](int i) const; T &operator[](int i); void append(const T &t); void append(const QList &t); void prepend(const T &t); void insert(int i, const T &t); void replace(int i, const T &t); void removeAt(int i); int removeAll(const T &t); bool removeOne(const T &t); T takeAt(int i); T takeFirst(); T takeLast(); void move(int from, int to); void swap(int i, int j); int indexOf(const T &t, int from = 0) const; int lastIndexOf(const T &t, int from = -1) const; QBool contains(const T &t) const; int count(const T &t) const; class const_iterator; class iterator { public: Node *i; typedef std::random_access_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef T *pointer; typedef T &reference; inline iterator() : i(0) {} inline iterator(Node *n) : i(n) {} inline iterator(const iterator &o): i(o.i){} inline T &operator*() const { return i->t(); } inline T *operator->() const { return &i->t(); } inline T &operator[](int j) const { return i[j].t(); } inline bool operator==(const iterator &o) const { return i == o.i; } inline bool operator!=(const iterator &o) const { return i != o.i; } inline bool operator<(const iterator& other) const { return i < other.i; } inline bool operator<=(const iterator& other) const { return i <= other.i; } inline bool operator>(const iterator& other) const { return i > other.i; } inline bool operator>=(const iterator& other) const { return i >= other.i; } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline bool operator<(const const_iterator& other) const { return i < other.i; } inline bool operator<=(const const_iterator& other) const { return i <= other.i; } inline bool operator>(const const_iterator& other) const { return i > other.i; } inline bool operator>=(const const_iterator& other) const { return i >= other.i; } inline iterator &operator++() { ++i; return *this; } inline iterator operator++(int) { Node *n = i; ++i; return n; } inline iterator &operator--() { i--; return *this; } inline iterator operator--(int) { Node *n = i; i--; return n; } inline iterator &operator+=(int j) { i+=j; return *this; } inline iterator &operator-=(int j) { i-=j; return *this; } inline iterator operator+(int j) const { return iterator(i+j); } inline iterator operator-(int j) const { return iterator(i-j); } inline int operator-(iterator j) const { return int(i - j.i); } }; friend class iterator; class const_iterator { public: Node *i; typedef std::random_access_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline const_iterator() : i(0) {} inline const_iterator(Node *n) : i(n) {} inline const_iterator(const const_iterator &o): i(o.i) {} inline const_iterator(const iterator &o): i(o.i) {} inline const T &operator*() const { return i->t(); } inline const T *operator->() const { return &i->t(); } inline const T &operator[](int j) const { return i[j].t(); } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline bool operator<(const const_iterator& other) const { return i < other.i; } inline bool operator<=(const const_iterator& other) const { return i <= other.i; } inline bool operator>(const const_iterator& other) const { return i > other.i; } inline bool operator>=(const const_iterator& other) const { return i >= other.i; } inline const_iterator &operator++() { ++i; return *this; } inline const_iterator operator++(int) { Node *n = i; ++i; return n; } inline const_iterator &operator--() { i--; return *this; } inline const_iterator operator--(int) { Node *n = i; i--; return n; } inline const_iterator &operator+=(int j) { i+=j; return *this; } inline const_iterator &operator-=(int j) { i-=j; return *this; } inline const_iterator operator+(int j) const { return const_iterator(i+j); } inline const_iterator operator-(int j) const { return const_iterator(i-j); } inline int operator-(const_iterator j) const { return i - j.i; } }; friend class const_iterator; inline iterator begin() { detach(); return reinterpret_cast(p.begin()); } inline const_iterator begin() const { return reinterpret_cast(p.begin()); } inline const_iterator constBegin() const { return reinterpret_cast(p.begin()); } inline iterator end() { detach(); return reinterpret_cast(p.end()); } inline const_iterator end() const { return reinterpret_cast(p.end()); } inline const_iterator constEnd() const { return reinterpret_cast(p.end()); } iterator insert(iterator before, const T &t); iterator erase(iterator pos); iterator erase(iterator first, iterator last); typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return p.size(); } inline int length() const { return p.size(); } inline T& first() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qlist.h",263) : qt_noop()); return *begin(); } inline const T& first() const { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qlist.h",264) : qt_noop()); return *begin(); } T& last() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qlist.h",265) : qt_noop()); return *(--end()); } const T& last() const { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qlist.h",266) : qt_noop()); return *(--end()); } inline void removeFirst() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qlist.h",267) : qt_noop()); erase(begin()); } inline void removeLast() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qlist.h",268) : qt_noop()); erase(--end()); } inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } QList mid(int pos, int length = -1) const; T value(int i) const; T value(int i, const T &defaultValue) const; inline void push_back(const T &t) { append(t); } inline void push_front(const T &t) { prepend(t); } inline T& front() { return first(); } inline const T& front() const { return first(); } inline T& back() { return last(); } inline const T& back() const { return last(); } inline void pop_front() { removeFirst(); } inline void pop_back() { removeLast(); } inline bool empty() const { return isEmpty(); } typedef int size_type; typedef T value_type; typedef value_type *pointer; typedef const value_type *const_pointer; typedef value_type &reference; typedef const value_type &const_reference; typedef ptrdiff_t difference_type; # 309 "/usr/include/qt4/QtCore/qlist.h" QList &operator+=(const QList &l); inline QList operator+(const QList &l) const { QList n = *this; n += l; return n; } inline QList &operator+=(const T &t) { append(t); return *this; } inline QList &operator<< (const T &t) { append(t); return *this; } inline QList &operator<<(const QList &l) { *this += l; return *this; } QVector toVector() const; QSet toSet() const; static QList fromVector(const QVector &vector); static QList fromSet(const QSet &set); static inline QList fromStdList(const std::list &list) { QList tmp; qCopy(list.begin(), list.end(), std::back_inserter(tmp)); return tmp; } inline std::list toStdList() const { std::list tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; } private: void detach_helper(); void free(QListData::Data *d); void node_construct(Node *n, const T &t); void node_destruct(Node *n); void node_copy(Node *from, Node *to, Node *src); void node_destruct(Node *from, Node *to); }; template inline void QList::node_construct(Node *n, const T &t) { if (QTypeInfo::isLarge || QTypeInfo::isStatic) n->v = new T(t); else if (QTypeInfo::isComplex) new (n) T(t); else *reinterpret_cast(n) = t; } template inline void QList::node_destruct(Node *n) { if (QTypeInfo::isLarge || QTypeInfo::isStatic) delete reinterpret_cast(n->v); else if (QTypeInfo::isComplex) reinterpret_cast(n)->~T(); } template inline void QList::node_copy(Node *from, Node *to, Node *src) { Node *current = from; if (QTypeInfo::isLarge || QTypeInfo::isStatic) { try { while(current != to) { current->v = new T(*reinterpret_cast(src->v)); ++current; ++src; } } catch (...) { while (current-- != from) delete reinterpret_cast(current->v); throw; } } else if (QTypeInfo::isComplex) { try { while(current != to) { new (current) T(*reinterpret_cast(src)); ++current; ++src; } } catch (...) { while (current-- != from) (reinterpret_cast(current))->~T(); throw; } } else { if (src != from && to - from > 0) memcpy(from, src, (to - from) * sizeof(Node *)); } } template inline void QList::node_destruct(Node *from, Node *to) { if (QTypeInfo::isLarge || QTypeInfo::isStatic) while(from != to) --to, delete reinterpret_cast(to->v); else if (QTypeInfo::isComplex) while (from != to) --to, reinterpret_cast(to)->~T(); } template inline QList &QList::operator=(const QList &l) { if (d != l.d) { l.d->ref.ref(); if (!d->ref.deref()) free(d); d = l.d; if (!d->sharable) detach_helper(); } return *this; } template inline typename QList::iterator QList::insert(iterator before, const T &t) { int iBefore = int(before.i - reinterpret_cast(p.begin())); Node *n = reinterpret_cast(p.insert(iBefore)); try { node_construct(n, t); } catch (...) { p.remove(iBefore); throw; } return n; } template inline typename QList::iterator QList::erase(iterator it) { node_destruct(it.i); return reinterpret_cast(p.erase(reinterpret_cast(it.i))); } template inline const T &QList::at(int i) const { ((!(i >= 0 && i < p.size())) ? qt_assert_x("QList::at", "index out of range","/usr/include/qt4/QtCore/qlist.h",439) : qt_noop()); return reinterpret_cast(p.at(i))->t(); } template inline const T &QList::operator[](int i) const { ((!(i >= 0 && i < p.size())) ? qt_assert_x("QList::operator[]", "index out of range","/usr/include/qt4/QtCore/qlist.h",443) : qt_noop()); return reinterpret_cast(p.at(i))->t(); } template inline T &QList::operator[](int i) { ((!(i >= 0 && i < p.size())) ? qt_assert_x("QList::operator[]", "index out of range","/usr/include/qt4/QtCore/qlist.h",447) : qt_noop()); detach(); return reinterpret_cast(p.at(i))->t(); } template inline void QList::removeAt(int i) { if(i >= 0 && i < p.size()) { detach(); node_destruct(reinterpret_cast(p.at(i))); p.remove(i); } } template inline T QList::takeAt(int i) { ((!(i >= 0 && i < p.size())) ? qt_assert_x("QList::take", "index out of range","/usr/include/qt4/QtCore/qlist.h",455) : qt_noop()); detach(); Node *n = reinterpret_cast(p.at(i)); T t = n->t(); node_destruct(n); p.remove(i); return t; } template inline T QList::takeFirst() { T t = first(); removeFirst(); return t; } template inline T QList::takeLast() { T t = last(); removeLast(); return t; } template void QList::append(const T &t) { detach(); if (QTypeInfo::isLarge || QTypeInfo::isStatic) { Node *n = reinterpret_cast(p.append()); try { node_construct(n, t); } catch (...) { --d->end; throw; } } else { const T cpy(t); Node *n = reinterpret_cast(p.append()); try { node_construct(n, cpy); } catch (...) { --d->end; throw; } } } template inline void QList::prepend(const T &t) { detach(); if (QTypeInfo::isLarge || QTypeInfo::isStatic) { Node *n = reinterpret_cast(p.prepend()); try { node_construct(n, t); } catch (...) { ++d->begin; throw; } } else { const T cpy(t); Node *n = reinterpret_cast(p.prepend()); try { node_construct(n, cpy); } catch (...) { ++d->begin; throw; } } } template inline void QList::insert(int i, const T &t) { detach(); if (QTypeInfo::isLarge || QTypeInfo::isStatic) { Node *n = reinterpret_cast(p.insert(i)); try { node_construct(n, t); } catch (...) { p.remove(i); throw; } } else { const T cpy(t); Node *n = reinterpret_cast(p.insert(i)); try { node_construct(n, cpy); } catch (...) { p.remove(i); throw; } } } template inline void QList::replace(int i, const T &t) { ((!(i >= 0 && i < p.size())) ? qt_assert_x("QList::replace", "index out of range","/usr/include/qt4/QtCore/qlist.h",540) : qt_noop()); detach(); if (QTypeInfo::isLarge || QTypeInfo::isStatic) { reinterpret_cast(p.at(i))->t() = t; } else { const T cpy(t); reinterpret_cast(p.at(i))->t() = cpy; } } template inline void QList::swap(int i, int j) { ((!(i >= 0 && i < p.size() && j >= 0 && j < p.size())) ? qt_assert_x("QList::swap", "index out of range", "/usr/include/qt4/QtCore/qlist.h" # 553 "/usr/include/qt4/QtCore/qlist.h" , 554 # 553 "/usr/include/qt4/QtCore/qlist.h" ) : qt_noop()) ; detach(); void *t = d->array[d->begin + i]; d->array[d->begin + i] = d->array[d->begin + j]; d->array[d->begin + j] = t; } template inline void QList::move(int from, int to) { ((!(from >= 0 && from < p.size() && to >= 0 && to < p.size())) ? qt_assert_x("QList::move", "index out of range", "/usr/include/qt4/QtCore/qlist.h" # 564 "/usr/include/qt4/QtCore/qlist.h" , 565 # 564 "/usr/include/qt4/QtCore/qlist.h" ) : qt_noop()) ; detach(); p.move(from, to); } template QList QList::mid(int pos, int alength) const { if (alength < 0) alength = size() - pos; if (pos == 0 && alength == size()) return *this; QList cpy; if (pos + alength > size()) alength = size() - pos; for (int i = pos; i < pos + alength; ++i) cpy += at(i); return cpy; } template T QList::value(int i) const { if (i < 0 || i >= p.size()) { return T(); } return reinterpret_cast(p.at(i))->t(); } template T QList::value(int i, const T& defaultValue) const { return ((i < 0 || i >= p.size()) ? defaultValue : reinterpret_cast(p.at(i))->t()); } template void QList::detach_helper() { Node *n = reinterpret_cast(p.begin()); QListData::Data *x = p.detach3(); try { node_copy(reinterpret_cast(p.begin()), reinterpret_cast(p.end()), n); } catch (...) { qFree(d); d = x; throw; } if (!x->ref.deref()) free(x); } template QList::~QList() { if (d && !d->ref.deref()) free(d); } template bool QList::operator==(const QList &l) const { if (p.size() != l.p.size()) return false; if (d == l.d) return true; Node *i = reinterpret_cast(p.end()); Node *b = reinterpret_cast(p.begin()); Node *li = reinterpret_cast(l.p.end()); while (i != b) { --i; --li; if (!(i->t() == li->t())) return false; } return true; } template void QList::free(QListData::Data *data) { node_destruct(reinterpret_cast(data->array + data->begin), reinterpret_cast(data->array + data->end)); if (data->ref == 0) qFree(data); } template void QList::clear() { *this = QList(); } template int QList::removeAll(const T &_t) { detachShared(); const T t = _t; int removedCount=0, i=0; Node *n; while (i < p.size()) if ((n = reinterpret_cast(p.at(i)))->t() == t) { node_destruct(n); p.remove(i); ++removedCount; } else { ++i; } return removedCount; } template bool QList::removeOne(const T &_t) { detachShared(); int index = indexOf(_t); if (index != -1) { removeAt(index); return true; } return false; } template typename QList::iterator QList::erase(typename QList::iterator afirst, typename QList::iterator alast) { for (Node *n = afirst.i; n < alast.i; ++n) node_destruct(n); int idx = afirst - begin(); p.remove(idx, alast - afirst); return begin() + idx; } template QList &QList::operator+=(const QList &l) { detach(); Node *n = reinterpret_cast(p.append2(l.p)); try{ node_copy(n, reinterpret_cast(p.end()), reinterpret_cast(l.p.begin())); } catch (...) { d->end -= int(reinterpret_cast(p.end()) - n); throw; } return *this; } template inline void QList::append(const QList &t) { *this += t; } template int QList::indexOf(const T &t, int from) const { if (from < 0) from = qMax(from + p.size(), 0); if (from < p.size()) { Node *n = reinterpret_cast(p.at(from -1)); Node *e = reinterpret_cast(p.end()); while (++n != e) if (n->t() == t) return int(n - reinterpret_cast(p.begin())); } return -1; } template int QList::lastIndexOf(const T &t, int from) const { if (from < 0) from += p.size(); else if (from >= p.size()) from = p.size()-1; if (from >= 0) { Node *b = reinterpret_cast(p.begin()); Node *n = reinterpret_cast(p.at(from + 1)); while (n-- != b) { if (n->t() == t) return n - b; } } return -1; } template QBool QList::contains(const T &t) const { Node *b = reinterpret_cast(p.begin()); Node *i = reinterpret_cast(p.end()); while (i-- != b) if (i->t() == t) return QBool(true); return QBool(false); } template int QList::count(const T &t) const { int c = 0; Node *b = reinterpret_cast(p.begin()); Node *i = reinterpret_cast(p.end()); while (i-- != b) if (i->t() == t) ++c; return c; } template class QListIterator { typedef typename QList::const_iterator const_iterator; QList c; const_iterator i; public: inline QListIterator(const QList &container) : c(container), i(c.constBegin()) {} inline QListIterator &operator=(const QList &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; template class QMutableListIterator { typedef typename QList::iterator iterator; typedef typename QList::const_iterator const_iterator; QList *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableListIterator(QList &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableListIterator() { c->setSharable(true); } inline QMutableListIterator &operator=(QList &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qlist.h",778) : qt_noop()); return *n; } inline const T &value() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qlist.h",778) : qt_noop()); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 51 "/usr/include/qt4/QtCore/qobject.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QEvent; class QTimerEvent; class QChildEvent; struct QMetaObject; class QVariant; class QObjectPrivate; class QObject; class QThread; class QWidget; class QRegExp; class QObjectUserData; typedef QList QObjectList; # 87 "/usr/include/qt4/QtCore/qobject.h" template inline T qFindChild(const QObject *, const QString & = QString()); template inline QList qFindChildren(const QObject *, const QString & = QString()); template inline QList qFindChildren(const QObject *, const QRegExp &); class QObjectData { public: virtual ~QObjectData() = 0; QObject *q_ptr; QObject *parent; QObjectList children; uint isWidget : 1; uint pendTimer : 1; uint blockSig : 1; uint wasDeleted : 1; uint ownObjectName : 1; uint sendChildEvents : 1; uint receiveChildEvents : 1; uint inEventHandler : 1; uint inThreadChangeEvent : 1; uint hasGuards : 1; uint unused : 22; int postedEvents; QMetaObject *metaObject; }; class QObject { public: template inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: inline QObjectPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QObjectPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QObjectPrivate; public: explicit QObject(QObject *parent=0); virtual ~QObject(); virtual bool event(QEvent *); virtual bool eventFilter(QObject *, QEvent *); # 153 "/usr/include/qt4/QtCore/qobject.h" QString objectName() const; void setObjectName(const QString &name); inline bool isWidgetType() const { return d_ptr->isWidget; } inline bool signalsBlocked() const { return d_ptr->blockSig; } bool blockSignals(bool b); QThread *thread() const; void moveToThread(QThread *thread); int startTimer(int interval); void killTimer(int id); template inline T findChild(const QString &aName = QString()) const { return qFindChild(this, aName); } template inline QList findChildren(const QString &aName = QString()) const { return qFindChildren(this, aName); } template inline QList findChildren(const QRegExp &re) const { return qFindChildren(this, re); } # 191 "/usr/include/qt4/QtCore/qobject.h" inline const QObjectList &children() const { return d_ptr->children; } void setParent(QObject *); void installEventFilter(QObject *); void removeEventFilter(QObject *); static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection ); inline bool connect(const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type = Qt::AutoConnection ) const; static bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *member); inline bool disconnect(const char *signal = 0, const QObject *receiver = 0, const char *member = 0) { return disconnect(this, signal, receiver, member); } inline bool disconnect(const QObject *receiver, const char *member = 0) { return disconnect(this, 0, receiver, member); } void dumpObjectTree(); void dumpObjectInfo(); bool setProperty(const char *name, const QVariant &value); QVariant property(const char *name) const; QList dynamicPropertyNames() const; static uint registerUserData(); void setUserData(uint id, QObjectUserData* data); QObjectUserData* userData(uint id) const; public: void destroyed(QObject * = 0); public: inline QObject *parent() const { return d_ptr->parent; } inline bool inherits(const char *classname) const { return const_cast(this)->qt_metacast(classname) != 0; } public : void deleteLater(); public: QObject *sender() const; int receivers(const char* signal) const; virtual void timerEvent(QTimerEvent *); virtual void childEvent(QChildEvent *); virtual void customEvent(QEvent *); virtual void connectNotify(const char *signal); virtual void disconnectNotify(const char *signal); # 292 "/usr/include/qt4/QtCore/qobject.h" public: QObject(QObjectPrivate &dd, QObject *parent = 0); public: QScopedPointer d_ptr; static const QMetaObject staticQtMetaObject; friend struct QMetaObject; friend class QApplication; friend class QApplicationPrivate; friend class QCoreApplication; friend class QCoreApplicationPrivate; friend class QWidget; friend class QThreadData; private: QObject(const QObject &); QObject &operator=(const QObject &); }; inline bool QObject::connect(const QObject *asender, const char *asignal, const char *amember, Qt::ConnectionType atype) const { return connect(asender, asignal, this, amember, atype); } class QObjectUserData { public: virtual ~QObjectUserData(); }; void qt_qFindChildren_helper(const QObject *parent, const QString &name, const QRegExp *re, const QMetaObject &mo, QList *list); QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo); # 417 "/usr/include/qt4/QtCore/qobject.h" template inline T qFindChild(const QObject *o, const QString &name) { return static_cast(qt_qFindChild_helper(o, name, reinterpret_cast(0)->staticMetaObject)); } template inline QList qFindChildren(const QObject *o, const QString &name) { QList list; union { QList *typedList; QList *voidList; } u; u.typedList = &list; qt_qFindChildren_helper(o, name, 0, reinterpret_cast(0)->staticMetaObject, u.voidList); return list; } template inline QList qFindChildren(const QObject *o, const QRegExp &re) { QList list; union { QList *typedList; QList *voidList; } u; u.typedList = &list; qt_qFindChildren_helper(o, QString(), &re, reinterpret_cast(0)->staticMetaObject, u.voidList); return list; } template inline T qobject_cast(QObject *object) { reinterpret_cast(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast(object)); return static_cast(reinterpret_cast(0)->staticMetaObject.cast(object)); } template inline T qobject_cast(const QObject *object) { register T ptr = static_cast(object); (void)ptr;; reinterpret_cast(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast(const_cast(object))); return static_cast(const_cast(reinterpret_cast(0)->staticMetaObject.cast(const_cast(object)))); } template inline const char * qobject_interface_iid() { return 0; } # 488 "/usr/include/qt4/QtCore/qobject.h" QDebug operator<<(QDebug, const QObject *); # 47 "/usr/include/qt4/QtCore/qiodevice.h" 2 # 57 "/usr/include/qt4/QtCore/qiodevice.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QByteArray; class QIODevicePrivate; class QIODevice : public QObject { public: template inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: public: enum OpenModeFlag { NotOpen = 0x0000, ReadOnly = 0x0001, WriteOnly = 0x0002, ReadWrite = ReadOnly | WriteOnly, Append = 0x0004, Truncate = 0x0008, Text = 0x0010, Unbuffered = 0x0020 }; typedef QFlags OpenMode; QIODevice(); explicit QIODevice(QObject *parent); virtual ~QIODevice(); OpenMode openMode() const; void setTextModeEnabled(bool enabled); bool isTextModeEnabled() const; bool isOpen() const; bool isReadable() const; bool isWritable() const; virtual bool isSequential() const; virtual bool open(OpenMode mode); virtual void close(); virtual qint64 pos() const; virtual qint64 size() const; virtual bool seek(qint64 pos); virtual bool atEnd() const; virtual bool reset(); virtual qint64 bytesAvailable() const; virtual qint64 bytesToWrite() const; qint64 read(char *data, qint64 maxlen); QByteArray read(qint64 maxlen); QByteArray readAll(); qint64 readLine(char *data, qint64 maxlen); QByteArray readLine(qint64 maxlen = 0); virtual bool canReadLine() const; qint64 write(const char *data, qint64 len); qint64 write(const char *data); inline qint64 write(const QByteArray &data) { return write(data.constData(), data.size()); } qint64 peek(char *data, qint64 maxlen); QByteArray peek(qint64 maxlen); virtual bool waitForReadyRead(int msecs); virtual bool waitForBytesWritten(int msecs); void ungetChar(char c); bool putChar(char c); bool getChar(char *c); QString errorString() const; public: void readyRead(); void bytesWritten(qint64 bytes); void aboutToClose(); void readChannelFinished(); public: QIODevice(QIODevicePrivate &dd, QObject *parent = 0); virtual qint64 readData(char *data, qint64 maxlen) = 0; virtual qint64 readLineData(char *data, qint64 maxlen); virtual qint64 writeData(const char *data, qint64 len) = 0; void setOpenMode(OpenMode openMode); void setErrorString(const QString &errorString); private: inline QIODevicePrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QIODevicePrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QIODevicePrivate; QIODevice(const QIODevice &); QIODevice &operator=(const QIODevice &); # 204 "/usr/include/qt4/QtCore/qiodevice.h" }; inline QFlags operator|(QIODevice::OpenMode::enum_type f1, QIODevice::OpenMode::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QIODevice::OpenMode::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QIODevice::OpenMode::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } # 246 "/usr/include/qt4/QtCore/qiodevice.h" class QDebug; QDebug operator<<(QDebug debug, QIODevice::OpenMode modes); # 47 "/usr/include/qt4/QtCore/qdatastream.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QByteArray; class QIODevice; template class QList; template class QLinkedList; template class QVector; template class QSet; template class QHash; template class QMap; class QDataStreamPrivate; class QDataStream { public: enum Version { Qt_1_0 = 1, Qt_2_0 = 2, Qt_2_1 = 3, Qt_3_0 = 4, Qt_3_1 = 5, Qt_3_3 = 6, Qt_4_0 = 7, Qt_4_1 = Qt_4_0, Qt_4_2 = 8, Qt_4_3 = 9, Qt_4_4 = 10, Qt_4_5 = 11, Qt_4_6 = 12 }; enum ByteOrder { BigEndian = QSysInfo::BigEndian, LittleEndian = QSysInfo::LittleEndian }; enum Status { Ok, ReadPastEnd, ReadCorruptData }; enum FloatingPointPrecision { SinglePrecision, DoublePrecision }; QDataStream(); explicit QDataStream(QIODevice *); QDataStream(QByteArray *, QIODevice::OpenMode flags); QDataStream(const QByteArray &); virtual ~QDataStream(); QIODevice *device() const; void setDevice(QIODevice *); void unsetDevice(); bool atEnd() const; Status status() const; void setStatus(Status status); void resetStatus(); FloatingPointPrecision floatingPointPrecision() const; void setFloatingPointPrecision(FloatingPointPrecision precision); ByteOrder byteOrder() const; void setByteOrder(ByteOrder); int version() const; void setVersion(int); QDataStream &operator>>(qint8 &i); QDataStream &operator>>(quint8 &i); QDataStream &operator>>(qint16 &i); QDataStream &operator>>(quint16 &i); QDataStream &operator>>(qint32 &i); QDataStream &operator>>(quint32 &i); QDataStream &operator>>(qint64 &i); QDataStream &operator>>(quint64 &i); QDataStream &operator>>(bool &i); QDataStream &operator>>(float &f); QDataStream &operator>>(double &f); QDataStream &operator>>(char *&str); QDataStream &operator<<(qint8 i); QDataStream &operator<<(quint8 i); QDataStream &operator<<(qint16 i); QDataStream &operator<<(quint16 i); QDataStream &operator<<(qint32 i); QDataStream &operator<<(quint32 i); QDataStream &operator<<(qint64 i); QDataStream &operator<<(quint64 i); QDataStream &operator<<(bool i); QDataStream &operator<<(float f); QDataStream &operator<<(double f); QDataStream &operator<<(const char *str); QDataStream &readBytes(char *&, uint &len); int readRawData(char *, int len); QDataStream &writeBytes(const char *, uint len); int writeRawData(const char *, int len); int skipRawData(int len); # 185 "/usr/include/qt4/QtCore/qdatastream.h" private: QDataStream(const QDataStream &); QDataStream &operator=(const QDataStream &); QScopedPointer d; QIODevice *dev; bool owndev; bool noswap; ByteOrder byteorder; int ver; Status q_status; }; inline QIODevice *QDataStream::device() const { return dev; } inline QDataStream::ByteOrder QDataStream::byteOrder() const { return byteorder; } inline int QDataStream::version() const { return ver; } inline void QDataStream::setVersion(int v) { ver = v; } inline QDataStream &QDataStream::operator>>(quint8 &i) { return *this >> reinterpret_cast(i); } inline QDataStream &QDataStream::operator>>(quint16 &i) { return *this >> reinterpret_cast(i); } inline QDataStream &QDataStream::operator>>(quint32 &i) { return *this >> reinterpret_cast(i); } inline QDataStream &QDataStream::operator>>(quint64 &i) { return *this >> reinterpret_cast(i); } inline QDataStream &QDataStream::operator<<(quint8 i) { return *this << qint8(i); } inline QDataStream &QDataStream::operator<<(quint16 i) { return *this << qint16(i); } inline QDataStream &QDataStream::operator<<(quint32 i) { return *this << qint32(i); } inline QDataStream &QDataStream::operator<<(quint64 i) { return *this << qint64(i); } template QDataStream& operator>>(QDataStream& s, QList& l) { l.clear(); quint32 c; s >> c; for(quint32 i = 0; i < c; ++i) { T t; s >> t; l.append(t); if (s.atEnd()) break; } return s; } template QDataStream& operator<<(QDataStream& s, const QList& l) { s << quint32(l.size()); for (int i = 0; i < l.size(); ++i) s << l.at(i); return s; } template QDataStream& operator>>(QDataStream& s, QLinkedList& l) { l.clear(); quint32 c; s >> c; for(quint32 i = 0; i < c; ++i) { T t; s >> t; l.append(t); if (s.atEnd()) break; } return s; } template QDataStream& operator<<(QDataStream& s, const QLinkedList& l) { s << quint32(l.size()); typename QLinkedList::ConstIterator it = l.constBegin(); for(; it != l.constEnd(); ++it) s << *it; return s; } template QDataStream& operator>>(QDataStream& s, QVector& v) { v.clear(); quint32 c; s >> c; v.resize(c); for(quint32 i = 0; i < c; ++i) { T t; s >> t; v[i] = t; } return s; } template QDataStream& operator<<(QDataStream& s, const QVector& v) { s << quint32(v.size()); for (typename QVector::const_iterator it = v.begin(); it != v.end(); ++it) s << *it; return s; } template QDataStream &operator>>(QDataStream &in, QSet &set) { set.clear(); quint32 c; in >> c; for (quint32 i = 0; i < c; ++i) { T t; in >> t; set << t; if (in.atEnd()) break; } return in; } template QDataStream& operator<<(QDataStream &out, const QSet &set) { out << quint32(set.size()); typename QSet::const_iterator i = set.constBegin(); while (i != set.constEnd()) { out << *i; ++i; } return out; } template QDataStream &operator>>(QDataStream &in, QHash &hash) { QDataStream::Status oldStatus = in.status(); in.resetStatus(); hash.clear(); quint32 n; in >> n; for (quint32 i = 0; i < n; ++i) { if (in.status() != QDataStream::Ok) break; Key k; T t; in >> k >> t; hash.insertMulti(k, t); } if (in.status() != QDataStream::Ok) hash.clear(); if (oldStatus != QDataStream::Ok) in.setStatus(oldStatus); return in; } template QDataStream &operator<<(QDataStream &out, const QHash& hash) { out << quint32(hash.size()); typename QHash::ConstIterator it = hash.end(); typename QHash::ConstIterator begin = hash.begin(); while (it != begin) { --it; out << it.key() << it.value(); } return out; } template QDataStream &operator>>(QDataStream &in, QMap &map) { QDataStream::Status oldStatus = in.status(); in.resetStatus(); map.clear(); quint32 n; in >> n; map.detach(); map.setInsertInOrder(true); for (quint32 i = 0; i < n; ++i) { if (in.status() != QDataStream::Ok) break; aKey key; aT value; in >> key >> value; map.insertMulti(key, value); } map.setInsertInOrder(false); if (in.status() != QDataStream::Ok) map.clear(); if (oldStatus != QDataStream::Ok) in.setStatus(oldStatus); return in; } template QDataStream &operator<<(QDataStream &out, const QMap &map) { out << quint32(map.size()); typename QMap::ConstIterator it = map.end(); typename QMap::ConstIterator begin = map.begin(); while (it != begin) { --it; out << it.key() << it.value(); } return out; } # 47 "/usr/include/qt4/QtCore/qstringlist.h" 2 # 1 "/usr/include/qt4/QtCore/qregexp.h" 1 # 52 "/usr/include/qt4/QtCore/qregexp.h" typedef QtValidLicenseForCoreModule QtCoreModule; struct QRegExpPrivate; class QStringList; class QRegExp { public: enum PatternSyntax { RegExp, Wildcard, FixedString, RegExp2, WildcardUnix, W3CXmlSchema11 }; enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch }; QRegExp(); explicit QRegExp(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, PatternSyntax syntax = RegExp); QRegExp(const QRegExp &rx); ~QRegExp(); QRegExp &operator=(const QRegExp &rx); bool operator==(const QRegExp &rx) const; inline bool operator!=(const QRegExp &rx) const { return !operator==(rx); } bool isEmpty() const; bool isValid() const; QString pattern() const; void setPattern(const QString &pattern); Qt::CaseSensitivity caseSensitivity() const; void setCaseSensitivity(Qt::CaseSensitivity cs); PatternSyntax patternSyntax() const; void setPatternSyntax(PatternSyntax syntax); bool isMinimal() const; void setMinimal(bool minimal); bool exactMatch(const QString &str) const; int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero) const; int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero) const; # 120 "/usr/include/qt4/QtCore/qregexp.h" int matchedLength() const; int numCaptures() const; int captureCount() const; QStringList capturedTexts() const; QStringList capturedTexts(); QString cap(int nth = 0) const; QString cap(int nth = 0); int pos(int nth = 0) const; int pos(int nth = 0); QString errorString() const; QString errorString(); static QString escape(const QString &str); # 147 "/usr/include/qt4/QtCore/qregexp.h" private: QRegExpPrivate *priv; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QRegExp)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QRegExp"; } }; QDataStream &operator<<(QDataStream &out, const QRegExp ®Exp); QDataStream &operator>>(QDataStream &in, QRegExp ®Exp); # 49 "/usr/include/qt4/QtCore/qstringlist.h" 2 # 1 "/usr/include/qt4/QtCore/qstringmatcher.h" 1 # 47 "/usr/include/qt4/QtCore/qstringmatcher.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QStringMatcherPrivate; class QStringMatcher { public: QStringMatcher(); QStringMatcher(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive); QStringMatcher(const QChar *uc, int len, Qt::CaseSensitivity cs = Qt::CaseSensitive); QStringMatcher(const QStringMatcher &other); ~QStringMatcher(); QStringMatcher &operator=(const QStringMatcher &other); void setPattern(const QString &pattern); void setCaseSensitivity(Qt::CaseSensitivity cs); int indexIn(const QString &str, int from = 0) const; int indexIn(const QChar *str, int length, int from = 0) const; QString pattern() const; inline Qt::CaseSensitivity caseSensitivity() const { return q_cs; } private: QStringMatcherPrivate *d_ptr; QString q_pattern; Qt::CaseSensitivity q_cs; struct Data { uchar q_skiptable[256]; const QChar *uc; int len; }; union { uint q_data[256]; Data p; }; }; # 51 "/usr/include/qt4/QtCore/qstringlist.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QRegExp; typedef QListIterator QStringListIterator; typedef QMutableListIterator QMutableStringListIterator; class QStringList : public QList { public: inline QStringList() { } inline explicit QStringList(const QString &i) { append(i); } inline QStringList(const QStringList &l) : QList(l) { } inline QStringList(const QList &l) : QList(l) { } inline void sort(); inline int removeDuplicates(); inline QString join(const QString &sep) const; inline QStringList filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline QBool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline QStringList &replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); inline QStringList operator+(const QStringList &other) const { QStringList n = *this; n += other; return n; } inline QStringList &operator<<(const QString &str) { append(str); return *this; } inline QStringList &operator<<(const QStringList &l) { *this += l; return *this; } inline QStringList filter(const QRegExp &rx) const; inline QStringList &replaceInStrings(const QRegExp &rx, const QString &after); inline int indexOf(const QRegExp &rx, int from = 0) const; inline int lastIndexOf(const QRegExp &rx, int from = -1) const; inline int indexOf(QRegExp &rx, int from = 0) const; inline int lastIndexOf(QRegExp &rx, int from = -1) const; using QList::indexOf; using QList::lastIndexOf; # 126 "/usr/include/qt4/QtCore/qstringlist.h" }; namespace QtPrivate { void QStringList_sort(QStringList *that); int QStringList_removeDuplicates(QStringList *that); QString QStringList_join(const QStringList *that, const QString &sep); QStringList QStringList_filter(const QStringList *that, const QString &str, Qt::CaseSensitivity cs); QBool QStringList_contains(const QStringList *that, const QString &str, Qt::CaseSensitivity cs); void QStringList_replaceInStrings(QStringList *that, const QString &before, const QString &after, Qt::CaseSensitivity cs); void QStringList_replaceInStrings(QStringList *that, const QRegExp &rx, const QString &after); QStringList QStringList_filter(const QStringList *that, const QRegExp &re); int QStringList_indexOf(const QStringList *that, const QRegExp &rx, int from); int QStringList_lastIndexOf(const QStringList *that, const QRegExp &rx, int from); int QStringList_indexOf(const QStringList *that, QRegExp &rx, int from); int QStringList_lastIndexOf(const QStringList *that, QRegExp &rx, int from); } inline void QStringList::sort() { QtPrivate::QStringList_sort(this); } inline int QStringList::removeDuplicates() { return QtPrivate::QStringList_removeDuplicates(this); } inline QString QStringList::join(const QString &sep) const { return QtPrivate::QStringList_join(this, sep); } inline QStringList QStringList::filter(const QString &str, Qt::CaseSensitivity cs) const { return QtPrivate::QStringList_filter(this, str, cs); } inline QBool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const { return QtPrivate::QStringList_contains(this, str, cs); } inline QStringList &QStringList::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs) { QtPrivate::QStringList_replaceInStrings(this, before, after, cs); return *this; } inline QStringList &QStringList::replaceInStrings(const QRegExp &rx, const QString &after) { QtPrivate::QStringList_replaceInStrings(this, rx, after); return *this; } inline QStringList QStringList::filter(const QRegExp &rx) const { return QtPrivate::QStringList_filter(this, rx); } inline int QStringList::indexOf(const QRegExp &rx, int from) const { return QtPrivate::QStringList_indexOf(this, rx, from); } inline int QStringList::lastIndexOf(const QRegExp &rx, int from) const { return QtPrivate::QStringList_lastIndexOf(this, rx, from); } inline int QStringList::indexOf(QRegExp &rx, int from) const { return QtPrivate::QStringList_indexOf(this, rx, from); } inline int QStringList::lastIndexOf(QRegExp &rx, int from) const { return QtPrivate::QStringList_lastIndexOf(this, rx, from); } # 245 "/usr/include/qt4/QtCore/qstringlist.h" inline QDataStream &operator>>(QDataStream &in, QStringList &list) { return operator>>(in, static_cast &>(list)); } inline QDataStream &operator<<(QDataStream &out, const QStringList &list) { return operator<<(out, static_cast &>(list)); } # 48 "/usr/include/qt4/QtGui/qcolor.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QColor; class QColormap; class QVariant; QDebug operator<<(QDebug, const QColor &); QDataStream &operator<<(QDataStream &, const QColor &); QDataStream &operator>>(QDataStream &, QColor &); class QColor { public: enum Spec { Invalid, Rgb, Hsv, Cmyk, Hsl }; QColor(); QColor(Qt::GlobalColor color); QColor(int r, int g, int b, int a = 255); QColor(QRgb rgb); QColor(const QString& name); QColor(const char *name); QColor(const QColor &color); QColor(Spec spec); bool isValid() const; QString name() const; void setNamedColor(const QString& name); static QStringList colorNames(); inline Spec spec() const { return cspec; } int alpha() const; void setAlpha(int alpha); qreal alphaF() const; void setAlphaF(qreal alpha); int red() const; int green() const; int blue() const; void setRed(int red); void setGreen(int green); void setBlue(int blue); qreal redF() const; qreal greenF() const; qreal blueF() const; void setRedF(qreal red); void setGreenF(qreal green); void setBlueF(qreal blue); void getRgb(int *r, int *g, int *b, int *a = 0) const; void setRgb(int r, int g, int b, int a = 255); void getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = 0) const; void setRgbF(qreal r, qreal g, qreal b, qreal a = 1.0); QRgb rgba() const; void setRgba(QRgb rgba); QRgb rgb() const; void setRgb(QRgb rgb); int hue() const; int saturation() const; int hsvHue() const; int hsvSaturation() const; int value() const; qreal hueF() const; qreal saturationF() const; qreal hsvHueF() const; qreal hsvSaturationF() const; qreal valueF() const; void getHsv(int *h, int *s, int *v, int *a = 0) const; void setHsv(int h, int s, int v, int a = 255); void getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = 0) const; void setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); int cyan() const; int magenta() const; int yellow() const; int black() const; qreal cyanF() const; qreal magentaF() const; qreal yellowF() const; qreal blackF() const; void getCmyk(int *c, int *m, int *y, int *k, int *a = 0); void setCmyk(int c, int m, int y, int k, int a = 255); void getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = 0); void setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); int hslHue() const; int hslSaturation() const; int lightness() const; qreal hslHueF() const; qreal hslSaturationF() const; qreal lightnessF() const; void getHsl(int *h, int *s, int *l, int *a = 0) const; void setHsl(int h, int s, int l, int a = 255); void getHslF(qreal *h, qreal *s, qreal *l, qreal *a = 0) const; void setHslF(qreal h, qreal s, qreal l, qreal a = 1.0); QColor toRgb() const; QColor toHsv() const; QColor toCmyk() const; QColor toHsl() const; QColor convertTo(Spec colorSpec) const; static QColor fromRgb(QRgb rgb); static QColor fromRgba(QRgb rgba); static QColor fromRgb(int r, int g, int b, int a = 255); static QColor fromRgbF(qreal r, qreal g, qreal b, qreal a = 1.0); static QColor fromHsv(int h, int s, int v, int a = 255); static QColor fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); static QColor fromCmyk(int c, int m, int y, int k, int a = 255); static QColor fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); static QColor fromHsl(int h, int s, int l, int a = 255); static QColor fromHslF(qreal h, qreal s, qreal l, qreal a = 1.0); QColor light(int f = 150) const; QColor lighter(int f = 150) const; QColor dark(int f = 200) const; QColor darker(int f = 200) const; QColor &operator=(const QColor &); QColor &operator=(Qt::GlobalColor color); bool operator==(const QColor &c) const; bool operator!=(const QColor &c) const; operator QVariant() const; static bool allowX11ColorNames(); static void setAllowX11ColorNames(bool enabled); # 228 "/usr/include/qt4/QtGui/qcolor.h" private: QColor(int, int, int, Spec); void invalidate(); Spec cspec; union { struct { ushort alpha; ushort red; ushort green; ushort blue; ushort pad; } argb; struct { ushort alpha; ushort hue; ushort saturation; ushort value; ushort pad; } ahsv; struct { ushort alpha; ushort cyan; ushort magenta; ushort yellow; ushort black; } acmyk; struct { ushort alpha; ushort hue; ushort saturation; ushort lightness; ushort pad; } ahsl; ushort array[5]; } ct; friend class QColormap; friend QDataStream &operator<<(QDataStream &, const QColor &); friend QDataStream &operator>>(QDataStream &, QColor &); }; inline QColor::QColor() { invalidate(); } inline QColor::QColor(int r, int g, int b, int a) { setRgb(r, g, b, a); } inline QColor::QColor(const char *aname) { setNamedColor(QLatin1String(aname)); } inline QColor::QColor(const QString& aname) { setNamedColor(aname); } inline QColor::QColor(const QColor &acolor) : cspec(acolor.cspec) { ct.argb = acolor.ct.argb; } inline bool QColor::isValid() const { return cspec != Invalid; } inline QColor QColor::lighter(int f) const { return light(f); } inline QColor QColor::darker(int f) const { return dark(f); } # 47 "/usr/include/qt4/QtGui/qpixmap.h" 2 # 1 "/usr/include/qt4/QtCore/qsharedpointer.h" 1 # 47 "/usr/include/qt4/QtCore/qsharedpointer.h" # 1 "/usr/include/qt4/QtCore/qshareddata.h" 1 # 48 "/usr/include/qt4/QtCore/qshareddata.h" typedef QtValidLicenseForCoreModule QtCoreModule; template class QSharedDataPointer; class QSharedData { public: mutable QAtomicInt ref; inline QSharedData() : ref(0) { } inline QSharedData(const QSharedData &) : ref(0) { } private: QSharedData &operator=(const QSharedData &); }; template class QSharedDataPointer { public: typedef T Type; typedef T *pointer; inline void detach() { if (d && d->ref != 1) detach_helper(); } inline T &operator*() { detach(); return *d; } inline const T &operator*() const { return *d; } inline T *operator->() { detach(); return d; } inline const T *operator->() const { return d; } inline operator T *() { detach(); return d; } inline operator const T *() const { return d; } inline T *data() { detach(); return d; } inline const T *data() const { return d; } inline const T *constData() const { return d; } inline bool operator==(const QSharedDataPointer &other) const { return d == other.d; } inline bool operator!=(const QSharedDataPointer &other) const { return d != other.d; } inline QSharedDataPointer() { d = 0; } inline ~QSharedDataPointer() { if (d && !d->ref.deref()) delete d; } explicit QSharedDataPointer(T *data); inline QSharedDataPointer(const QSharedDataPointer &o) : d(o.d) { if (d) d->ref.ref(); } inline QSharedDataPointer & operator=(const QSharedDataPointer &o) { if (o.d != d) { if (o.d) o.d->ref.ref(); if (d && !d->ref.deref()) delete d; d = o.d; } return *this; } inline QSharedDataPointer &operator=(T *o) { if (o != d) { if (o) o->ref.ref(); if (d && !d->ref.deref()) delete d; d = o; } return *this; } inline bool operator!() const { return !d; } inline void swap(QSharedDataPointer &other) { qSwap(d, other.d); } public: T *clone(); private: void detach_helper(); T *d; }; template class QExplicitlySharedDataPointer { public: typedef T Type; typedef T *pointer; inline T &operator*() const { return *d; } inline T *operator->() { return d; } inline T *operator->() const { return d; } inline T *data() const { return d; } inline const T *constData() const { return d; } inline void detach() { if (d && d->ref != 1) detach_helper(); } inline void reset() { if(d && !d->ref.deref()) delete d; d = 0; } inline operator bool () const { return d != 0; } inline bool operator==(const QExplicitlySharedDataPointer &other) const { return d == other.d; } inline bool operator!=(const QExplicitlySharedDataPointer &other) const { return d != other.d; } inline bool operator==(const T *ptr) const { return d == ptr; } inline bool operator!=(const T *ptr) const { return d != ptr; } inline QExplicitlySharedDataPointer() { d = 0; } inline ~QExplicitlySharedDataPointer() { if (d && !d->ref.deref()) delete d; } explicit QExplicitlySharedDataPointer(T *data); inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) : d(o.d) { if (d) d->ref.ref(); } template inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) : d(static_cast(o.data())) { if(d) d->ref.ref(); } inline QExplicitlySharedDataPointer & operator=(const QExplicitlySharedDataPointer &o) { if (o.d != d) { if (o.d) o.d->ref.ref(); if (d && !d->ref.deref()) delete d; d = o.d; } return *this; } inline QExplicitlySharedDataPointer &operator=(T *o) { if (o != d) { if (o) o->ref.ref(); if (d && !d->ref.deref()) delete d; d = o; } return *this; } inline bool operator!() const { return !d; } inline void swap(QExplicitlySharedDataPointer &other) { qSwap(d, other.d); } public: T *clone(); private: void detach_helper(); T *d; }; template inline QSharedDataPointer::QSharedDataPointer(T *adata) : d(adata) { if (d) d->ref.ref(); } template inline T *QSharedDataPointer::clone() { return new T(*d); } template void QSharedDataPointer::detach_helper() { T *x = clone(); x->ref.ref(); if (!d->ref.deref()) delete d; d = x; } template inline T *QExplicitlySharedDataPointer::clone() { return new T(*d); } template void QExplicitlySharedDataPointer::detach_helper() { T *x = clone(); x->ref.ref(); if (!d->ref.deref()) delete d; d = x; } template inline QExplicitlySharedDataPointer::QExplicitlySharedDataPointer(T *adata) : d(adata) { if (d) d->ref.ref(); } template inline void qSwap(QSharedDataPointer &p1, QSharedDataPointer &p2) { p1.swap(p2); } template inline void qSwap(QExplicitlySharedDataPointer &p1, QExplicitlySharedDataPointer &p2) { p1.swap(p2); } # 48 "/usr/include/qt4/QtCore/qsharedpointer.h" 2 # 1 "/usr/include/qt4/QtCore/qsharedpointer_impl.h" 1 # 55 "/usr/include/qt4/QtCore/qsharedpointer_impl.h" typedef QtValidLicenseForCoreModule QtCoreModule; # 70 "/usr/include/qt4/QtCore/qsharedpointer_impl.h" template inline void qt_sharedpointer_cast_check(T *) { } template class QWeakPointer; template class QSharedPointer; template QSharedPointer qSharedPointerCast(const QSharedPointer &ptr); template QSharedPointer qSharedPointerDynamicCast(const QSharedPointer &ptr); template QSharedPointer qSharedPointerConstCast(const QSharedPointer &ptr); template QSharedPointer qSharedPointerObjectCast(const QSharedPointer &ptr); namespace QtSharedPointer { template class InternalRefCount; template class ExternalRefCount; template QSharedPointer copyAndSetPointer(X * ptr, const QSharedPointer &src); void internalSafetyCheckAdd2(const void *, const volatile void *); void internalSafetyCheckRemove2(const void *); template inline void executeDeleter(T *t, RetVal (Klass:: *memberDeleter)()) { (t->*memberDeleter)(); } template inline void executeDeleter(T *t, Deleter d) { d(t); } template inline void normalDeleter(T *t) { delete t; } template struct RemovePointer; template struct RemovePointer { typedef T Type; }; template struct RemovePointer > { typedef T Type; }; template struct RemovePointer > { typedef T Type; }; template class Basic { typedef T *Basic:: *RestrictedBool; public: typedef T Type; typedef T element_type; typedef T value_type; typedef value_type *pointer; typedef const value_type *const_pointer; typedef value_type &reference; typedef const value_type &const_reference; typedef ptrdiff_t difference_type; inline T *data() const { return value; } inline bool isNull() const { return !data(); } inline operator RestrictedBool() const { return isNull() ? 0 : &Basic::value; } inline bool operator !() const { return isNull(); } inline T &operator*() const { return *data(); } inline T *operator->() const { return data(); } public: inline Basic(T *ptr = 0) : value(ptr) { } inline Basic(Qt::Initialization) { } inline void internalConstruct(T *ptr) { value = ptr; } template friend class QWeakPointer; Type *value; }; struct ExternalRefCountData { QBasicAtomicInt weakref; QBasicAtomicInt strongref; inline ExternalRefCountData() { strongref = 1; weakref = 1; } inline ExternalRefCountData(Qt::Initialization) { } virtual inline ~ExternalRefCountData() { ((!(!weakref)) ? qt_assert("!weakref","/usr/include/qt4/QtCore/qsharedpointer_impl.h",184) : qt_noop()); ((!(strongref <= 0)) ? qt_assert("strongref <= 0","/usr/include/qt4/QtCore/qsharedpointer_impl.h",184) : qt_noop()); } virtual inline bool destroy() { return false; } static ExternalRefCountData *getAndRef(const QObject *); void setQObjectShared(const QObject *, bool enable); inline void setQObjectShared(...) { } }; struct ExternalRefCountWithDestroyFn: public ExternalRefCountData { typedef void (*DestroyerFn)(ExternalRefCountData *); DestroyerFn destroyer; inline ExternalRefCountWithDestroyFn(DestroyerFn d) : destroyer(d) { } inline bool destroy() { destroyer(this); return true; } inline void operator delete(void *ptr) { ::operator delete(ptr); } }; template struct ExternalRefCountWithCustomDeleter: public ExternalRefCountWithDestroyFn { typedef ExternalRefCountWithCustomDeleter Self; typedef ExternalRefCountWithDestroyFn BaseClass; struct CustomDeleter { Deleter deleter; T *ptr; inline CustomDeleter(T *p, Deleter d) : deleter(d), ptr(p) {} }; CustomDeleter extra; static inline void deleter(ExternalRefCountData *self) { Self *realself = static_cast(self); executeDeleter(realself->extra.ptr, realself->extra.deleter); realself->extra.~CustomDeleter(); } static void safetyCheckDeleter(ExternalRefCountData *self) { internalSafetyCheckRemove2(self); deleter(self); } static inline Self *create(T *ptr, Deleter userDeleter) { DestroyerFn destroy = &deleter; Self *d = static_cast(::operator new(sizeof(Self))); new (&d->extra) CustomDeleter(ptr, userDeleter); new (d) BaseClass(destroy); return d; } private: ExternalRefCountWithCustomDeleter(); ~ExternalRefCountWithCustomDeleter(); }; template struct ExternalRefCountWithContiguousData: public ExternalRefCountWithDestroyFn { typedef ExternalRefCountWithDestroyFn Parent; T data; static void deleter(ExternalRefCountData *self) { ExternalRefCountWithContiguousData *that = static_cast(self); that->data.~T(); } static void safetyCheckDeleter(ExternalRefCountData *self) { internalSafetyCheckRemove2(self); deleter(self); } static inline ExternalRefCountData *create(T **ptr) { DestroyerFn destroy = &deleter; ExternalRefCountWithContiguousData *d = static_cast(::operator new(sizeof(ExternalRefCountWithContiguousData))); new (d) Parent(destroy); *ptr = &d->data; return d; } private: ExternalRefCountWithContiguousData(); ~ExternalRefCountWithContiguousData(); }; template class ExternalRefCount: public Basic { public: typedef ExternalRefCountData Data; inline void ref() const { d->weakref.ref(); d->strongref.ref(); } inline bool deref() { if (!d->strongref.deref()) { internalDestroy(); } return d->weakref.deref(); } inline void internalConstruct(T *ptr) { if (ptr) d = new Data; else d = 0; internalFinishConstruction(ptr); } template inline void internalConstruct(T *ptr, Deleter deleter) { if (ptr) d = ExternalRefCountWithCustomDeleter::create(ptr, deleter); else d = 0; internalFinishConstruction(ptr); } inline void internalCreate() { T *ptr; d = ExternalRefCountWithContiguousData::create(&ptr); Basic::internalConstruct(ptr); } inline void internalFinishConstruction(T *ptr) { Basic::internalConstruct(ptr); if (ptr) d->setQObjectShared(ptr, true); } inline ExternalRefCount() : d(0) { } inline ExternalRefCount(Qt::Initialization i) : Basic(i) { } inline ExternalRefCount(const ExternalRefCount &other) : Basic(other), d(other.d) { if (d) ref(); } template inline ExternalRefCount(const ExternalRefCount &other) : Basic(other.value), d(other.d) { if (d) ref(); } inline ~ExternalRefCount() { if (d && !deref()) delete d; } template inline void internalCopy(const ExternalRefCount &other) { internalSet(other.d, other.data()); } inline void internalDestroy() { if (!d->destroy()) delete this->value; } inline void internalSwap(ExternalRefCount &other) { qSwap(d, other.d); qSwap(this->value, other.value); } template friend class ExternalRefCount; template friend class QWeakPointer; template friend QSharedPointer copyAndSetPointer(X * ptr, const QSharedPointer &src); inline void internalSet(Data *o, T *actual) { if (o) { register int tmp = o->strongref; while (tmp > 0) { if (o->strongref.testAndSetRelaxed(tmp, tmp + 1)) break; tmp = o->strongref; } if (tmp > 0) o->weakref.ref(); else o = 0; } if (d && !deref()) delete d; d = o; this->value = d && d->strongref ? actual : 0; } Data *d; private: template ExternalRefCount(const InternalRefCount &); }; } template class QSharedPointer: public QtSharedPointer::ExternalRefCount { typedef typename QtSharedPointer::ExternalRefCount BaseClass; public: inline QSharedPointer() { } inline explicit QSharedPointer(T *ptr) : BaseClass(Qt::Uninitialized) { BaseClass::internalConstruct(ptr); } template inline QSharedPointer(T *ptr, Deleter d) { BaseClass::internalConstruct(ptr, d); } inline QSharedPointer(const QSharedPointer &other) : BaseClass(other) { } inline QSharedPointer &operator=(const QSharedPointer &other) { BaseClass::internalCopy(other); return *this; } template inline QSharedPointer(const QSharedPointer &other) : BaseClass(other) { } template inline QSharedPointer &operator=(const QSharedPointer &other) { qt_sharedpointer_cast_check(static_cast(0)); BaseClass::internalCopy(other); return *this; } template inline QSharedPointer(const QWeakPointer &other) : BaseClass(Qt::Uninitialized) { this->d = 0; *this = other; } template inline QSharedPointer &operator=(const QWeakPointer &other) { BaseClass::internalSet(other.d, other.value); return *this; } inline void swap(QSharedPointer &other) { QSharedPointer::internalSwap(other); } template QSharedPointer staticCast() const { return qSharedPointerCast(*this); } template QSharedPointer dynamicCast() const { return qSharedPointerDynamicCast(*this); } template QSharedPointer constCast() const { return qSharedPointerConstCast(*this); } template QSharedPointer objectCast() const { return qSharedPointerObjectCast(*this); } inline void clear() { *this = QSharedPointer(); } QWeakPointer toWeakRef() const; public: inline explicit QSharedPointer(Qt::Initialization i) : BaseClass(i) {} public: static inline QSharedPointer create() { QSharedPointer result(Qt::Uninitialized); result.internalCreate(); new (result.data()) T(); result.internalFinishConstruction(result.data()); return result; } }; template class QWeakPointer { typedef T *QWeakPointer:: *RestrictedBool; typedef QtSharedPointer::ExternalRefCountData Data; public: typedef T element_type; typedef T value_type; typedef value_type *pointer; typedef const value_type *const_pointer; typedef value_type &reference; typedef const value_type &const_reference; typedef ptrdiff_t difference_type; inline bool isNull() const { return d == 0 || d->strongref == 0 || value == 0; } inline operator RestrictedBool() const { return isNull() ? 0 : &QWeakPointer::value; } inline bool operator !() const { return isNull(); } inline T *data() const { return d == 0 || d->strongref == 0 ? 0 : value; } inline QWeakPointer() : d(0), value(0) { } inline ~QWeakPointer() { if (d && !d->weakref.deref()) delete d; } template inline QWeakPointer(X *ptr) : d(ptr ? d->getAndRef(ptr) : 0), value(ptr) { } template inline QWeakPointer &operator=(X *ptr) { return *this = QWeakPointer(ptr); } inline QWeakPointer(const QWeakPointer &o) : d(o.d), value(o.value) { if (d) d->weakref.ref(); } inline QWeakPointer &operator=(const QWeakPointer &o) { internalSet(o.d, o.value); return *this; } inline QWeakPointer(const QSharedPointer &o) : d(o.d), value(o.data()) { if (d) d->weakref.ref();} inline QWeakPointer &operator=(const QSharedPointer &o) { internalSet(o.d, o.value); return *this; } template inline QWeakPointer(const QWeakPointer &o) : d(0), value(0) { *this = o; } template inline QWeakPointer &operator=(const QWeakPointer &o) { *this = o.toStrongRef(); return *this; } template inline bool operator==(const QWeakPointer &o) const { return d == o.d && value == static_cast(o.value); } template inline bool operator!=(const QWeakPointer &o) const { return !(*this == o); } template inline QWeakPointer(const QSharedPointer &o) : d(0), value(0) { *this = o; } template inline QWeakPointer &operator=(const QSharedPointer &o) { qt_sharedpointer_cast_check(static_cast(0)); internalSet(o.d, o.data()); return *this; } template inline bool operator==(const QSharedPointer &o) const { return d == o.d; } template inline bool operator!=(const QSharedPointer &o) const { return !(*this == o); } inline void clear() { *this = QWeakPointer(); } inline QSharedPointer toStrongRef() const { return QSharedPointer(*this); } private: template friend class QSharedPointer; inline void internalSet(Data *o, T *actual) { if (d == o) return; if (o) o->weakref.ref(); if (d && !d->weakref.deref()) delete d; d = o; value = actual; } Data *d; T *value; }; template bool operator==(const QSharedPointer &ptr1, const QSharedPointer &ptr2) { return ptr1.data() == ptr2.data(); } template bool operator!=(const QSharedPointer &ptr1, const QSharedPointer &ptr2) { return ptr1.data() != ptr2.data(); } template bool operator==(const QSharedPointer &ptr1, const X *ptr2) { return ptr1.data() == ptr2; } template bool operator==(const T *ptr1, const QSharedPointer &ptr2) { return ptr1 == ptr2.data(); } template bool operator!=(const QSharedPointer &ptr1, const X *ptr2) { return !(ptr1 == ptr2); } template bool operator!=(const T *ptr1, const QSharedPointer &ptr2) { return !(ptr2 == ptr1); } template bool operator==(const QSharedPointer &ptr1, const QWeakPointer &ptr2) { return ptr2 == ptr1; } template bool operator!=(const QSharedPointer &ptr1, const QWeakPointer &ptr2) { return ptr2 != ptr1; } template inline typename T::difference_type operator-(const QSharedPointer &ptr1, const QSharedPointer &ptr2) { return ptr1.data() - ptr2.data(); } template inline QWeakPointer QSharedPointer::toWeakRef() const { return QWeakPointer(*this); } template inline void qSwap(QSharedPointer &p1, QSharedPointer &p2) { p1.swap(p2); } namespace QtSharedPointer { template inline QSharedPointer copyAndSetPointer(X *ptr, const QSharedPointer &src) { QSharedPointer result; result.internalSet(src.d, ptr); return result; } } template inline QSharedPointer qSharedPointerCast(const QSharedPointer &src) { register X *ptr = static_cast(src.data()); return QtSharedPointer::copyAndSetPointer(ptr, src); } template inline QSharedPointer qSharedPointerCast(const QWeakPointer &src) { return qSharedPointerCast(src.toStrongRef()); } template inline QSharedPointer qSharedPointerDynamicCast(const QSharedPointer &src) { register X *ptr = dynamic_cast(src.data()); return QtSharedPointer::copyAndSetPointer(ptr, src); } template inline QSharedPointer qSharedPointerDynamicCast(const QWeakPointer &src) { return qSharedPointerDynamicCast(src.toStrongRef()); } template inline QSharedPointer qSharedPointerConstCast(const QSharedPointer &src) { register X *ptr = const_cast(src.data()); return QtSharedPointer::copyAndSetPointer(ptr, src); } template inline QSharedPointer qSharedPointerConstCast(const QWeakPointer &src) { return qSharedPointerConstCast(src.toStrongRef()); } template inline QWeakPointer qWeakPointerCast(const QSharedPointer &src) { return qSharedPointerCast(src).toWeakRef(); } template inline QSharedPointer qSharedPointerObjectCast(const QSharedPointer &src) { register X *ptr = qobject_cast(src.data()); return QtSharedPointer::copyAndSetPointer(ptr, src); } template inline QSharedPointer qSharedPointerObjectCast(const QWeakPointer &src) { return qSharedPointerObjectCast(src.toStrongRef()); } template inline QSharedPointer::Type> qobject_cast(const QSharedPointer &src) { return qSharedPointerObjectCast::Type, T>(src); } template inline QSharedPointer::Type> qobject_cast(const QWeakPointer &src) { return qSharedPointerObjectCast::Type, T>(src); } # 53 "/usr/include/qt4/QtCore/qsharedpointer.h" 2 # 50 "/usr/include/qt4/QtGui/qpixmap.h" 2 # 1 "/usr/include/qt4/QtGui/qimage.h" 1 # 45 "/usr/include/qt4/QtGui/qimage.h" # 1 "/usr/include/qt4/QtGui/qtransform.h" 1 # 44 "/usr/include/qt4/QtGui/qtransform.h" # 1 "/usr/include/qt4/QtGui/qmatrix.h" 1 # 45 "/usr/include/qt4/QtGui/qmatrix.h" # 1 "/usr/include/qt4/QtGui/qpolygon.h" 1 # 45 "/usr/include/qt4/QtGui/qpolygon.h" # 1 "/usr/include/qt4/QtCore/qvector.h" 1 # 52 "/usr/include/qt4/QtCore/qvector.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/vector" 1 3 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/vector" 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/vector" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_construct.h" 1 3 # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_construct.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline void _Construct(_T1* __p, const _T2& __value) { ::new(static_cast(__p)) _T1((__value)); } template inline void _Destroy(_Tp* __pointer) { __pointer->~_Tp(); } template struct _Destroy_aux { template static void __destroy(_ForwardIterator __first, _ForwardIterator __last) { for (; __first != __last; ++__first) std::_Destroy(&*__first); } }; template<> struct _Destroy_aux { template static void __destroy(_ForwardIterator, _ForwardIterator) { } }; template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type _Value_type; std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: __destroy(__first, __last); } template class allocator; template void _Destroy(_ForwardIterator __first, _ForwardIterator __last, _Allocator& __alloc) { for (; __first != __last; ++__first) __alloc.destroy(&*__first); } template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last, allocator<_Tp>&) { _Destroy(__first, __last); } } # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/vector" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_uninitialized.h" 1 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_uninitialized.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __uninitialized_copy { template static _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { _ForwardIterator __cur = __result; try { for (; __first != __last; ++__first, ++__cur) std::_Construct(&*__cur, *__first); return __cur; } catch(...) { std::_Destroy(__result, __cur); throw; } } }; template<> struct __uninitialized_copy { template static _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { return std::copy(__first, __last, __result); } }; # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_uninitialized.h" 3 template inline _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType1; typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType2; return std::__uninitialized_copy<(__is_pod(_ValueType1) && __is_pod(_ValueType2))>:: uninitialized_copy(__first, __last, __result); } template struct __uninitialized_fill { template static void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { _ForwardIterator __cur = __first; try { for (; __cur != __last; ++__cur) std::_Construct(&*__cur, __x); } catch(...) { std::_Destroy(__first, __cur); throw; } } }; template<> struct __uninitialized_fill { template static void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { std::fill(__first, __last, __x); } }; # 161 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_uninitialized.h" 3 template inline void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; std::__uninitialized_fill<__is_pod(_ValueType)>:: uninitialized_fill(__first, __last, __x); } template struct __uninitialized_construct_range_dispatch { template static void __ucr(_ForwardIterator __first, _ForwardIterator __last, _Tp& __value) { if(__first == __last) return; _ForwardIterator __cur = __first; try { std::_Construct(&*__first, (__value)); _ForwardIterator __prev = __cur; ++__cur; for(; __cur != __last; ++__cur, ++__prev) std::_Construct(&*__cur, (*__prev)); __value = (*__prev); } catch(...) { std::_Destroy(__first, __cur); throw; } } }; template<> struct __uninitialized_construct_range_dispatch { template static void __ucr(_ForwardIterator, _ForwardIterator, _Tp&) { } }; # 221 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_uninitialized.h" 3 template inline void __uninitialized_construct_range(_ForwardIterator __first, _ForwardIterator __last, _Tp& __value) { typedef typename std::iterator_traits<_ForwardIterator>::value_type _ValueType; std::__uninitialized_construct_range_dispatch< __has_trivial_constructor(_ValueType)>:: __ucr(__first, __last, __value); } template struct __uninitialized_fill_n { template static void uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { _ForwardIterator __cur = __first; try { for (; __n > 0; --__n, ++__cur) std::_Construct(&*__cur, __x); } catch(...) { std::_Destroy(__first, __cur); throw; } } }; template<> struct __uninitialized_fill_n { template static void uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { std::fill_n(__first, __n, __x); } }; # 277 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_uninitialized.h" 3 template inline void uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; std::__uninitialized_fill_n<__is_pod(_ValueType)>:: uninitialized_fill_n(__first, __n, __x); } template _ForwardIterator __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __cur = __result; try { for (; __first != __last; ++__first, ++__cur) __alloc.construct(&*__cur, *__first); return __cur; } catch(...) { std::_Destroy(__result, __cur, __alloc); throw; } } template inline _ForwardIterator __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, allocator<_Tp>&) { return std::uninitialized_copy(__first, __last, __result); } template inline _ForwardIterator __uninitialized_move_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) { return std::__uninitialized_copy_a((__first), (__last), __result, __alloc); } template void __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __cur = __first; try { for (; __cur != __last; ++__cur) __alloc.construct(&*__cur, __x); } catch(...) { std::_Destroy(__first, __cur, __alloc); throw; } } template inline void __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x, allocator<_Tp2>&) { std::uninitialized_fill(__first, __last, __x); } template void __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __cur = __first; try { for (; __n > 0; --__n, ++__cur) __alloc.construct(&*__cur, __x); } catch(...) { std::_Destroy(__first, __cur, __alloc); throw; } } template inline void __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, const _Tp& __x, allocator<_Tp2>&) { std::uninitialized_fill_n(__first, __n, __x); } # 391 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_uninitialized.h" 3 template inline _ForwardIterator __uninitialized_copy_move(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, __result, __alloc); try { return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); } catch(...) { std::_Destroy(__result, __mid, __alloc); throw; } } template inline _ForwardIterator __uninitialized_move_copy(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, __result, __alloc); try { return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); } catch(...) { std::_Destroy(__result, __mid, __alloc); throw; } } template inline _ForwardIterator __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, const _Tp& __x, _InputIterator __first, _InputIterator __last, _Allocator& __alloc) { std::__uninitialized_fill_a(__result, __mid, __x, __alloc); try { return std::__uninitialized_move_a(__first, __last, __mid, __alloc); } catch(...) { std::_Destroy(__result, __mid, __alloc); throw; } } template inline void __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, __first2, __alloc); try { std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); } catch(...) { std::_Destroy(__first2, __mid2, __alloc); throw; } } # 537 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_uninitialized.h" 3 } # 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/vector" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 1 3 # 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct _Vector_base { typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; struct _Vector_impl : public _Tp_alloc_type { typename _Tp_alloc_type::pointer _M_start; typename _Tp_alloc_type::pointer _M_finish; typename _Tp_alloc_type::pointer _M_end_of_storage; _Vector_impl() : _Tp_alloc_type(), _M_start(0), _M_finish(0), _M_end_of_storage(0) { } _Vector_impl(_Tp_alloc_type const& __a) : _Tp_alloc_type(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0) { } }; public: typedef _Alloc allocator_type; _Tp_alloc_type& _M_get_Tp_allocator() { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } const _Tp_alloc_type& _M_get_Tp_allocator() const { return *static_cast(&this->_M_impl); } allocator_type get_allocator() const { return allocator_type(_M_get_Tp_allocator()); } _Vector_base() : _M_impl() { } _Vector_base(const allocator_type& __a) : _M_impl(__a) { } _Vector_base(size_t __n, const allocator_type& __a) : _M_impl(__a) { this->_M_impl._M_start = this->_M_allocate(__n); this->_M_impl._M_finish = this->_M_impl._M_start; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; } # 131 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 ~_Vector_base() { _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); } public: _Vector_impl _M_impl; typename _Tp_alloc_type::pointer _M_allocate(size_t __n) { return __n != 0 ? _M_impl.allocate(__n) : 0; } void _M_deallocate(typename _Tp_alloc_type::pointer __p, size_t __n) { if (__p) _M_impl.deallocate(__p, __n); } }; # 169 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template > class vector : public _Vector_base<_Tp, _Alloc> { typedef typename _Alloc::value_type _Alloc_value_type; typedef _Vector_base<_Tp, _Alloc> _Base; typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; public: typedef _Tp value_type; typedef typename _Tp_alloc_type::pointer pointer; typedef typename _Tp_alloc_type::const_pointer const_pointer; typedef typename _Tp_alloc_type::reference reference; typedef typename _Tp_alloc_type::const_reference const_reference; typedef __gnu_cxx::__normal_iterator iterator; typedef __gnu_cxx::__normal_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; public: using _Base::_M_allocate; using _Base::_M_deallocate; using _Base::_M_impl; using _Base::_M_get_Tp_allocator; public: vector() : _Base() { } explicit vector(const allocator_type& __a) : _Base(__a) { } # 226 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 explicit vector(size_type __n, const value_type& __value = value_type(), const allocator_type& __a = allocator_type()) : _Base(__n, __a) { _M_fill_initialize(__n, __value); } # 241 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 vector(const vector& __x) : _Base(__x.size(), __x._M_get_Tp_allocator()) { this->_M_impl._M_finish = std::__uninitialized_copy_a(__x.begin(), __x.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); } # 296 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_initialize_dispatch(__first, __last, _Integral()); } ~vector() { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); } # 324 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 vector& operator=(const vector& __x); # 374 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 390 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template void assign(_InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_assign_dispatch(__first, __last, _Integral()); } # 417 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 using _Base::get_allocator; iterator begin() { return iterator(this->_M_impl._M_start); } const_iterator begin() const { return const_iterator(this->_M_impl._M_start); } iterator end() { return iterator(this->_M_impl._M_finish); } const_iterator end() const { return const_iterator(this->_M_impl._M_finish); } reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } # 532 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 size_type size() const { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } size_type max_size() const { return _M_get_Tp_allocator().max_size(); } # 552 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 void resize(size_type __new_size, value_type __x = value_type()) { if (__new_size < size()) _M_erase_at_end(this->_M_impl._M_start + __new_size); else insert(end(), __new_size - size(), __x); } # 572 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 size_type capacity() const { return size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_start); } bool empty() const { return begin() == end(); } # 602 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 void reserve(size_type __n); # 617 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 reference operator[](size_type __n) { return *(this->_M_impl._M_start + __n); } # 632 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 const_reference operator[](size_type __n) const { return *(this->_M_impl._M_start + __n); } public: void _M_range_check(size_type __n) const { if (__n >= this->size()) __throw_out_of_range(("vector::_M_range_check")); } public: # 657 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } # 675 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } # 721 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 pointer data() { return pointer(this->_M_impl._M_start); } const_pointer data() const { return const_pointer(this->_M_impl._M_start); } # 740 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 void push_back(const value_type& __x) { if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { this->_M_impl.construct(this->_M_impl._M_finish, __x); ++this->_M_impl._M_finish; } else _M_insert_aux(end(), __x); } # 771 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 void pop_back() { --this->_M_impl._M_finish; this->_M_impl.destroy(this->_M_impl._M_finish); } # 807 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 iterator insert(iterator __position, const value_type& __x); # 857 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 void insert(iterator __position, size_type __n, const value_type& __x) { _M_fill_insert(__position, __n, __x); } # 875 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template void insert(iterator __position, _InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_insert_dispatch(__position, __first, __last, _Integral()); } # 900 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 iterator erase(iterator __position); # 921 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 iterator erase(iterator __first, iterator __last); # 933 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 void swap(vector& __x) { std::swap(this->_M_impl._M_start, __x._M_impl._M_start); std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); std::swap(this->_M_impl._M_end_of_storage, __x._M_impl._M_end_of_storage); std::__alloc_swap<_Tp_alloc_type>::_S_do_it(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); } void clear() { _M_erase_at_end(this->_M_impl._M_start); } public: template pointer _M_allocate_and_copy(size_type __n, _ForwardIterator __first, _ForwardIterator __last) { pointer __result = this->_M_allocate(__n); try { std::__uninitialized_copy_a(__first, __last, __result, _M_get_Tp_allocator()); return __result; } catch(...) { _M_deallocate(__result, __n); throw; } } # 988 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template void _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) { this->_M_impl._M_start = _M_allocate(static_cast(__n)); this->_M_impl._M_end_of_storage = this->_M_impl._M_start + static_cast(__n); _M_fill_initialize(static_cast(__n), __value); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_range_initialize(__first, __last, _IterCategory()); } template void _M_range_initialize(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) push_back(*__first); } template void _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __n = std::distance(__first, __last); this->_M_impl._M_start = this->_M_allocate(__n); this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; this->_M_impl._M_finish = std::__uninitialized_copy_a(__first, __last, this->_M_impl._M_start, _M_get_Tp_allocator()); } void _M_fill_initialize(size_type __n, const value_type& __value) { std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, _M_get_Tp_allocator()); this->_M_impl._M_finish = this->_M_impl._M_end_of_storage; } # 1052 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_assign_aux(__first, __last, _IterCategory()); } template void _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_fill_assign(size_type __n, const value_type& __val); # 1092 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, __true_type) { _M_fill_insert(__pos, __n, __val); } template void _M_insert_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_range_insert(__pos, __first, __last, _IterCategory()); } template void _M_range_insert(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_range_insert(iterator __pos, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); void _M_insert_aux(iterator __position, const value_type& __x); size_type _M_check_len(size_type __n, const char* __s) const { if (max_size() - size() < __n) __throw_length_error((__s)); const size_type __len = size() + std::max(size(), __n); return (__len < size() || __len > max_size()) ? max_size() : __len; } void _M_erase_at_end(pointer __pos) { std::_Destroy(__pos, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __pos; } }; # 1170 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template inline bool operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return (__x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin())); } # 1187 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_vector.h" 3 template inline bool operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__x < __y); } template inline void swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) { __x.swap(__y); } } # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/vector" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_bvector.h" 1 3 # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_bvector.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { typedef unsigned long _Bit_type; enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; struct _Bit_reference { _Bit_type * _M_p; _Bit_type _M_mask; _Bit_reference(_Bit_type * __x, _Bit_type __y) : _M_p(__x), _M_mask(__y) { } _Bit_reference() : _M_p(0), _M_mask(0) { } operator bool() const { return !!(*_M_p & _M_mask); } _Bit_reference& operator=(bool __x) { if (__x) *_M_p |= _M_mask; else *_M_p &= ~_M_mask; return *this; } _Bit_reference& operator=(const _Bit_reference& __x) { return *this = bool(__x); } bool operator==(const _Bit_reference& __x) const { return bool(*this) == bool(__x); } bool operator<(const _Bit_reference& __x) const { return !bool(*this) && bool(__x); } void flip() { *_M_p ^= _M_mask; } }; struct _Bit_iterator_base : public std::iterator { _Bit_type * _M_p; unsigned int _M_offset; _Bit_iterator_base(_Bit_type * __x, unsigned int __y) : _M_p(__x), _M_offset(__y) { } void _M_bump_up() { if (_M_offset++ == int(_S_word_bit) - 1) { _M_offset = 0; ++_M_p; } } void _M_bump_down() { if (_M_offset-- == 0) { _M_offset = int(_S_word_bit) - 1; --_M_p; } } void _M_incr(ptrdiff_t __i) { difference_type __n = __i + _M_offset; _M_p += __n / int(_S_word_bit); __n = __n % int(_S_word_bit); if (__n < 0) { __n += int(_S_word_bit); --_M_p; } _M_offset = static_cast(__n); } bool operator==(const _Bit_iterator_base& __i) const { return _M_p == __i._M_p && _M_offset == __i._M_offset; } bool operator<(const _Bit_iterator_base& __i) const { return _M_p < __i._M_p || (_M_p == __i._M_p && _M_offset < __i._M_offset); } bool operator!=(const _Bit_iterator_base& __i) const { return !(*this == __i); } bool operator>(const _Bit_iterator_base& __i) const { return __i < *this; } bool operator<=(const _Bit_iterator_base& __i) const { return !(__i < *this); } bool operator>=(const _Bit_iterator_base& __i) const { return !(*this < __i); } }; inline ptrdiff_t operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return (int(_S_word_bit) * (__x._M_p - __y._M_p) + __x._M_offset - __y._M_offset); } struct _Bit_iterator : public _Bit_iterator_base { typedef _Bit_reference reference; typedef _Bit_reference* pointer; typedef _Bit_iterator iterator; _Bit_iterator() : _Bit_iterator_base(0, 0) { } _Bit_iterator(_Bit_type * __x, unsigned int __y) : _Bit_iterator_base(__x, __y) { } reference operator*() const { return reference(_M_p, 1UL << _M_offset); } iterator& operator++() { _M_bump_up(); return *this; } iterator operator++(int) { iterator __tmp = *this; _M_bump_up(); return __tmp; } iterator& operator--() { _M_bump_down(); return *this; } iterator operator--(int) { iterator __tmp = *this; _M_bump_down(); return __tmp; } iterator& operator+=(difference_type __i) { _M_incr(__i); return *this; } iterator& operator-=(difference_type __i) { *this += -__i; return *this; } iterator operator+(difference_type __i) const { iterator __tmp = *this; return __tmp += __i; } iterator operator-(difference_type __i) const { iterator __tmp = *this; return __tmp -= __i; } reference operator[](difference_type __i) const { return *(*this + __i); } }; inline _Bit_iterator operator+(ptrdiff_t __n, const _Bit_iterator& __x) { return __x + __n; } struct _Bit_const_iterator : public _Bit_iterator_base { typedef bool reference; typedef bool const_reference; typedef const bool* pointer; typedef _Bit_const_iterator const_iterator; _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } _Bit_const_iterator(_Bit_type * __x, unsigned int __y) : _Bit_iterator_base(__x, __y) { } _Bit_const_iterator(const _Bit_iterator& __x) : _Bit_iterator_base(__x._M_p, __x._M_offset) { } const_reference operator*() const { return _Bit_reference(_M_p, 1UL << _M_offset); } const_iterator& operator++() { _M_bump_up(); return *this; } const_iterator operator++(int) { const_iterator __tmp = *this; _M_bump_up(); return __tmp; } const_iterator& operator--() { _M_bump_down(); return *this; } const_iterator operator--(int) { const_iterator __tmp = *this; _M_bump_down(); return __tmp; } const_iterator& operator+=(difference_type __i) { _M_incr(__i); return *this; } const_iterator& operator-=(difference_type __i) { *this += -__i; return *this; } const_iterator operator+(difference_type __i) const { const_iterator __tmp = *this; return __tmp += __i; } const_iterator operator-(difference_type __i) const { const_iterator __tmp = *this; return __tmp -= __i; } const_reference operator[](difference_type __i) const { return *(*this + __i); } }; inline _Bit_const_iterator operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) { return __x + __n; } inline void __fill_bvector(_Bit_iterator __first, _Bit_iterator __last, bool __x) { for (; __first != __last; ++__first) *__first = __x; } inline void fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) { if (__first._M_p != __last._M_p) { std::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0); __fill_bvector(__first, _Bit_iterator(__first._M_p + 1, 0), __x); __fill_bvector(_Bit_iterator(__last._M_p, 0), __last, __x); } else __fill_bvector(__first, __last, __x); } template struct _Bvector_base { typedef typename _Alloc::template rebind<_Bit_type>::other _Bit_alloc_type; struct _Bvector_impl : public _Bit_alloc_type { _Bit_iterator _M_start; _Bit_iterator _M_finish; _Bit_type* _M_end_of_storage; _Bvector_impl() : _Bit_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage(0) { } _Bvector_impl(const _Bit_alloc_type& __a) : _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage(0) { } }; public: typedef _Alloc allocator_type; _Bit_alloc_type& _M_get_Bit_allocator() { return *static_cast<_Bit_alloc_type*>(&this->_M_impl); } const _Bit_alloc_type& _M_get_Bit_allocator() const { return *static_cast(&this->_M_impl); } allocator_type get_allocator() const { return allocator_type(_M_get_Bit_allocator()); } _Bvector_base() : _M_impl() { } _Bvector_base(const allocator_type& __a) : _M_impl(__a) { } # 429 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_bvector.h" 3 ~_Bvector_base() { this->_M_deallocate(); } public: _Bvector_impl _M_impl; _Bit_type* _M_allocate(size_t __n) { return _M_impl.allocate((__n + int(_S_word_bit) - 1) / int(_S_word_bit)); } void _M_deallocate() { if (_M_impl._M_start._M_p) _M_impl.deallocate(_M_impl._M_start._M_p, _M_impl._M_end_of_storage - _M_impl._M_start._M_p); } }; } namespace std __attribute__ ((__visibility__ ("default"))) { # 473 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_bvector.h" 3 template class vector : public _Bvector_base<_Alloc> { typedef _Bvector_base<_Alloc> _Base; public: typedef bool value_type; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Bit_reference reference; typedef bool const_reference; typedef _Bit_reference* pointer; typedef const bool* const_pointer; typedef _Bit_iterator iterator; typedef _Bit_const_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef _Alloc allocator_type; allocator_type get_allocator() const { return _Base::get_allocator(); } public: using _Base::_M_allocate; using _Base::_M_deallocate; using _Base::_M_get_Bit_allocator; public: vector() : _Base() { } explicit vector(const allocator_type& __a) : _Base(__a) { } explicit vector(size_type __n, const bool& __value = bool(), const allocator_type& __a = allocator_type()) : _Base(__a) { _M_initialize(__n); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, __value ? ~0 : 0); } vector(const vector& __x) : _Base(__x._M_get_Bit_allocator()) { _M_initialize(__x.size()); _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); } # 542 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_bvector.h" 3 template vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_initialize_dispatch(__first, __last, _Integral()); } ~vector() { } vector& operator=(const vector& __x) { if (&__x == this) return *this; if (__x.size() > capacity()) { this->_M_deallocate(); _M_initialize(__x.size()); } this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), begin()); return *this; } # 591 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_bvector.h" 3 void assign(size_type __n, const bool& __x) { _M_fill_assign(__n, __x); } template void assign(_InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_assign_dispatch(__first, __last, _Integral()); } iterator begin() { return this->_M_impl._M_start; } const_iterator begin() const { return this->_M_impl._M_start; } iterator end() { return this->_M_impl._M_finish; } const_iterator end() const { return this->_M_impl._M_finish; } reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } # 659 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_bvector.h" 3 size_type size() const { return size_type(end() - begin()); } size_type max_size() const { const size_type __isize = __gnu_cxx::__numeric_traits::__max - int(_S_word_bit) + 1; const size_type __asize = _M_get_Bit_allocator().max_size(); return (__asize <= __isize / int(_S_word_bit) ? __asize * int(_S_word_bit) : __isize); } size_type capacity() const { return size_type(const_iterator(this->_M_impl._M_end_of_storage, 0) - begin()); } bool empty() const { return begin() == end(); } reference operator[](size_type __n) { return *iterator(this->_M_impl._M_start._M_p + __n / int(_S_word_bit), __n % int(_S_word_bit)); } const_reference operator[](size_type __n) const { return *const_iterator(this->_M_impl._M_start._M_p + __n / int(_S_word_bit), __n % int(_S_word_bit)); } public: void _M_range_check(size_type __n) const { if (__n >= this->size()) __throw_out_of_range(("vector::_M_range_check")); } public: reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } void reserve(size_type __n); reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } void data() { } void push_back(bool __x) { if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage) *this->_M_impl._M_finish++ = __x; else _M_insert_aux(end(), __x); } void swap(vector& __x) { std::swap(this->_M_impl._M_start, __x._M_impl._M_start); std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); std::swap(this->_M_impl._M_end_of_storage, __x._M_impl._M_end_of_storage); std::__alloc_swap:: _S_do_it(_M_get_Bit_allocator(), __x._M_get_Bit_allocator()); } static void swap(reference __x, reference __y) { bool __tmp = __x; __x = __y; __y = __tmp; } iterator insert(iterator __position, const bool& __x = bool()) { const difference_type __n = __position - begin(); if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage && __position == end()) *this->_M_impl._M_finish++ = __x; else _M_insert_aux(__position, __x); return begin() + __n; } template void insert(iterator __position, _InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_insert_dispatch(__position, __first, __last, _Integral()); } void insert(iterator __position, size_type __n, const bool& __x) { _M_fill_insert(__position, __n, __x); } void pop_back() { --this->_M_impl._M_finish; } iterator erase(iterator __position) { if (__position + 1 != end()) std::copy(__position + 1, end(), __position); --this->_M_impl._M_finish; return __position; } iterator erase(iterator __first, iterator __last) { _M_erase_at_end(std::copy(__last, end(), __first)); return __first; } void resize(size_type __new_size, bool __x = bool()) { if (__new_size < size()) _M_erase_at_end(begin() + difference_type(__new_size)); else insert(end(), __new_size - size(), __x); } void flip() { for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != this->_M_impl._M_end_of_storage; ++__p) *__p = ~*__p; } void clear() { _M_erase_at_end(begin()); } public: iterator _M_copy_aligned(const_iterator __first, const_iterator __last, iterator __result) { _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); return std::copy(const_iterator(__last._M_p, 0), __last, iterator(__q, 0)); } void _M_initialize(size_type __n) { _Bit_type* __q = this->_M_allocate(__n); this->_M_impl._M_end_of_storage = (__q + ((__n + int(_S_word_bit) - 1) / int(_S_word_bit))); this->_M_impl._M_start = iterator(__q, 0); this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); } template void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { _M_initialize(static_cast(__n)); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, __x ? ~0 : 0); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { _M_initialize_range(__first, __last, std::__iterator_category(__first)); } template void _M_initialize_range(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) push_back(*__first); } template void _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __n = std::distance(__first, __last); _M_initialize(__n); std::copy(__first, __last, this->_M_impl._M_start); } template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } void _M_fill_assign(size_t __n, bool __x) { if (__n > size()) { std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, __x ? ~0 : 0); insert(end(), __n - size(), __x); } else { _M_erase_at_end(begin() + __n); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, __x ? ~0 : 0); } } template void _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { iterator __cur = begin(); for (; __first != __last && __cur != end(); ++__cur, ++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else insert(end(), __first, __last); } template void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __len = std::distance(__first, __last); if (__len < size()) _M_erase_at_end(std::copy(__first, __last, begin())); else { _ForwardIterator __mid = __first; std::advance(__mid, size()); std::copy(__first, __mid, begin()); insert(end(), __mid, __last); } } template void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, __true_type) { _M_fill_insert(__pos, __n, __x); } template void _M_insert_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) { _M_insert_range(__pos, __first, __last, std::__iterator_category(__first)); } void _M_fill_insert(iterator __position, size_type __n, bool __x); template void _M_insert_range(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) { __pos = insert(__pos, *__first); ++__pos; } } template void _M_insert_range(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_insert_aux(iterator __position, bool __x); size_type _M_check_len(size_type __n, const char* __s) const { if (max_size() - size() < __n) __throw_length_error((__s)); const size_type __len = size() + std::max(size(), __n); return (__len < size() || __len > max_size()) ? max_size() : __len; } void _M_erase_at_end(iterator __pos) { this->_M_impl._M_finish = __pos; } }; } # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/vector" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/vector.tcc" 1 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/vector.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void vector<_Tp, _Alloc>:: reserve(size_type __n) { if (__n > this->max_size()) __throw_length_error(("vector::reserve")); if (this->capacity() < __n) { const size_type __old_size = size(); pointer __tmp = _M_allocate_and_copy(__n, (this->_M_impl._M_start), (this->_M_impl._M_finish)); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_finish = __tmp + __old_size; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; } } # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/vector.tcc" 3 template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: insert(iterator __position, const value_type& __x) { const size_type __n = __position - begin(); if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage && __position == end()) { this->_M_impl.construct(this->_M_impl._M_finish, __x); ++this->_M_impl._M_finish; } else { # 126 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/vector.tcc" 3 _M_insert_aux(__position, __x); } return iterator(this->_M_impl._M_start + __n); } template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: erase(iterator __position) { if (__position + 1 != end()) std::copy(__position + 1, end(), __position); --this->_M_impl._M_finish; this->_M_impl.destroy(this->_M_impl._M_finish); return __position; } template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: erase(iterator __first, iterator __last) { if (__last != end()) std::copy(__last, end(), __first); _M_erase_at_end(__first.base() + (end() - __last)); return __first; } template vector<_Tp, _Alloc>& vector<_Tp, _Alloc>:: operator=(const vector<_Tp, _Alloc>& __x) { if (&__x != this) { const size_type __xlen = __x.size(); if (__xlen > capacity()) { pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), __x.end()); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; } else if (size() >= __xlen) { std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), end(), _M_get_Tp_allocator()); } else { std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), this->_M_impl._M_start); std::__uninitialized_copy_a(__x._M_impl._M_start + size(), __x._M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); } this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; } return *this; } template void vector<_Tp, _Alloc>:: _M_fill_assign(size_t __n, const value_type& __val) { if (__n > capacity()) { vector __tmp(__n, __val, _M_get_Tp_allocator()); __tmp.swap(*this); } else if (__n > size()) { std::fill(begin(), end(), __val); std::__uninitialized_fill_n_a(this->_M_impl._M_finish, __n - size(), __val, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n - size(); } else _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); } template template void vector<_Tp, _Alloc>:: _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { pointer __cur(this->_M_impl._M_start); for (; __first != __last && __cur != this->_M_impl._M_finish; ++__cur, ++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else insert(end(), __first, __last); } template template void vector<_Tp, _Alloc>:: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __len = std::distance(__first, __last); if (__len > capacity()) { pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_finish = this->_M_impl._M_start + __len; this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; } else if (size() >= __len) _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); else { _ForwardIterator __mid = __first; std::advance(__mid, size()); std::copy(__first, __mid, this->_M_impl._M_start); this->_M_impl._M_finish = std::__uninitialized_copy_a(__mid, __last, this->_M_impl._M_finish, _M_get_Tp_allocator()); } } # 293 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/vector.tcc" 3 template void vector<_Tp, _Alloc>:: _M_insert_aux(iterator __position, const _Tp& __x) { if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { this->_M_impl.construct(this->_M_impl._M_finish, (*(this->_M_impl._M_finish - 1)) ); ++this->_M_impl._M_finish; _Tp __x_copy = __x; std::copy_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1) ; *__position = __x_copy; } else { const size_type __len = _M_check_len(size_type(1), "vector::_M_insert_aux"); const size_type __elems_before = __position - begin(); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); try { this->_M_impl.construct(__new_start + __elems_before, __x); __new_finish = 0; __new_finish = std::__uninitialized_move_a(this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); ++__new_finish; __new_finish = std::__uninitialized_move_a(__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } catch(...) { if (!__new_finish) this->_M_impl.destroy(__new_start + __elems_before); else std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); throw; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } template void vector<_Tp, _Alloc>:: _M_fill_insert(iterator __position, size_type __n, const value_type& __x) { if (__n != 0) { if (size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_finish) >= __n) { value_type __x_copy = __x; const size_type __elems_after = end() - __position; pointer __old_finish(this->_M_impl._M_finish); if (__elems_after > __n) { std::__uninitialized_move_a(this->_M_impl._M_finish - __n, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n; std::copy_backward(__position.base(), __old_finish - __n, __old_finish) ; std::fill(__position.base(), __position.base() + __n, __x_copy); } else { std::__uninitialized_fill_n_a(this->_M_impl._M_finish, __n - __elems_after, __x_copy, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n - __elems_after; std::__uninitialized_move_a(__position.base(), __old_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __elems_after; std::fill(__position.base(), __old_finish, __x_copy); } } else { const size_type __len = _M_check_len(__n, "vector::_M_fill_insert"); const size_type __elems_before = __position - begin(); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); try { std::__uninitialized_fill_n_a(__new_start + __elems_before, __n, __x, _M_get_Tp_allocator()); __new_finish = 0; __new_finish = std::__uninitialized_move_a(this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); __new_finish += __n; __new_finish = std::__uninitialized_move_a(__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } catch(...) { if (!__new_finish) std::_Destroy(__new_start + __elems_before, __new_start + __elems_before + __n, _M_get_Tp_allocator()); else std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); throw; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } } template template void vector<_Tp, _Alloc>:: _M_range_insert(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) { __pos = insert(__pos, *__first); ++__pos; } } template template void vector<_Tp, _Alloc>:: _M_range_insert(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { if (__first != __last) { const size_type __n = std::distance(__first, __last); if (size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_finish) >= __n) { const size_type __elems_after = end() - __position; pointer __old_finish(this->_M_impl._M_finish); if (__elems_after > __n) { std::__uninitialized_move_a(this->_M_impl._M_finish - __n, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n; std::copy_backward(__position.base(), __old_finish - __n, __old_finish) ; std::copy(__first, __last, __position); } else { _ForwardIterator __mid = __first; std::advance(__mid, __elems_after); std::__uninitialized_copy_a(__mid, __last, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n - __elems_after; std::__uninitialized_move_a(__position.base(), __old_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __elems_after; std::copy(__first, __mid, __position); } } else { const size_type __len = _M_check_len(__n, "vector::_M_range_insert"); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); try { __new_finish = std::__uninitialized_move_a(this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); __new_finish = std::__uninitialized_copy_a(__first, __last, __new_finish, _M_get_Tp_allocator()); __new_finish = std::__uninitialized_move_a(__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } catch(...) { std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); throw; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } } template void vector:: reserve(size_type __n) { if (__n > this->max_size()) __throw_length_error(("vector::reserve")); if (this->capacity() < __n) { _Bit_type* __q = this->_M_allocate(__n); this->_M_impl._M_finish = _M_copy_aligned(begin(), end(), iterator(__q, 0)); this->_M_deallocate(); this->_M_impl._M_start = iterator(__q, 0); this->_M_impl._M_end_of_storage = (__q + (__n + int(_S_word_bit) - 1) / int(_S_word_bit)); } } template void vector:: _M_fill_insert(iterator __position, size_type __n, bool __x) { if (__n == 0) return; if (capacity() - size() >= __n) { std::copy_backward(__position, end(), this->_M_impl._M_finish + difference_type(__n)); std::fill(__position, __position + difference_type(__n), __x); this->_M_impl._M_finish += difference_type(__n); } else { const size_type __len = _M_check_len(__n, "vector::_M_fill_insert"); _Bit_type * __q = this->_M_allocate(__len); iterator __i = _M_copy_aligned(begin(), __position, iterator(__q, 0)); std::fill(__i, __i + difference_type(__n), __x); this->_M_impl._M_finish = std::copy(__position, end(), __i + difference_type(__n)); this->_M_deallocate(); this->_M_impl._M_end_of_storage = (__q + ((__len + int(_S_word_bit) - 1) / int(_S_word_bit))); this->_M_impl._M_start = iterator(__q, 0); } } template template void vector:: _M_insert_range(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { if (__first != __last) { size_type __n = std::distance(__first, __last); if (capacity() - size() >= __n) { std::copy_backward(__position, end(), this->_M_impl._M_finish + difference_type(__n)); std::copy(__first, __last, __position); this->_M_impl._M_finish += difference_type(__n); } else { const size_type __len = _M_check_len(__n, "vector::_M_insert_range"); _Bit_type * __q = this->_M_allocate(__len); iterator __i = _M_copy_aligned(begin(), __position, iterator(__q, 0)); __i = std::copy(__first, __last, __i); this->_M_impl._M_finish = std::copy(__position, end(), __i); this->_M_deallocate(); this->_M_impl._M_end_of_storage = (__q + ((__len + int(_S_word_bit) - 1) / int(_S_word_bit))); this->_M_impl._M_start = iterator(__q, 0); } } } template void vector:: _M_insert_aux(iterator __position, bool __x) { if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage) { std::copy_backward(__position, this->_M_impl._M_finish, this->_M_impl._M_finish + 1); *__position = __x; ++this->_M_impl._M_finish; } else { const size_type __len = _M_check_len(size_type(1), "vector::_M_insert_aux"); _Bit_type * __q = this->_M_allocate(__len); iterator __i = _M_copy_aligned(begin(), __position, iterator(__q, 0)); *__i++ = __x; this->_M_impl._M_finish = std::copy(__position, end(), __i); this->_M_deallocate(); this->_M_impl._M_end_of_storage = (__q + ((__len + int(_S_word_bit) - 1) / int(_S_word_bit))); this->_M_impl._M_start = iterator(__q, 0); } } } # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/vector" 2 3 # 53 "/usr/include/qt4/QtCore/qvector.h" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 43 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 67 "/usr/include/bits/waitstatus.h" 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 44 "/usr/include/stdlib.h" 2 3 4 # 96 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 140 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) throw () __attribute__ ((__warn_unused_result__)); extern double atof (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int atoi (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern long int atol (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int atoll (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 240 "/usr/include/stdlib.h" 3 4 extern long int strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__)); extern unsigned long int strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__)); __extension__ extern unsigned long long int strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__)); extern double strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__)); extern float strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__)); extern long double strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) double atof (__const char *__nptr) throw () { return strtod (__nptr, (char **) __null); } extern __inline __attribute__ ((__gnu_inline__)) int atoi (__const char *__nptr) throw () { return (int) strtol (__nptr, (char **) __null, 10); } extern __inline __attribute__ ((__gnu_inline__)) long int atol (__const char *__nptr) throw () { return strtol (__nptr, (char **) __null, 10); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int atoll (__const char *__nptr) throw () { return strtoll (__nptr, (char **) __null, 10); } # 311 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) throw () __attribute__ ((__warn_unused_result__)); extern long int a64l (__const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 1 "/usr/include/sys/types.h" 1 3 4 # 29 "/usr/include/sys/types.h" 3 4 extern "C" { typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; # 72 "/usr/include/sys/types.h" 3 4 typedef __mode_t mode_t; typedef __nlink_t nlink_t; # 105 "/usr/include/sys/types.h" 3 4 typedef __id_t id_t; # 116 "/usr/include/sys/types.h" 3 4 typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 141 "/usr/include/sys/types.h" 3 4 typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 148 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 195 "/usr/include/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 220 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 31 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 23 "/usr/include/bits/select.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/select.h" 2 3 4 # 32 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 35 "/usr/include/sys/select.h" 2 3 4 # 46 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 69 "/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 4 # 55 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 67 "/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/sys/select.h" 3 4 extern "C" { # 109 "/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/usr/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); } # 221 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 30 "/usr/include/sys/sysmacros.h" 3 4 __extension__ extern unsigned int gnu_dev_major (unsigned long long int __dev) throw (); __extension__ extern unsigned int gnu_dev_minor (unsigned long long int __dev) throw (); __extension__ extern unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw (); __extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int gnu_dev_major (unsigned long long int __dev) throw () { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int gnu_dev_minor (unsigned long long int __dev) throw () { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 224 "/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 262 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 273 "/usr/include/sys/types.h" 3 4 } # 321 "/usr/include/stdlib.h" 2 3 4 extern long int random (void) throw (); extern void srandom (unsigned int __seed) throw (); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) throw () __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) throw () __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) throw (); extern void srand (unsigned int __seed) throw (); extern int rand_r (unsigned int *__seed) throw (); extern double drand48 (void) throw (); extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) throw (); extern long int nrand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) throw (); extern long int jrand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) throw (); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) throw () __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void *calloc (size_t __nmemb, size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) throw (); extern void cfree (void *__ptr) throw (); # 1 "/usr/include/alloca.h" 1 3 4 # 25 "/usr/include/alloca.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 26 "/usr/include/alloca.h" 2 3 4 extern "C" { extern void *alloca (size_t __size) throw (); } # 498 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern void abort (void) throw () __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); extern "C++" int at_quick_exit (void (*__func) (void)) throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) throw () __attribute__ ((__nonnull__ (1))); extern void exit (int __status) throw () __attribute__ ((__noreturn__)); extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__)); extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern char *__secure_getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) throw () __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) throw (); extern int clearenv (void) throw (); # 604 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 615 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 625 "/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 637 "/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 647 "/usr/include/stdlib.h" 3 4 extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 658 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 669 "/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 679 "/usr/include/stdlib.h" 3 4 extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 689 "/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 701 "/usr/include/stdlib.h" 3 4 extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int system (__const char *__command) __attribute__ ((__warn_unused_result__)); extern char *canonicalize_file_name (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 729 "/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) throw () __attribute__ ((__warn_unused_result__)); typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *); extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern long int labs (long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int llabs (long long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern div_t div (int __numer, int __denom) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern ldiv_t ldiv (long int __numer, long int __denom) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); # 802 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *gcvt (double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *qgcvt (long double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) throw () __attribute__ ((__warn_unused_result__)); extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) throw () __attribute__ ((__warn_unused_result__)); extern int wctomb (char *__s, wchar_t __wchar) throw () __attribute__ ((__warn_unused_result__)); extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) throw (); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) throw (); extern int rpmatch (__const char *__response) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 890 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) throw () __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1))); extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); extern int grantpt (int __fd) throw (); extern int unlockpt (int __fd) throw (); extern char *ptsname (int __fd) throw () __attribute__ ((__warn_unused_result__)); extern int ptsname_r (int __fd, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) throw () __attribute__ ((__nonnull__ (1))); # 1 "/usr/include/bits/stdlib.h" 1 3 4 # 24 "/usr/include/bits/stdlib.h" 3 4 extern char *__realpath_chk (__const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __attribute__ ((__warn_unused_result__)); extern char *__realpath_alias (__const char *__restrict __name, char *__restrict __resolved) throw () __asm__ ("" "realpath") __attribute__ ((__warn_unused_result__)); extern char *__realpath_chk_warn (__const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __asm__ ("" "__realpath_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char * realpath (__const char *__restrict __name, char *__restrict __resolved) throw () { if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) { return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); } return __realpath_alias (__name, __resolved); } extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __attribute__ ((__nonnull__ (2))); extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) throw () __asm__ ("" "ptsname_r") __attribute__ ((__nonnull__ (2))); extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int ptsname_r (int __fd, char *__buf, size_t __buflen) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __ptsname_r_alias (__fd, __buf, __buflen); } extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); extern int __wctomb_alias (char *__s, wchar_t __wchar) throw () __asm__ ("" "wctomb") __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) int wctomb (char *__s, wchar_t __wchar) throw () { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); return __wctomb_alias (__s, __wchar); } extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len, size_t __dstlen) throw (); extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len) throw () __asm__ ("" "mbstowcs") ; extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__mbstowcs_chk") __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbstowcs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbstowcs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbstowcs_alias (__dst, __src, __len); } extern size_t __wcstombs_chk (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw (); extern size_t __wcstombs_alias (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len) throw () __asm__ ("" "wcstombs") ; extern size_t __wcstombs_chk_warn (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__wcstombs_chk") __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t wcstombs (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); } return __wcstombs_alias (__dst, __src, __len); } # 950 "/usr/include/stdlib.h" 2 3 4 # 958 "/usr/include/stdlib.h" 3 4 } # 55 "/usr/include/qt4/QtCore/qvector.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; struct QVectorData { QBasicAtomicInt ref; int alloc; int size; uint sharable : 1; uint capacity : 1; uint reserved : 30; static QVectorData shared_null; static QVectorData *malloc(int sizeofTypedData, int size, int sizeofT, QVectorData *init); static QVectorData *allocate(int size, int alignment); static QVectorData *reallocate(QVectorData *old, int newsize, int oldsize, int alignment); static void free(QVectorData *data, int alignment); static int grow(int sizeofTypedData, int size, int sizeofT, bool excessive); }; template struct QVectorTypedData : private QVectorData { T array[1]; static inline void free(QVectorTypedData *x, int alignment) { QVectorData::free(static_cast(x), alignment); } }; class QRegion; template class QVector { typedef QVectorTypedData Data; union { QVectorData *d; Data *p; }; public: inline QVector() : d(&QVectorData::shared_null) { d->ref.ref(); } explicit QVector(int size); QVector(int size, const T &t); inline QVector(const QVector &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } inline ~QVector() { if (!d) return; if (!d->ref.deref()) free(p); } QVector &operator=(const QVector &v); bool operator==(const QVector &v) const; inline bool operator!=(const QVector &v) const { return !(*this == v); } inline int size() const { return d->size; } inline bool isEmpty() const { return d->size == 0; } void resize(int size); inline int capacity() const { return d->alloc; } void reserve(int size); inline void squeeze() { realloc(d->size, d->size); d->capacity = 0; } inline void detach() { if (d->ref != 1) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } inline T *data() { detach(); return p->array; } inline const T *data() const { return p->array; } inline const T *constData() const { return p->array; } void clear(); const T &at(int i) const; T &operator[](int i); const T &operator[](int i) const; void append(const T &t); void prepend(const T &t); void insert(int i, const T &t); void insert(int i, int n, const T &t); void replace(int i, const T &t); void remove(int i); void remove(int i, int n); QVector &fill(const T &t, int size = -1); int indexOf(const T &t, int from = 0) const; int lastIndexOf(const T &t, int from = -1) const; bool contains(const T &t) const; int count(const T &t) const; # 230 "/usr/include/qt4/QtCore/qvector.h" typedef T* iterator; typedef const T* const_iterator; inline iterator begin() { detach(); return p->array; } inline const_iterator begin() const { return p->array; } inline const_iterator constBegin() const { return p->array; } inline iterator end() { detach(); return p->array + d->size; } inline const_iterator end() const { return p->array + d->size; } inline const_iterator constEnd() const { return p->array + d->size; } iterator insert(iterator before, int n, const T &x); inline iterator insert(iterator before, const T &x) { return insert(before, 1, x); } iterator erase(iterator begin, iterator end); inline iterator erase(iterator pos) { return erase(pos, pos+1); } inline int count() const { return d->size; } inline T& first() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qvector.h",246) : qt_noop()); return *begin(); } inline const T &first() const { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qvector.h",247) : qt_noop()); return *begin(); } inline T& last() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qvector.h",248) : qt_noop()); return *(end()-1); } inline const T &last() const { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qvector.h",249) : qt_noop()); return *(end()-1); } inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } QVector mid(int pos, int length = -1) const; T value(int i) const; T value(int i, const T &defaultValue) const; typedef T value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef ptrdiff_t difference_type; typedef iterator Iterator; typedef const_iterator ConstIterator; typedef int size_type; inline void push_back(const T &t) { append(t); } inline void push_front(const T &t) { prepend(t); } void pop_back() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qvector.h",269) : qt_noop()); erase(end()-1); } void pop_front() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qvector.h",270) : qt_noop()); erase(begin()); } inline bool empty() const { return d->size == 0; } inline T& front() { return first(); } inline const_reference front() const { return first(); } inline reference back() { return last(); } inline const_reference back() const { return last(); } QVector &operator+=(const QVector &l); inline QVector operator+(const QVector &l) const { QVector n = *this; n += l; return n; } inline QVector &operator+=(const T &t) { append(t); return *this; } inline QVector &operator<< (const T &t) { append(t); return *this; } inline QVector &operator<<(const QVector &l) { *this += l; return *this; } QList toList() const; static QVector fromList(const QList &list); static inline QVector fromStdVector(const std::vector &vector) { QVector tmp; qCopy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; } inline std::vector toStdVector() const { std::vector tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; } private: friend class QRegion; void detach_helper(); QVectorData *malloc(int alloc); void realloc(int size, int alloc); void free(Data *d); int sizeOfTypedData() { return reinterpret_cast(&(reinterpret_cast(this))->array[1]) - reinterpret_cast(this); } inline int alignOfTypedData() const { return qMax(sizeof(void*), __alignof__(Data)); } }; template void QVector::detach_helper() { realloc(d->size, d->alloc); } template void QVector::reserve(int asize) { if (asize > d->alloc) realloc(d->size, asize); if (d->ref == 1) d->capacity = 1; } template void QVector::resize(int asize) { realloc(asize, (asize > d->alloc || (!d->capacity && asize < d->size && asize < (d->alloc >> 1))) ? QVectorData::grow(sizeOfTypedData(), asize, sizeof(T), QTypeInfo::isStatic) : d->alloc); } template inline void QVector::clear() { *this = QVector(); } template inline const T &QVector::at(int i) const { ((!(i >= 0 && i < d->size)) ? qt_assert_x("QVector::at", "index out of range","/usr/include/qt4/QtCore/qvector.h",338) : qt_noop()); return p->array[i]; } template inline const T &QVector::operator[](int i) const { ((!(i >= 0 && i < d->size)) ? qt_assert_x("QVector::operator[]", "index out of range","/usr/include/qt4/QtCore/qvector.h",342) : qt_noop()); return p->array[i]; } template inline T &QVector::operator[](int i) { ((!(i >= 0 && i < d->size)) ? qt_assert_x("QVector::operator[]", "index out of range","/usr/include/qt4/QtCore/qvector.h",346) : qt_noop()); return data()[i]; } template inline void QVector::insert(int i, const T &t) { ((!(i >= 0 && i <= d->size)) ? qt_assert_x("QVector::insert", "index out of range","/usr/include/qt4/QtCore/qvector.h",350) : qt_noop()); insert(begin() + i, 1, t); } template inline void QVector::insert(int i, int n, const T &t) { ((!(i >= 0 && i <= d->size)) ? qt_assert_x("QVector::insert", "index out of range","/usr/include/qt4/QtCore/qvector.h",354) : qt_noop()); insert(begin() + i, n, t); } template inline void QVector::remove(int i, int n) { ((!(i >= 0 && n >= 0 && i + n <= d->size)) ? qt_assert_x("QVector::remove", "index out of range","/usr/include/qt4/QtCore/qvector.h",358) : qt_noop()); erase(begin() + i, begin() + i + n); } template inline void QVector::remove(int i) { ((!(i >= 0 && i < d->size)) ? qt_assert_x("QVector::remove", "index out of range","/usr/include/qt4/QtCore/qvector.h",362) : qt_noop()); erase(begin() + i, begin() + i + 1); } template inline void QVector::prepend(const T &t) { insert(begin(), 1, t); } template inline void QVector::replace(int i, const T &t) { ((!(i >= 0 && i < d->size)) ? qt_assert_x("QVector::replace", "index out of range","/usr/include/qt4/QtCore/qvector.h",371) : qt_noop()); const T copy(t); data()[i] = copy; } template QVector &QVector::operator=(const QVector &v) { v.d->ref.ref(); if (!d->ref.deref()) free(p); d = v.d; if (!d->sharable) detach_helper(); return *this; } template inline QVectorData *QVector::malloc(int aalloc) { QVectorData *vectordata = QVectorData::allocate(sizeOfTypedData() + (aalloc - 1) * sizeof(T), alignOfTypedData()); do { if (!(vectordata)) qBadAlloc(); } while (0); return vectordata; } template QVector::QVector(int asize) { d = malloc(asize); d->ref = 1; d->alloc = d->size = asize; d->sharable = true; d->capacity = false; if (QTypeInfo::isComplex) { T* b = p->array; T* i = p->array + d->size; while (i != b) new (--i) T; } else { qMemSet(p->array, 0, asize * sizeof(T)); } } template QVector::QVector(int asize, const T &t) { d = malloc(asize); d->ref = 1; d->alloc = d->size = asize; d->sharable = true; d->capacity = false; T* i = p->array + d->size; while (i != p->array) new (--i) T(t); } template void QVector::free(Data *x) { if (QTypeInfo::isComplex) { T* b = x->array; union { QVectorData *d; Data *p; } u; u.p = x; T* i = b + u.d->size; while (i-- != b) i->~T(); } x->free(x, alignOfTypedData()); } template void QVector::realloc(int asize, int aalloc) { ((!(asize <= aalloc)) ? qt_assert("asize <= aalloc","/usr/include/qt4/QtCore/qvector.h",444) : qt_noop()); T *pOld; T *pNew; union { QVectorData *d; Data *p; } x; x.d = d; if (QTypeInfo::isComplex && asize < d->size && d->ref == 1 ) { pOld = p->array + d->size; pNew = p->array + asize; while (asize < d->size) { (--pOld)->~T(); d->size--; } } if (aalloc != d->alloc || d->ref != 1) { if (QTypeInfo::isStatic) { x.d = malloc(aalloc); do { if (!(x.p)) qBadAlloc(); } while (0); x.d->size = 0; } else if (d->ref != 1) { x.d = malloc(aalloc); do { if (!(x.p)) qBadAlloc(); } while (0); if (QTypeInfo::isComplex) { x.d->size = 0; } else { ::memcpy(x.p, p, sizeOfTypedData() + (qMin(aalloc, d->alloc) - 1) * sizeof(T)); x.d->size = d->size; } } else { try { QVectorData *mem = QVectorData::reallocate(d, sizeOfTypedData() + (aalloc - 1) * sizeof(T), sizeOfTypedData() + (d->alloc - 1) * sizeof(T), alignOfTypedData()); do { if (!(mem)) qBadAlloc(); } while (0); x.d = d = mem; x.d->size = d->size; } catch (const std::bad_alloc &) { if (aalloc > d->alloc) throw; } } x.d->ref = 1; x.d->alloc = aalloc; x.d->sharable = true; x.d->capacity = d->capacity; x.d->reserved = 0; } if (QTypeInfo::isComplex) { try { pOld = p->array + x.d->size; pNew = x.p->array + x.d->size; const int toMove = qMin(asize, d->size); while (x.d->size < toMove) { new (pNew++) T(*pOld++); x.d->size++; } while (x.d->size < asize) { new (pNew++) T; x.d->size++; } } catch (...) { free(x.p); throw; } } else if (asize > x.d->size) { qMemSet(x.p->array + x.d->size, 0, (asize - x.d->size) * sizeof(T)); } x.d->size = asize; if (d != x.d) { if (!d->ref.deref()) free(p); d = x.d; } } template T QVector::value(int i) const { if (i < 0 || i >= d->size) { return T(); } return p->array[i]; } template T QVector::value(int i, const T &defaultValue) const { return ((i < 0 || i >= d->size) ? defaultValue : p->array[i]); } template void QVector::append(const T &t) { if (d->ref != 1 || d->size + 1 > d->alloc) { const T copy(t); realloc(d->size, QVectorData::grow(sizeOfTypedData(), d->size + 1, sizeof(T), QTypeInfo::isStatic)); if (QTypeInfo::isComplex) new (p->array + d->size) T(copy); else p->array[d->size] = copy; } else { if (QTypeInfo::isComplex) new (p->array + d->size) T(t); else p->array[d->size] = t; } ++d->size; } template typename QVector::iterator QVector::insert(iterator before, size_type n, const T &t) { int offset = int(before - p->array); if (n != 0) { const T copy(t); if (d->ref != 1 || d->size + n > d->alloc) realloc(d->size, QVectorData::grow(sizeOfTypedData(), d->size + n, sizeof(T), QTypeInfo::isStatic)); if (QTypeInfo::isStatic) { T *b = p->array + d->size; T *i = p->array + d->size + n; while (i != b) new (--i) T; i = p->array + d->size; T *j = i + n; b = p->array + offset; while (i != b) *--j = *--i; i = b+n; while (i != b) *--i = copy; } else { T *b = p->array + offset; T *i = b + n; memmove(i, b, (d->size - offset) * sizeof(T)); while (i != b) new (--i) T(copy); } d->size += n; } return p->array + offset; } template typename QVector::iterator QVector::erase(iterator abegin, iterator aend) { int f = int(abegin - p->array); int l = int(aend - p->array); int n = l - f; detach(); if (QTypeInfo::isComplex) { qCopy(p->array+l, p->array+d->size, p->array+f); T *i = p->array+d->size; T* b = p->array+d->size-n; while (i != b) { --i; i->~T(); } } else { memmove(p->array + f, p->array + l, (d->size-l)*sizeof(T)); } d->size -= n; return p->array + f; } template bool QVector::operator==(const QVector &v) const { if (d->size != v.d->size) return false; if (d == v.d) return true; T* b = p->array; T* i = b + d->size; T* j = v.p->array + d->size; while (i != b) if (!(*--i == *--j)) return false; return true; } template QVector &QVector::fill(const T &from, int asize) { const T copy(from); resize(asize < 0 ? d->size : asize); if (d->size) { T *i = p->array + d->size; T *b = p->array; while (i != b) *--i = copy; } return *this; } template QVector &QVector::operator+=(const QVector &l) { int newSize = d->size + l.d->size; realloc(d->size, newSize); T *w = p->array + newSize; T *i = l.p->array + l.d->size; T *b = l.p->array; while (i != b) { if (QTypeInfo::isComplex) new (--w) T(*--i); else *--w = *--i; } d->size = newSize; return *this; } template int QVector::indexOf(const T &t, int from) const { if (from < 0) from = qMax(from + d->size, 0); if (from < d->size) { T* n = p->array + from - 1; T* e = p->array + d->size; while (++n != e) if (*n == t) return n - p->array; } return -1; } template int QVector::lastIndexOf(const T &t, int from) const { if (from < 0) from += d->size; else if (from >= d->size) from = d->size-1; if (from >= 0) { T* b = p->array; T* n = p->array + from + 1; while (n != b) { if (*--n == t) return n - b; } } return -1; } template bool QVector::contains(const T &t) const { T* b = p->array; T* i = p->array + d->size; while (i != b) if (*--i == t) return true; return false; } template int QVector::count(const T &t) const { int c = 0; T* b = p->array; T* i = p->array + d->size; while (i != b) if (*--i == t) ++c; return c; } template QVector QVector::mid(int pos, int length) const { if (length < 0) length = size() - pos; if (pos == 0 && length == size()) return *this; QVector copy; if (pos + length > size()) length = size() - pos; for (int i = pos; i < pos + length; ++i) copy += at(i); return copy; } template QList QVector::toList() const { QList result; for (int i = 0; i < size(); ++i) result.append(at(i)); return result; } template QVector QList::toVector() const { QVector result(size()); for (int i = 0; i < size(); ++i) result[i] = at(i); return result; } template QVector QVector::fromList(const QList &list) { return list.toVector(); } template QList QList::fromVector(const QVector &vector) { return vector.toList(); } template class QVectorIterator { typedef typename QVector::const_iterator const_iterator; QVector c; const_iterator i; public: inline QVectorIterator(const QVector &container) : c(container), i(c.constBegin()) {} inline QVectorIterator &operator=(const QVector &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; template class QMutableVectorIterator { typedef typename QVector::iterator iterator; typedef typename QVector::const_iterator const_iterator; QVector *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableVectorIterator(QVector &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableVectorIterator() { c->setSharable(true); } inline QMutableVectorIterator &operator=(QVector &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qvector.h",769) : qt_noop()); return *n; } inline const T &value() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qvector.h",769) : qt_noop()); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 796 "/usr/include/qt4/QtCore/qvector.h" # 46 "/usr/include/qt4/QtGui/qpolygon.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QMatrix; class QTransform; class QRect; class QVariant; class QPolygon : public QVector { public: inline QPolygon() {} inline ~QPolygon() {} inline QPolygon(int size); inline QPolygon(const QPolygon &a) : QVector(a) {} inline QPolygon(const QVector &v) : QVector(v) {} QPolygon(const QRect &r, bool closed=false); QPolygon(int nPoints, const int *points); operator QVariant() const; void translate(int dx, int dy); void translate(const QPoint &offset); QPolygon translated(int dx, int dy) const; inline QPolygon translated(const QPoint &offset) const; QRect boundingRect() const; void point(int i, int *x, int *y) const; QPoint point(int i) const; void setPoint(int index, int x, int y); void setPoint(int index, const QPoint &p); void setPoints(int nPoints, const int *points); void setPoints(int nPoints, int firstx, int firsty, ...); void putPoints(int index, int nPoints, const int *points); void putPoints(int index, int nPoints, int firstx, int firsty, ...); void putPoints(int index, int nPoints, const QPolygon & from, int fromIndex=0); bool containsPoint(const QPoint &pt, Qt::FillRule fillRule) const; QPolygon united(const QPolygon &r) const; QPolygon intersected(const QPolygon &r) const; QPolygon subtracted(const QPolygon &r) const; }; inline QPolygon::QPolygon(int asize) : QVector(asize) {} QDebug operator<<(QDebug, const QPolygon &); QDataStream &operator<<(QDataStream &stream, const QPolygon &polygon); QDataStream &operator>>(QDataStream &stream, QPolygon &polygon); inline void QPolygon::setPoint(int index, const QPoint &pt) { (*this)[index] = pt; } inline void QPolygon::setPoint(int index, int x, int y) { (*this)[index] = QPoint(x, y); } inline QPoint QPolygon::point(int index) const { return at(index); } inline void QPolygon::translate(const QPoint &offset) { translate(offset.x(), offset.y()); } inline QPolygon QPolygon::translated(const QPoint &offset) const { return translated(offset.x(), offset.y()); } class QRectF; class QPolygonF : public QVector { public: inline QPolygonF() {} inline ~QPolygonF() {} inline QPolygonF(int size); inline QPolygonF(const QPolygonF &a) : QVector(a) {} inline QPolygonF(const QVector &v) : QVector(v) {} QPolygonF(const QRectF &r); QPolygonF(const QPolygon &a); inline void translate(qreal dx, qreal dy); void translate(const QPointF &offset); inline QPolygonF translated(qreal dx, qreal dy) const; QPolygonF translated(const QPointF &offset) const; QPolygon toPolygon() const; bool isClosed() const { return !isEmpty() && first() == last(); } QRectF boundingRect() const; bool containsPoint(const QPointF &pt, Qt::FillRule fillRule) const; QPolygonF united(const QPolygonF &r) const; QPolygonF intersected(const QPolygonF &r) const; QPolygonF subtracted(const QPolygonF &r) const; }; inline QPolygonF::QPolygonF(int asize) : QVector(asize) {} QDebug operator<<(QDebug, const QPolygonF &); QDataStream &operator<<(QDataStream &stream, const QPolygonF &array); QDataStream &operator>>(QDataStream &stream, QPolygonF &array); inline void QPolygonF::translate(qreal dx, qreal dy) { translate(QPointF(dx, dy)); } inline QPolygonF QPolygonF::translated(qreal dx, qreal dy) const { return translated(QPointF(dx, dy)); } # 46 "/usr/include/qt4/QtGui/qmatrix.h" 2 # 1 "/usr/include/qt4/QtGui/qregion.h" 1 # 53 "/usr/include/qt4/QtGui/qregion.h" typedef QtValidLicenseForGuiModule QtGuiModule; template class QVector; class QVariant; struct QRegionPrivate; class QBitmap; class QRegion { public: enum RegionType { Rectangle, Ellipse }; QRegion(); QRegion(int x, int y, int w, int h, RegionType t = Rectangle); QRegion(const QRect &r, RegionType t = Rectangle); QRegion(const QPolygon &pa, Qt::FillRule fillRule = Qt::OddEvenFill); QRegion(const QRegion ®ion); QRegion(const QBitmap &bitmap); ~QRegion(); QRegion &operator=(const QRegion &); bool isEmpty() const; bool contains(const QPoint &p) const; bool contains(const QRect &r) const; void translate(int dx, int dy); inline void translate(const QPoint &p) { translate(p.x(), p.y()); } QRegion translated(int dx, int dy) const; inline QRegion translated(const QPoint &p) const { return translated(p.x(), p.y()); } QRegion unite(const QRegion &r) const; QRegion unite(const QRect &r) const; QRegion intersect(const QRegion &r) const; QRegion intersect(const QRect &r) const; QRegion subtract(const QRegion &r) const; QRegion eor(const QRegion &r) const; inline QRegion united(const QRegion &r) const { return unite(r); } inline QRegion united(const QRect &r) const { return unite(r); } inline QRegion intersected(const QRegion &r) const { return intersect(r); } inline QRegion intersected(const QRect &r) const { return intersect(r); } inline QRegion subtracted(const QRegion &r) const { return subtract(r); } inline QRegion xored(const QRegion &r) const { return eor(r); } bool intersects(const QRegion &r) const; bool intersects(const QRect &r) const; QRect boundingRect() const; QVector rects() const; void setRects(const QRect *rect, int num); int numRects() const; int rectCount() const; const QRegion operator|(const QRegion &r) const; const QRegion operator+(const QRegion &r) const; const QRegion operator+(const QRect &r) const; const QRegion operator&(const QRegion &r) const; const QRegion operator&(const QRect &r) const; const QRegion operator-(const QRegion &r) const; const QRegion operator^(const QRegion &r) const; QRegion& operator|=(const QRegion &r); QRegion& operator+=(const QRegion &r); QRegion& operator+=(const QRect &r); QRegion& operator&=(const QRegion &r); QRegion& operator&=(const QRect &r); QRegion& operator-=(const QRegion &r); QRegion& operator^=(const QRegion &r); bool operator==(const QRegion &r) const; inline bool operator!=(const QRegion &r) const { return !(operator==(r)); } operator QVariant() const; # 150 "/usr/include/qt4/QtGui/qregion.h" inline Region handle() const { if(!d->rgn) updateX11Region(); return d->rgn; } # 172 "/usr/include/qt4/QtGui/qregion.h" friend QDataStream &operator<<(QDataStream &, const QRegion &); friend QDataStream &operator>>(QDataStream &, QRegion &); private: QRegion copy() const; void detach(); void updateX11Region() const; void *clipRectangles(int &num) const; friend void *qt_getClipRects(const QRegion &r, int &num); friend bool qt_region_strictContains(const QRegion ®ion, const QRect &rect); friend struct QRegionPrivate; void exec(const QByteArray &ba, int ver = 0, QDataStream::ByteOrder byteOrder = QDataStream::BigEndian); struct QRegionData { QBasicAtomicInt ref; Region rgn; void *xrectangles; QRegionPrivate *qt_rgn; }; struct QRegionData *d; static struct QRegionData shared_empty; static void cleanUp(QRegionData *x); }; QDataStream &operator<<(QDataStream &, const QRegion &); QDataStream &operator>>(QDataStream &, QRegion &); QDebug operator<<(QDebug, const QRegion &); # 47 "/usr/include/qt4/QtGui/qmatrix.h" 2 # 1 "/usr/include/qt4/QtCore/qline.h" 1 # 47 "/usr/include/qt4/QtCore/qline.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QLine { public: inline QLine(); inline QLine(const QPoint &pt1, const QPoint &pt2); inline QLine(int x1, int y1, int x2, int y2); inline bool isNull() const; inline QPoint p1() const; inline QPoint p2() const; inline int x1() const; inline int y1() const; inline int x2() const; inline int y2() const; inline int dx() const; inline int dy() const; inline void translate(const QPoint &p); inline void translate(int dx, int dy); inline QLine translated(const QPoint &p) const; inline QLine translated(int dx, int dy) const; inline void setP1(const QPoint &p1); inline void setP2(const QPoint &p2); inline void setPoints(const QPoint &p1, const QPoint &p2); inline void setLine(int x1, int y1, int x2, int y2); inline bool operator==(const QLine &d) const; inline bool operator!=(const QLine &d) const { return !(*this == d); } private: QPoint pt1, pt2; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QLine)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QLine"; } }; inline QLine::QLine() { } inline QLine::QLine(const QPoint &pt1_, const QPoint &pt2_) : pt1(pt1_), pt2(pt2_) { } inline QLine::QLine(int x1pos, int y1pos, int x2pos, int y2pos) : pt1(QPoint(x1pos, y1pos)), pt2(QPoint(x2pos, y2pos)) { } inline bool QLine::isNull() const { return pt1 == pt2; } inline int QLine::x1() const { return pt1.x(); } inline int QLine::y1() const { return pt1.y(); } inline int QLine::x2() const { return pt2.x(); } inline int QLine::y2() const { return pt2.y(); } inline QPoint QLine::p1() const { return pt1; } inline QPoint QLine::p2() const { return pt2; } inline int QLine::dx() const { return pt2.x() - pt1.x(); } inline int QLine::dy() const { return pt2.y() - pt1.y(); } inline void QLine::translate(const QPoint &point) { pt1 += point; pt2 += point; } inline void QLine::translate(int adx, int ady) { this->translate(QPoint(adx, ady)); } inline QLine QLine::translated(const QPoint &p) const { return QLine(pt1 + p, pt2 + p); } inline QLine QLine::translated(int adx, int ady) const { return translated(QPoint(adx, ady)); } inline void QLine::setP1(const QPoint &aP1) { pt1 = aP1; } inline void QLine::setP2(const QPoint &aP2) { pt2 = aP2; } inline void QLine::setPoints(const QPoint &aP1, const QPoint &aP2) { pt1 = aP1; pt2 = aP2; } inline void QLine::setLine(int aX1, int aY1, int aX2, int aY2) { pt1 = QPoint(aX1, aY1); pt2 = QPoint(aX2, aY2); } inline bool QLine::operator==(const QLine &d) const { return pt1 == d.pt1 && pt2 == d.pt2; } QDebug operator<<(QDebug d, const QLine &p); QDataStream &operator<<(QDataStream &, const QLine &); QDataStream &operator>>(QDataStream &, QLine &); class QLineF { public: enum IntersectType { NoIntersection, BoundedIntersection, UnboundedIntersection }; inline QLineF(); inline QLineF(const QPointF &pt1, const QPointF &pt2); inline QLineF(qreal x1, qreal y1, qreal x2, qreal y2); inline QLineF(const QLine &line) : pt1(line.p1()), pt2(line.p2()) { } static QLineF fromPolar(qreal length, qreal angle); bool isNull() const; inline QPointF p1() const; inline QPointF p2() const; inline qreal x1() const; inline qreal y1() const; inline qreal x2() const; inline qreal y2() const; inline qreal dx() const; inline qreal dy() const; qreal length() const; void setLength(qreal len); qreal angle() const; void setAngle(qreal angle); qreal angleTo(const QLineF &l) const; QLineF unitVector() const; QLineF normalVector() const; IntersectType intersect(const QLineF &l, QPointF *intersectionPoint) const; qreal angle(const QLineF &l) const; QPointF pointAt(qreal t) const; inline void translate(const QPointF &p); inline void translate(qreal dx, qreal dy); inline QLineF translated(const QPointF &p) const; inline QLineF translated(qreal dx, qreal dy) const; inline void setP1(const QPointF &p1); inline void setP2(const QPointF &p2); inline void setPoints(const QPointF &p1, const QPointF &p2); inline void setLine(qreal x1, qreal y1, qreal x2, qreal y2); inline bool operator==(const QLineF &d) const; inline bool operator!=(const QLineF &d) const { return !(*this == d); } QLine toLine() const; private: QPointF pt1, pt2; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QLineF)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QLineF"; } }; inline QLineF::QLineF() { } inline QLineF::QLineF(const QPointF &apt1, const QPointF &apt2) : pt1(apt1), pt2(apt2) { } inline QLineF::QLineF(qreal x1pos, qreal y1pos, qreal x2pos, qreal y2pos) : pt1(x1pos, y1pos), pt2(x2pos, y2pos) { } inline qreal QLineF::x1() const { return pt1.x(); } inline qreal QLineF::y1() const { return pt1.y(); } inline qreal QLineF::x2() const { return pt2.x(); } inline qreal QLineF::y2() const { return pt2.y(); } inline QPointF QLineF::p1() const { return pt1; } inline QPointF QLineF::p2() const { return pt2; } inline qreal QLineF::dx() const { return pt2.x() - pt1.x(); } inline qreal QLineF::dy() const { return pt2.y() - pt1.y(); } inline QLineF QLineF::normalVector() const { return QLineF(p1(), p1() + QPointF(dy(), -dx())); } inline void QLineF::translate(const QPointF &point) { pt1 += point; pt2 += point; } inline void QLineF::translate(qreal adx, qreal ady) { this->translate(QPointF(adx, ady)); } inline QLineF QLineF::translated(const QPointF &p) const { return QLineF(pt1 + p, pt2 + p); } inline QLineF QLineF::translated(qreal adx, qreal ady) const { return translated(QPointF(adx, ady)); } inline void QLineF::setLength(qreal len) { if (isNull()) return; QLineF v = unitVector(); pt2 = QPointF(pt1.x() + v.dx() * len, pt1.y() + v.dy() * len); } inline QPointF QLineF::pointAt(qreal t) const { qreal vx = pt2.x() - pt1.x(); qreal vy = pt2.y() - pt1.y(); return QPointF(pt1.x() + vx * t, pt1.y() + vy * t); } inline QLine QLineF::toLine() const { return QLine(pt1.toPoint(), pt2.toPoint()); } inline void QLineF::setP1(const QPointF &aP1) { pt1 = aP1; } inline void QLineF::setP2(const QPointF &aP2) { pt2 = aP2; } inline void QLineF::setPoints(const QPointF &aP1, const QPointF &aP2) { pt1 = aP1; pt2 = aP2; } inline void QLineF::setLine(qreal aX1, qreal aY1, qreal aX2, qreal aY2) { pt1 = QPointF(aX1, aY1); pt2 = QPointF(aX2, aY2); } inline bool QLineF::operator==(const QLineF &d) const { return pt1 == d.pt1 && pt2 == d.pt2; } QDebug operator<<(QDebug d, const QLineF &p); QDataStream &operator<<(QDataStream &, const QLineF &); QDataStream &operator>>(QDataStream &, QLineF &); # 49 "/usr/include/qt4/QtGui/qmatrix.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QPainterPath; class QVariant; class QMatrix { public: inline explicit QMatrix(Qt::Initialization) {} QMatrix(); QMatrix(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy); QMatrix(const QMatrix &matrix); void setMatrix(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy); qreal m11() const { return _m11; } qreal m12() const { return _m12; } qreal m21() const { return _m21; } qreal m22() const { return _m22; } qreal dx() const { return _dx; } qreal dy() const { return _dy; } void map(int x, int y, int *tx, int *ty) const; void map(qreal x, qreal y, qreal *tx, qreal *ty) const; QRect mapRect(const QRect &) const; QRectF mapRect(const QRectF &) const; QPoint map(const QPoint &p) const; QPointF map(const QPointF&p) const; QLine map(const QLine &l) const; QLineF map(const QLineF &l) const; QPolygonF map(const QPolygonF &a) const; QPolygon map(const QPolygon &a) const; QRegion map(const QRegion &r) const; QPainterPath map(const QPainterPath &p) const; QPolygon mapToPolygon(const QRect &r) const; void reset(); inline bool isIdentity() const; QMatrix &translate(qreal dx, qreal dy); QMatrix &scale(qreal sx, qreal sy); QMatrix &shear(qreal sh, qreal sv); QMatrix &rotate(qreal a); bool isInvertible() const { return !qFuzzyIsNull(_m11*_m22 - _m12*_m21); } qreal determinant() const { return _m11*_m22 - _m12*_m21; } qreal det() const { return _m11*_m22 - _m12*_m21; } QMatrix inverted(bool *invertible = 0) const; bool operator==(const QMatrix &) const; bool operator!=(const QMatrix &) const; QMatrix &operator*=(const QMatrix &); QMatrix operator*(const QMatrix &o) const; QMatrix &operator=(const QMatrix &); operator QVariant() const; private: inline QMatrix(bool) : _m11(1.) , _m12(0.) , _m21(0.) , _m22(1.) , _dx(0.) , _dy(0.) {} inline QMatrix(qreal am11, qreal am12, qreal am21, qreal am22, qreal adx, qreal ady, bool) : _m11(am11) , _m12(am12) , _m21(am21) , _m22(am22) , _dx(adx) , _dy(ady) {} friend class QTransform; qreal _m11, _m12; qreal _m21, _m22; qreal _dx, _dy; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QMatrix)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QMatrix"; } }; inline QPoint operator*(const QPoint &p, const QMatrix &m) { return m.map(p); } inline QPointF operator*(const QPointF &p, const QMatrix &m) { return m.map(p); } inline QLineF operator*(const QLineF &l, const QMatrix &m) { return m.map(l); } inline QLine operator*(const QLine &l, const QMatrix &m) { return m.map(l); } inline QPolygon operator *(const QPolygon &a, const QMatrix &m) { return m.map(a); } inline QPolygonF operator *(const QPolygonF &a, const QMatrix &m) { return m.map(a); } inline QRegion operator *(const QRegion &r, const QMatrix &m) { return m.map(r); } QPainterPath operator *(const QPainterPath &p, const QMatrix &m); inline bool QMatrix::isIdentity() const { return qFuzzyIsNull(_m11 - 1) && qFuzzyIsNull(_m22 - 1) && qFuzzyIsNull(_m12) && qFuzzyIsNull(_m21) && qFuzzyIsNull(_dx) && qFuzzyIsNull(_dy); } inline bool qFuzzyCompare(const QMatrix& m1, const QMatrix& m2) { return qFuzzyCompare(m1.m11(), m2.m11()) && qFuzzyCompare(m1.m12(), m2.m12()) && qFuzzyCompare(m1.m21(), m2.m21()) && qFuzzyCompare(m1.m22(), m2.m22()) && qFuzzyCompare(m1.dx(), m2.dx()) && qFuzzyCompare(m1.dy(), m2.dy()); } QDataStream &operator<<(QDataStream &, const QMatrix &); QDataStream &operator>>(QDataStream &, QMatrix &); QDebug operator<<(QDebug, const QMatrix &); # 202 "/usr/include/qt4/QtGui/qmatrix.h" # 45 "/usr/include/qt4/QtGui/qtransform.h" 2 # 1 "/usr/include/qt4/QtGui/qpainterpath.h" 1 # 52 "/usr/include/qt4/QtGui/qpainterpath.h" typedef QtValidLicenseForGuiModule QtGuiModule; class QFont; class QPainterPathPrivate; struct QPainterPathPrivateDeleter; class QPainterPathData; class QPainterPathStrokerPrivate; class QPolygonF; class QRegion; class QVectorPath; class QPainterPath { public: enum ElementType { MoveToElement, LineToElement, CurveToElement, CurveToDataElement }; class Element { public: qreal x; qreal y; ElementType type; bool isMoveTo() const { return type == MoveToElement; } bool isLineTo() const { return type == LineToElement; } bool isCurveTo() const { return type == CurveToElement; } operator QPointF () const { return QPointF(x, y); } bool operator==(const Element &e) const { return qFuzzyCompare(x, e.x) && qFuzzyCompare(y, e.y) && type == e.type; } inline bool operator!=(const Element &e) const { return !operator==(e); } }; QPainterPath(); explicit QPainterPath(const QPointF &startPoint); QPainterPath(const QPainterPath &other); QPainterPath &operator=(const QPainterPath &other); ~QPainterPath(); void closeSubpath(); void moveTo(const QPointF &p); inline void moveTo(qreal x, qreal y); void lineTo(const QPointF &p); inline void lineTo(qreal x, qreal y); void arcMoveTo(const QRectF &rect, qreal angle); inline void arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle); void arcTo(const QRectF &rect, qreal startAngle, qreal arcLength); inline void arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLength); void cubicTo(const QPointF &ctrlPt1, const QPointF &ctrlPt2, const QPointF &endPt); inline void cubicTo(qreal ctrlPt1x, qreal ctrlPt1y, qreal ctrlPt2x, qreal ctrlPt2y, qreal endPtx, qreal endPty); void quadTo(const QPointF &ctrlPt, const QPointF &endPt); inline void quadTo(qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty); QPointF currentPosition() const; void addRect(const QRectF &rect); inline void addRect(qreal x, qreal y, qreal w, qreal h); void addEllipse(const QRectF &rect); inline void addEllipse(qreal x, qreal y, qreal w, qreal h); inline void addEllipse(const QPointF ¢er, qreal rx, qreal ry); void addPolygon(const QPolygonF &polygon); void addText(const QPointF &point, const QFont &f, const QString &text); inline void addText(qreal x, qreal y, const QFont &f, const QString &text); void addPath(const QPainterPath &path); void addRegion(const QRegion ®ion); void addRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize); inline void addRoundedRect(qreal x, qreal y, qreal w, qreal h, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize); void addRoundRect(const QRectF &rect, int xRnd, int yRnd); inline void addRoundRect(qreal x, qreal y, qreal w, qreal h, int xRnd, int yRnd); inline void addRoundRect(const QRectF &rect, int roundness); inline void addRoundRect(qreal x, qreal y, qreal w, qreal h, int roundness); void connectPath(const QPainterPath &path); bool contains(const QPointF &pt) const; bool contains(const QRectF &rect) const; bool intersects(const QRectF &rect) const; void translate(qreal dx, qreal dy); inline void translate(const QPointF &offset); QPainterPath translated(qreal dx, qreal dy) const; inline QPainterPath translated(const QPointF &offset) const; QRectF boundingRect() const; QRectF controlPointRect() const; Qt::FillRule fillRule() const; void setFillRule(Qt::FillRule fillRule); inline bool isEmpty() const; QPainterPath toReversed() const; QList toSubpathPolygons(const QMatrix &matrix = QMatrix()) const; QList toFillPolygons(const QMatrix &matrix = QMatrix()) const; QPolygonF toFillPolygon(const QMatrix &matrix = QMatrix()) const; QList toSubpathPolygons(const QTransform &matrix) const; QList toFillPolygons(const QTransform &matrix) const; QPolygonF toFillPolygon(const QTransform &matrix) const; inline int elementCount() const; inline const QPainterPath::Element &elementAt(int i) const; inline void setElementPositionAt(int i, qreal x, qreal y); qreal length() const; qreal percentAtLength(qreal t) const; QPointF pointAtPercent(qreal t) const; qreal angleAtPercent(qreal t) const; qreal slopeAtPercent(qreal t) const; bool intersects(const QPainterPath &p) const; bool contains(const QPainterPath &p) const; QPainterPath united(const QPainterPath &r) const; QPainterPath intersected(const QPainterPath &r) const; QPainterPath subtracted(const QPainterPath &r) const; QPainterPath subtractedInverted(const QPainterPath &r) const; QPainterPath simplified() const; bool operator==(const QPainterPath &other) const; bool operator!=(const QPainterPath &other) const; QPainterPath operator&(const QPainterPath &other) const; QPainterPath operator|(const QPainterPath &other) const; QPainterPath operator+(const QPainterPath &other) const; QPainterPath operator-(const QPainterPath &other) const; QPainterPath &operator&=(const QPainterPath &other); QPainterPath &operator|=(const QPainterPath &other); QPainterPath &operator+=(const QPainterPath &other); QPainterPath &operator-=(const QPainterPath &other); private: QScopedPointer d_ptr; inline void ensureData() { if (!d_ptr) ensureData_helper(); } void ensureData_helper(); inline void detach(); void detach_helper(); void setDirty(bool); void computeBoundingRect() const; void computeControlPointRect() const; QPainterPathData *d_func() const { return reinterpret_cast(d_ptr.data()); } friend class QPainterPathData; friend class QPainterPathStroker; friend class QPainterPathStrokerPrivate; friend class QMatrix; friend class QTransform; friend class QVectorPath; friend const QVectorPath &qtVectorPathForPath(const QPainterPath &); friend QDataStream &operator<<(QDataStream &, const QPainterPath &); friend QDataStream &operator>>(QDataStream &, QPainterPath &); }; class QPainterPathPrivate { public: friend class QPainterPath; friend class QPainterPathData; friend class QPainterPathStroker; friend class QPainterPathStrokerPrivate; friend class QMatrix; friend class QTransform; friend class QVectorPath; friend struct QPainterPathPrivateDeleter; friend QDataStream &operator<<(QDataStream &, const QPainterPath &); friend QDataStream &operator>>(QDataStream &, QPainterPath &); private: QAtomicInt ref; QVector elements; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QPainterPath::Element)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QPainterPath::Element"; } }; QDataStream &operator<<(QDataStream &, const QPainterPath &); QDataStream &operator>>(QDataStream &, QPainterPath &); class QPainterPathStroker { inline QPainterPathStrokerPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QPainterPathStrokerPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QPainterPathStrokerPrivate; public: QPainterPathStroker(); ~QPainterPathStroker(); void setWidth(qreal width); qreal width() const; void setCapStyle(Qt::PenCapStyle style); Qt::PenCapStyle capStyle() const; void setJoinStyle(Qt::PenJoinStyle style); Qt::PenJoinStyle joinStyle() const; void setMiterLimit(qreal length); qreal miterLimit() const; void setCurveThreshold(qreal threshold); qreal curveThreshold() const; void setDashPattern(Qt::PenStyle); void setDashPattern(const QVector &dashPattern); QVector dashPattern() const; void setDashOffset(qreal offset); qreal dashOffset() const; QPainterPath createStroke(const QPainterPath &path) const; private: friend class QX11PaintEngine; QScopedPointer d_ptr; }; inline void QPainterPath::moveTo(qreal x, qreal y) { moveTo(QPointF(x, y)); } inline void QPainterPath::lineTo(qreal x, qreal y) { lineTo(QPointF(x, y)); } inline void QPainterPath::arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLength) { arcTo(QRectF(x, y, w, h), startAngle, arcLength); } inline void QPainterPath::arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle) { arcMoveTo(QRectF(x, y, w, h), angle); } inline void QPainterPath::cubicTo(qreal ctrlPt1x, qreal ctrlPt1y, qreal ctrlPt2x, qreal ctrlPt2y, qreal endPtx, qreal endPty) { cubicTo(QPointF(ctrlPt1x, ctrlPt1y), QPointF(ctrlPt2x, ctrlPt2y), QPointF(endPtx, endPty)); } inline void QPainterPath::quadTo(qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty) { quadTo(QPointF(ctrlPtx, ctrlPty), QPointF(endPtx, endPty)); } inline void QPainterPath::addEllipse(qreal x, qreal y, qreal w, qreal h) { addEllipse(QRectF(x, y, w, h)); } inline void QPainterPath::addEllipse(const QPointF ¢er, qreal rx, qreal ry) { addEllipse(QRectF(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry)); } inline void QPainterPath::addRect(qreal x, qreal y, qreal w, qreal h) { addRect(QRectF(x, y, w, h)); } inline void QPainterPath::addRoundedRect(qreal x, qreal y, qreal w, qreal h, qreal xRadius, qreal yRadius, Qt::SizeMode mode) { addRoundedRect(QRectF(x, y, w, h), xRadius, yRadius, mode); } inline void QPainterPath::addRoundRect(qreal x, qreal y, qreal w, qreal h, int xRnd, int yRnd) { addRoundRect(QRectF(x, y, w, h), xRnd, yRnd); } inline void QPainterPath::addRoundRect(const QRectF &rect, int roundness) { int xRnd = roundness; int yRnd = roundness; if (rect.width() > rect.height()) xRnd = int(roundness * rect.height()/rect.width()); else yRnd = int(roundness * rect.width()/rect.height()); addRoundRect(rect, xRnd, yRnd); } inline void QPainterPath::addRoundRect(qreal x, qreal y, qreal w, qreal h, int roundness) { addRoundRect(QRectF(x, y, w, h), roundness); } inline void QPainterPath::addText(qreal x, qreal y, const QFont &f, const QString &text) { addText(QPointF(x, y), f, text); } inline void QPainterPath::translate(const QPointF &offset) { translate(offset.x(), offset.y()); } inline QPainterPath QPainterPath::translated(const QPointF &offset) const { return translated(offset.x(), offset.y()); } inline bool QPainterPath::isEmpty() const { return !d_ptr || (d_ptr->elements.size() == 1 && d_ptr->elements.first().type == MoveToElement); } inline int QPainterPath::elementCount() const { return d_ptr ? d_ptr->elements.size() : 0; } inline const QPainterPath::Element &QPainterPath::elementAt(int i) const { ((!(d_ptr)) ? qt_assert("d_ptr","/usr/include/qt4/QtGui/qpainterpath.h",397) : qt_noop()); ((!(i >= 0 && i < elementCount())) ? qt_assert("i >= 0 && i < elementCount()","/usr/include/qt4/QtGui/qpainterpath.h",398) : qt_noop()); return d_ptr->elements.at(i); } inline void QPainterPath::setElementPositionAt(int i, qreal x, qreal y) { ((!(d_ptr)) ? qt_assert("d_ptr","/usr/include/qt4/QtGui/qpainterpath.h",404) : qt_noop()); ((!(i >= 0 && i < elementCount())) ? qt_assert("i >= 0 && i < elementCount()","/usr/include/qt4/QtGui/qpainterpath.h",405) : qt_noop()); detach(); QPainterPath::Element &e = d_ptr->elements[i]; e.x = x; e.y = y; } inline void QPainterPath::detach() { if (d_ptr->ref != 1) detach_helper(); setDirty(true); } QDebug operator<<(QDebug, const QPainterPath &); # 46 "/usr/include/qt4/QtGui/qtransform.h" 2 # 57 "/usr/include/qt4/QtGui/qtransform.h" typedef QtValidLicenseForGuiModule QtGuiModule; class QVariant; class QTransform { public: enum TransformationType { TxNone = 0x00, TxTranslate = 0x01, TxScale = 0x02, TxRotate = 0x04, TxShear = 0x08, TxProject = 0x10 }; inline explicit QTransform(Qt::Initialization) : affine(Qt::Uninitialized) {} QTransform(); QTransform(qreal h11, qreal h12, qreal h13, qreal h21, qreal h22, qreal h23, qreal h31, qreal h32, qreal h33 = 1.0); QTransform(qreal h11, qreal h12, qreal h21, qreal h22, qreal dx, qreal dy); explicit QTransform(const QMatrix &mtx); bool isAffine() const; bool isIdentity() const; bool isInvertible() const; bool isScaling() const; bool isRotating() const; bool isTranslating() const; TransformationType type() const; inline qreal determinant() const; qreal det() const; qreal m11() const; qreal m12() const; qreal m13() const; qreal m21() const; qreal m22() const; qreal m23() const; qreal m31() const; qreal m32() const; qreal m33() const; qreal dx() const; qreal dy() const; void setMatrix(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33); QTransform inverted(bool *invertible = 0) const; QTransform adjoint() const; QTransform transposed() const; QTransform &translate(qreal dx, qreal dy); QTransform &scale(qreal sx, qreal sy); QTransform &shear(qreal sh, qreal sv); QTransform &rotate(qreal a, Qt::Axis axis = Qt::ZAxis); QTransform &rotateRadians(qreal a, Qt::Axis axis = Qt::ZAxis); static bool squareToQuad(const QPolygonF &square, QTransform &result); static bool quadToSquare(const QPolygonF &quad, QTransform &result); static bool quadToQuad(const QPolygonF &one, const QPolygonF &two, QTransform &result); bool operator==(const QTransform &) const; bool operator!=(const QTransform &) const; QTransform &operator*=(const QTransform &); QTransform operator*(const QTransform &o) const; QTransform &operator=(const QTransform &); operator QVariant() const; void reset(); QPoint map(const QPoint &p) const; QPointF map(const QPointF &p) const; QLine map(const QLine &l) const; QLineF map(const QLineF &l) const; QPolygonF map(const QPolygonF &a) const; QPolygon map(const QPolygon &a) const; QRegion map(const QRegion &r) const; QPainterPath map(const QPainterPath &p) const; QPolygon mapToPolygon(const QRect &r) const; QRect mapRect(const QRect &) const; QRectF mapRect(const QRectF &) const; void map(int x, int y, int *tx, int *ty) const; void map(qreal x, qreal y, qreal *tx, qreal *ty) const; const QMatrix &toAffine() const; QTransform &operator*=(qreal div); QTransform &operator/=(qreal div); QTransform &operator+=(qreal div); QTransform &operator-=(qreal div); static QTransform fromTranslate(qreal dx, qreal dy); static QTransform fromScale(qreal dx, qreal dy); private: inline QTransform(qreal h11, qreal h12, qreal h13, qreal h21, qreal h22, qreal h23, qreal h31, qreal h32, qreal h33, bool) : affine(h11, h12, h21, h22, h31, h32, true) , m_13(h13), m_23(h23), m_33(h33) , m_type(TxNone) , m_dirty(TxProject) {} inline QTransform(bool) : affine(true) , m_13(0), m_23(0), m_33(1) , m_type(TxNone) , m_dirty(TxNone) {} inline TransformationType inline_type() const; QMatrix affine; qreal m_13; qreal m_23; qreal m_33; mutable uint m_type : 5; mutable uint m_dirty : 5; class Private; Private *d; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTransform)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTransform"; } }; inline QTransform::TransformationType QTransform::inline_type() const { if (m_dirty == TxNone) return static_cast(m_type); return type(); } inline bool QTransform::isAffine() const { return inline_type() < TxProject; } inline bool QTransform::isIdentity() const { return inline_type() == TxNone; } inline bool QTransform::isInvertible() const { return !qFuzzyIsNull(determinant()); } inline bool QTransform::isScaling() const { return type() >= TxScale; } inline bool QTransform::isRotating() const { return inline_type() >= TxRotate; } inline bool QTransform::isTranslating() const { return inline_type() >= TxTranslate; } inline qreal QTransform::determinant() const { return affine._m11*(m_33*affine._m22-affine._dy*m_23) - affine._m21*(m_33*affine._m12-affine._dy*m_13)+affine._dx*(m_23*affine._m12-affine._m22*m_13); } inline qreal QTransform::det() const { return determinant(); } inline qreal QTransform::m11() const { return affine._m11; } inline qreal QTransform::m12() const { return affine._m12; } inline qreal QTransform::m13() const { return m_13; } inline qreal QTransform::m21() const { return affine._m21; } inline qreal QTransform::m22() const { return affine._m22; } inline qreal QTransform::m23() const { return m_23; } inline qreal QTransform::m31() const { return affine._dx; } inline qreal QTransform::m32() const { return affine._dy; } inline qreal QTransform::m33() const { return m_33; } inline qreal QTransform::dx() const { return affine._dx; } inline qreal QTransform::dy() const { return affine._dy; } inline QTransform &QTransform::operator*=(qreal num) { if (num == 1.) return *this; affine._m11 *= num; affine._m12 *= num; m_13 *= num; affine._m21 *= num; affine._m22 *= num; m_23 *= num; affine._dx *= num; affine._dy *= num; m_33 *= num; m_dirty |= TxScale; return *this; } inline QTransform &QTransform::operator/=(qreal div) { if (div == 0) return *this; div = 1/div; return operator*=(div); } inline QTransform &QTransform::operator+=(qreal num) { if (num == 0) return *this; affine._m11 += num; affine._m12 += num; m_13 += num; affine._m21 += num; affine._m22 += num; m_23 += num; affine._dx += num; affine._dy += num; m_33 += num; m_dirty |= TxProject; return *this; } inline QTransform &QTransform::operator-=(qreal num) { if (num == 0) return *this; affine._m11 -= num; affine._m12 -= num; m_13 -= num; affine._m21 -= num; affine._m22 -= num; m_23 -= num; affine._dx -= num; affine._dy -= num; m_33 -= num; m_dirty |= TxProject; return *this; } inline bool qFuzzyCompare(const QTransform& t1, const QTransform& t2) { return qFuzzyCompare(t1.m11(), t2.m11()) && qFuzzyCompare(t1.m12(), t2.m12()) && qFuzzyCompare(t1.m13(), t2.m13()) && qFuzzyCompare(t1.m21(), t2.m21()) && qFuzzyCompare(t1.m22(), t2.m22()) && qFuzzyCompare(t1.m23(), t2.m23()) && qFuzzyCompare(t1.m31(), t2.m31()) && qFuzzyCompare(t1.m32(), t2.m32()) && qFuzzyCompare(t1.m33(), t2.m33()); } QDataStream &operator<<(QDataStream &, const QTransform &); QDataStream &operator>>(QDataStream &, QTransform &); QDebug operator<<(QDebug, const QTransform &); inline QPoint operator*(const QPoint &p, const QTransform &m) { return m.map(p); } inline QPointF operator*(const QPointF &p, const QTransform &m) { return m.map(p); } inline QLineF operator*(const QLineF &l, const QTransform &m) { return m.map(l); } inline QLine operator*(const QLine &l, const QTransform &m) { return m.map(l); } inline QPolygon operator *(const QPolygon &a, const QTransform &m) { return m.map(a); } inline QPolygonF operator *(const QPolygonF &a, const QTransform &m) { return m.map(a); } inline QRegion operator *(const QRegion &r, const QTransform &m) { return m.map(r); } inline QPainterPath operator *(const QPainterPath &p, const QTransform &m) { return m.map(p); } inline QTransform operator *(const QTransform &a, qreal n) { QTransform t(a); t *= n; return t; } inline QTransform operator /(const QTransform &a, qreal n) { QTransform t(a); t /= n; return t; } inline QTransform operator +(const QTransform &a, qreal n) { QTransform t(a); t += n; return t; } inline QTransform operator -(const QTransform &a, qreal n) { QTransform t(a); t -= n; return t; } # 46 "/usr/include/qt4/QtGui/qimage.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QIODevice; class QStringList; class QMatrix; class QTransform; class QVariant; template class QList; template class QVector; struct QImageData; class QImageDataMisc; class QImageTextKeyLang { public: QImageTextKeyLang(const char* k, const char* l) : key(k), lang(l) { } QImageTextKeyLang() { } QByteArray key; QByteArray lang; bool operator< (const QImageTextKeyLang& other) const { return key < other.key || (key==other.key && lang < other.lang); } bool operator== (const QImageTextKeyLang& other) const { return key==other.key && lang==other.lang; } inline bool operator!= (const QImageTextKeyLang &other) const { return !operator==(other); } }; class QImage : public QPaintDevice { public: enum InvertMode { InvertRgb, InvertRgba }; enum Format { Format_Invalid, Format_Mono, Format_MonoLSB, Format_Indexed8, Format_RGB32, Format_ARGB32, Format_ARGB32_Premultiplied, Format_RGB16, Format_ARGB8565_Premultiplied, Format_RGB666, Format_ARGB6666_Premultiplied, Format_RGB555, Format_ARGB8555_Premultiplied, Format_RGB888, Format_RGB444, Format_ARGB4444_Premultiplied, # 119 "/usr/include/qt4/QtGui/qimage.h" NImageFormats }; QImage(); QImage(const QSize &size, Format format); QImage(int width, int height, Format format); QImage(uchar *data, int width, int height, Format format); QImage(const uchar *data, int width, int height, Format format); QImage(uchar *data, int width, int height, int bytesPerLine, Format format); QImage(const uchar *data, int width, int height, int bytesPerLine, Format format); explicit QImage(const char * const xpm[]); explicit QImage(const QString &fileName, const char *format = 0); explicit QImage(const char *fileName, const char *format = 0); QImage(const QImage &); ~QImage(); QImage &operator=(const QImage &); bool isNull() const; int devType() const; bool operator==(const QImage &) const; bool operator!=(const QImage &) const; operator QVariant() const; void detach(); bool isDetached() const; QImage copy(const QRect &rect = QRect()) const; inline QImage copy(int x, int y, int w, int h) const { return copy(QRect(x, y, w, h)); } Format format() const; QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) const __attribute__ ((warn_unused_result)); QImage convertToFormat(Format f, const QVector &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const __attribute__ ((warn_unused_result)); int width() const; int height() const; QSize size() const; QRect rect() const; int depth() const; int numColors() const; int colorCount() const; QRgb color(int i) const; void setColor(int i, QRgb c); void setNumColors(int); void setColorCount(int); bool allGray() const; bool isGrayscale() const; uchar *bits(); const uchar *bits() const; int numBytes() const; int byteCount() const; uchar *scanLine(int); const uchar *scanLine(int) const; int bytesPerLine() const; bool valid(int x, int y) const; bool valid(const QPoint &pt) const; int pixelIndex(int x, int y) const; int pixelIndex(const QPoint &pt) const; QRgb pixel(int x, int y) const; QRgb pixel(const QPoint &pt) const; void setPixel(int x, int y, uint index_or_rgb); void setPixel(const QPoint &pt, uint index_or_rgb); QVector colorTable() const; void setColorTable(const QVector colors); void fill(uint pixel); bool hasAlphaChannel() const; void setAlphaChannel(const QImage &alphaChannel); QImage alphaChannel() const; QImage createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const; QImage createHeuristicMask(bool clipTight = true) const; QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const; inline QImage scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, Qt::TransformationMode mode = Qt::FastTransformation) const { return scaled(QSize(w, h), aspectMode, mode); } QImage scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, Qt::TransformationMode mode = Qt::FastTransformation) const; QImage scaledToWidth(int w, Qt::TransformationMode mode = Qt::FastTransformation) const; QImage scaledToHeight(int h, Qt::TransformationMode mode = Qt::FastTransformation) const; QImage transformed(const QMatrix &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; static QMatrix trueMatrix(const QMatrix &, int w, int h); QImage transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; static QTransform trueMatrix(const QTransform &, int w, int h); QImage mirrored(bool horizontally = false, bool vertically = true) const; QImage rgbSwapped() const; void invertPixels(InvertMode = InvertRgb); bool load(QIODevice *device, const char* format); bool load(const QString &fileName, const char* format=0); bool loadFromData(const uchar *buf, int len, const char *format = 0); inline bool loadFromData(const QByteArray &data, const char* aformat=0) { return loadFromData(reinterpret_cast(data.constData()), data.size(), aformat); } bool save(const QString &fileName, const char* format=0, int quality=-1) const; bool save(QIODevice *device, const char* format=0, int quality=-1) const; static QImage fromData(const uchar *data, int size, const char *format = 0); inline static QImage fromData(const QByteArray &data, const char *format = 0) { return fromData(reinterpret_cast(data.constData()), data.size(), format); } int serialNumber() const; qint64 cacheKey() const; QPaintEngine *paintEngine() const; int dotsPerMeterX() const; int dotsPerMeterY() const; void setDotsPerMeterX(int); void setDotsPerMeterY(int); QPoint offset() const; void setOffset(const QPoint&); QStringList textKeys() const; QString text(const QString &key = QString()) const; void setText(const QString &key, const QString &value); QString text(const char* key, const char* lang=0) const; QList textList() const; QStringList textLanguages() const; QString text(const QImageTextKeyLang&) const; void setText(const char* key, const char* lang, const QString&); # 318 "/usr/include/qt4/QtGui/qimage.h" public: virtual int metric(PaintDeviceMetric metric) const; private: friend class QWSOnScreenSurface; QImageData *d; friend class QRasterPixmapData; friend class QPixmapCacheEntry; friend qint64 qt_image_id(const QImage &image); friend const QVector *qt_image_colortable(const QImage &image); public: typedef QImageData * DataPtr; inline DataPtr &data_ptr() { return d; } }; template <> inline bool qIsDetached(QImage &t) { return t.isDetached(); } template <> inline void qSwap(QImage &value1, QImage &value2) { qSwap(value1.data_ptr(), value2.data_ptr()); } template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QImage)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QImage"; } }; inline bool QImage::valid(const QPoint &pt) const { return valid(pt.x(), pt.y()); } inline int QImage::pixelIndex(const QPoint &pt) const { return pixelIndex(pt.x(), pt.y());} inline QRgb QImage::pixel(const QPoint &pt) const { return pixel(pt.x(), pt.y()); } inline void QImage::setPixel(const QPoint &pt, uint index_or_rgb) { setPixel(pt.x(), pt.y(), index_or_rgb); } QDataStream &operator<<(QDataStream &, const QImage &); QDataStream &operator>>(QDataStream &, QImage &); # 51 "/usr/include/qt4/QtGui/qpixmap.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QImageWriter; class QColor; class QVariant; class QX11Info; class QPixmapData; class QPixmap : public QPaintDevice { public: QPixmap(); explicit QPixmap(QPixmapData *data); QPixmap(int w, int h); QPixmap(const QSize &); QPixmap(const QString& fileName, const char *format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); QPixmap(const char * const xpm[]); QPixmap(const QPixmap &); ~QPixmap(); QPixmap &operator=(const QPixmap &); operator QVariant() const; bool isNull() const; int devType() const; int width() const; int height() const; QSize size() const; QRect rect() const; int depth() const; static int defaultDepth(); void fill(const QColor &fillColor = Qt::white); void fill(const QWidget *widget, const QPoint &ofs); inline void fill(const QWidget *widget, int xofs, int yofs) { fill(widget, QPoint(xofs, yofs)); } QBitmap mask() const; void setMask(const QBitmap &); QPixmap alphaChannel() const; void setAlphaChannel(const QPixmap &); bool hasAlpha() const; bool hasAlphaChannel() const; QBitmap createHeuristicMask(bool clipTight = true) const; QBitmap createMaskFromColor(const QColor &maskColor) const; QBitmap createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode) const; static QPixmap grabWindow(WId, int x=0, int y=0, int w=-1, int h=-1); static QPixmap grabWidget(QWidget *widget, const QRect &rect); static inline QPixmap grabWidget(QWidget *widget, int x=0, int y=0, int w=-1, int h=-1) { return grabWidget(widget, QRect(x, y, w, h)); } inline QPixmap scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, Qt::TransformationMode mode = Qt::FastTransformation) const { return scaled(QSize(w, h), aspectMode, mode); } QPixmap scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, Qt::TransformationMode mode = Qt::FastTransformation) const; QPixmap scaledToWidth(int w, Qt::TransformationMode mode = Qt::FastTransformation) const; QPixmap scaledToHeight(int h, Qt::TransformationMode mode = Qt::FastTransformation) const; QPixmap transformed(const QMatrix &, Qt::TransformationMode mode = Qt::FastTransformation) const; static QMatrix trueMatrix(const QMatrix &m, int w, int h); QPixmap transformed(const QTransform &, Qt::TransformationMode mode = Qt::FastTransformation) const; static QTransform trueMatrix(const QTransform &m, int w, int h); QImage toImage() const; static QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); bool load(const QString& fileName, const char *format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); bool loadFromData(const uchar *buf, uint len, const char* format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); inline bool loadFromData(const QByteArray &data, const char* format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor); bool save(const QString& fileName, const char* format = 0, int quality = -1) const; bool save(QIODevice* device, const char* format = 0, int quality = -1) const; # 170 "/usr/include/qt4/QtGui/qpixmap.h" inline QPixmap copy(int x, int y, int width, int height) const; QPixmap copy(const QRect &rect = QRect()) const; inline void scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = 0); void scroll(int dx, int dy, const QRect &rect, QRegion *exposed = 0); int serialNumber() const; qint64 cacheKey() const; bool isDetached() const; void detach(); bool isQBitmap() const; # 197 "/usr/include/qt4/QtGui/qpixmap.h" enum ShareMode { ImplicitlyShared, ExplicitlyShared }; static QPixmap fromX11Pixmap(Qt::HANDLE pixmap, ShareMode mode = ImplicitlyShared); static int x11SetDefaultScreen(int screen); void x11SetScreen(int screen); const QX11Info &x11Info() const; Qt::HANDLE x11PictureHandle() const; Qt::HANDLE handle() const; QPaintEngine *paintEngine() const; inline bool operator!() const { return isNull(); } public: int metric(PaintDeviceMetric) const; # 239 "/usr/include/qt4/QtGui/qpixmap.h" private: QExplicitlySharedDataPointer data; bool doImageIO(QImageWriter *io, int quality) const; enum Type { PixmapType, BitmapType }; QPixmap(const QSize &s, Type); void init(int, int, Type = PixmapType); QPixmap(const QSize &s, int type); void init(int, int, int); void deref(); friend class QPixmapData; friend class QX11PixmapData; friend class QMacPixmapData; friend class QS60PixmapData; friend class QBitmap; friend class QPaintDevice; friend class QPainter; friend class QGLWidget; friend class QX11PaintEngine; friend class QCoreGraphicsPaintEngine; friend class QWidgetPrivate; friend class QRasterPaintEngine; friend class QRasterBuffer; friend class QPixmapCacheEntry; friend QDataStream &operator>>(QDataStream &, QPixmap &); friend qint64 qt_pixmap_id(const QPixmap &pixmap); public: QPixmapData* pixmapData() const; public: typedef QExplicitlySharedDataPointer DataPtr; inline DataPtr &data_ptr() { return data; } }; template <> inline bool qIsDetached(QPixmap &t) { return t.isDetached(); } template <> inline void qSwap(QPixmap &value1, QPixmap &value2) { qSwap(value1.data_ptr(), value2.data_ptr()); } inline QPixmap QPixmap::copy(int ax, int ay, int awidth, int aheight) const { return copy(QRect(ax, ay, awidth, aheight)); } inline void QPixmap::scroll(int dx, int dy, int ax, int ay, int awidth, int aheight, QRegion *exposed) { scroll(dx, dy, QRect(ax, ay, awidth, aheight), exposed); } inline bool QPixmap::loadFromData(const QByteArray &buf, const char *format, Qt::ImageConversionFlags flags) { return loadFromData(reinterpret_cast(buf.constData()), buf.size(), format, flags); } QDataStream &operator<<(QDataStream &, const QPixmap &); QDataStream &operator>>(QDataStream &, QPixmap &); # 325 "/usr/include/qt4/QtGui/qpixmap.h" # 27 "/usr/include/qt4/QtWebKit/qwebsettings.h" 2 # 1 "/usr/include/qt4/QtGui/qicon.h" 1 # 50 "/usr/include/qt4/QtGui/qicon.h" typedef QtValidLicenseForGuiModule QtGuiModule; class QIconPrivate; class QIconEngine; class QIconEngineV2; class QIcon { public: enum Mode { Normal, Disabled, Active, Selected }; enum State { On, Off }; QIcon(); QIcon(const QPixmap &pixmap); QIcon(const QIcon &other); explicit QIcon(const QString &fileName); explicit QIcon(QIconEngine *engine); explicit QIcon(QIconEngineV2 *engine); ~QIcon(); QIcon &operator=(const QIcon &other); operator QVariant() const; QPixmap pixmap(const QSize &size, Mode mode = Normal, State state = Off) const; inline QPixmap pixmap(int w, int h, Mode mode = Normal, State state = Off) const { return pixmap(QSize(w, h), mode, state); } inline QPixmap pixmap(int extent, Mode mode = Normal, State state = Off) const { return pixmap(QSize(extent, extent), mode, state); } QSize actualSize(const QSize &size, Mode mode = Normal, State state = Off) const; void paint(QPainter *painter, const QRect &rect, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off) const; inline void paint(QPainter *painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off) const { paint(painter, QRect(x, y, w, h), alignment, mode, state); } bool isNull() const; bool isDetached() const; void detach(); int serialNumber() const; qint64 cacheKey() const; void addPixmap(const QPixmap &pixmap, Mode mode = Normal, State state = Off); void addFile(const QString &fileName, const QSize &size = QSize(), Mode mode = Normal, State state = Off); QList availableSizes(Mode mode = Normal, State state = Off) const; static QIcon fromTheme(const QString &name, const QIcon &fallback = QIcon()); static bool hasThemeIcon(const QString &name); static QStringList themeSearchPaths(); static void setThemeSearchPaths(const QStringList &searchpath); static QString themeName(); static void setThemeName(const QString &path); # 124 "/usr/include/qt4/QtGui/qicon.h" private: QIconPrivate *d; friend QDataStream &operator<<(QDataStream &, const QIcon &); friend QDataStream &operator>>(QDataStream &, QIcon &); public: typedef QIconPrivate * DataPtr; inline DataPtr &data_ptr() { return d; } }; template <> inline bool qIsDetached(QIcon &t) { return t.isDetached(); } template <> inline void qSwap(QIcon &value1, QIcon &value2) { qSwap(value1.data_ptr(), value2.data_ptr()); } template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QIcon)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QIcon"; } }; QDataStream &operator<<(QDataStream &, const QIcon &); QDataStream &operator>>(QDataStream &, QIcon &); # 28 "/usr/include/qt4/QtWebKit/qwebsettings.h" 2 namespace WebCore { class Settings; } class QWebPage; class QWebPluginDatabase; class QWebSettingsPrivate; class QUrl; class QWebSettings { public: enum FontFamily { StandardFont, FixedFont, SerifFont, SansSerifFont, CursiveFont, FantasyFont }; enum WebAttribute { AutoLoadImages, JavascriptEnabled, JavaEnabled, PluginsEnabled, PrivateBrowsingEnabled, JavascriptCanOpenWindows, JavascriptCanAccessClipboard, DeveloperExtrasEnabled, LinksIncludedInFocusChain, ZoomTextOnly, PrintElementBackgrounds, OfflineStorageDatabaseEnabled, OfflineWebApplicationCacheEnabled, LocalStorageEnabled, LocalStorageDatabaseEnabled = LocalStorageEnabled, LocalContentCanAccessRemoteUrls, DnsPrefetchEnabled }; enum WebGraphic { MissingImageGraphic, MissingPluginGraphic, DefaultFrameIconGraphic, TextAreaSizeGripCornerGraphic }; enum FontSize { MinimumFontSize, MinimumLogicalFontSize, DefaultFontSize, DefaultFixedFontSize }; static QWebSettings *globalSettings(); void setFontFamily(FontFamily which, const QString &family); QString fontFamily(FontFamily which) const; void resetFontFamily(FontFamily which); void setFontSize(FontSize type, int size); int fontSize(FontSize type) const; void resetFontSize(FontSize type); void setAttribute(WebAttribute attr, bool on); bool testAttribute(WebAttribute attr) const; void resetAttribute(WebAttribute attr); void setUserStyleSheetUrl(const QUrl &location); QUrl userStyleSheetUrl() const; void setDefaultTextEncoding(const QString &encoding); QString defaultTextEncoding() const; static void setIconDatabasePath(const QString &location); static QString iconDatabasePath(); static void clearIconDatabase(); static QIcon iconForUrl(const QUrl &url); static void setWebGraphic(WebGraphic type, const QPixmap &graphic); static QPixmap webGraphic(WebGraphic type); static void setMaximumPagesInCache(int pages); static int maximumPagesInCache(); static void setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity); static void setOfflineStoragePath(const QString& path); static QString offlineStoragePath(); static void setOfflineStorageDefaultQuota(qint64 maximumSize); static qint64 offlineStorageDefaultQuota(); static void setOfflineWebApplicationCachePath(const QString& path); static QString offlineWebApplicationCachePath(); static void setOfflineWebApplicationCacheQuota(qint64 maximumSize); static qint64 offlineWebApplicationCacheQuota(); void setLocalStoragePath(const QString& path); QString localStoragePath() const; static void clearMemoryCaches(); static void enablePersistentStorage(const QString& path = QString()); inline QWebSettingsPrivate* handle() const { return d; } private: friend class QWebPagePrivate; friend class QWebSettingsPrivate; QWebSettings(const QWebSettings &); QWebSettings &operator=(const QWebSettings &); QWebSettings(); QWebSettings(WebCore::Settings *settings); ~QWebSettings(); QWebSettingsPrivate *d; }; # 25 "/usr/include/qt4/QtWebKit/qwebpage.h" 2 # 1 "/usr/include/qt4/QtCore/qurl.h" 1 # 47 "/usr/include/qt4/QtCore/qurl.h" # 1 "/usr/include/qt4/QtCore/qpair.h" 1 # 47 "/usr/include/qt4/QtCore/qpair.h" typedef QtValidLicenseForCoreModule QtCoreModule; template struct QPair { typedef T1 first_type; typedef T2 second_type; QPair() : first(T1()), second(T2()) {} QPair(const T1 &t1, const T2 &t2) : first(t1), second(t2) {} QPair &operator=(const QPair &other) { first = other.first; second = other.second; return *this; } T1 first; T2 second; }; template inline bool operator==(const QPair &p1, const QPair &p2) { return p1.first == p2.first && p1.second == p2.second; } template inline bool operator!=(const QPair &p1, const QPair &p2) { return !(p1 == p2); } template inline bool operator<(const QPair &p1, const QPair &p2) { return p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second); } template inline bool operator>(const QPair &p1, const QPair &p2) { return p2 < p1; } template inline bool operator<=(const QPair &p1, const QPair &p2) { return !(p2 < p1); } template inline bool operator>=(const QPair &p1, const QPair &p2) { return !(p1 < p2); } template QPair qMakePair(const T1 &x, const T2 &y) { return QPair(x, y); } template inline QDataStream& operator>>(QDataStream& s, QPair& p) { s >> p.first >> p.second; return s; } template inline QDataStream& operator<<(QDataStream& s, const QPair& p) { s << p.first << p.second; return s; } # 48 "/usr/include/qt4/QtCore/qurl.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QUrlPrivate; class QDataStream; class QUrl { public: enum ParsingMode { TolerantMode, StrictMode }; enum FormattingOption { None = 0x0, RemoveScheme = 0x1, RemovePassword = 0x2, RemoveUserInfo = RemovePassword | 0x4, RemovePort = 0x8, RemoveAuthority = RemoveUserInfo | RemovePort | 0x10, RemovePath = 0x20, RemoveQuery = 0x40, RemoveFragment = 0x80, StripTrailingSlash = 0x10000 }; typedef QFlags FormattingOptions; QUrl(); QUrl(const QString &url); QUrl(const QString &url, ParsingMode mode); QUrl(const QUrl ©); QUrl &operator =(const QUrl ©); QUrl &operator =(const QString &url); ~QUrl(); void setUrl(const QString &url); void setUrl(const QString &url, ParsingMode mode); void setEncodedUrl(const QByteArray &url); void setEncodedUrl(const QByteArray &url, ParsingMode mode); bool isValid() const; bool isEmpty() const; void clear(); void setScheme(const QString &scheme); QString scheme() const; void setAuthority(const QString &authority); QString authority() const; void setUserInfo(const QString &userInfo); QString userInfo() const; void setUserName(const QString &userName); QString userName() const; void setEncodedUserName(const QByteArray &userName); QByteArray encodedUserName() const; void setPassword(const QString &password); QString password() const; void setEncodedPassword(const QByteArray &password); QByteArray encodedPassword() const; void setHost(const QString &host); QString host() const; void setEncodedHost(const QByteArray &host); QByteArray encodedHost() const; void setPort(int port); int port() const; int port(int defaultPort) const; void setPath(const QString &path); QString path() const; void setEncodedPath(const QByteArray &path); QByteArray encodedPath() const; bool hasQuery() const; void setEncodedQuery(const QByteArray &query); QByteArray encodedQuery() const; void setQueryDelimiters(char valueDelimiter, char pairDelimiter); char queryValueDelimiter() const; char queryPairDelimiter() const; void setQueryItems(const QList > &query); void addQueryItem(const QString &key, const QString &value); QList > queryItems() const; bool hasQueryItem(const QString &key) const; QString queryItemValue(const QString &key) const; QStringList allQueryItemValues(const QString &key) const; void removeQueryItem(const QString &key); void removeAllQueryItems(const QString &key); void setEncodedQueryItems(const QList > &query); void addEncodedQueryItem(const QByteArray &key, const QByteArray &value); QList > encodedQueryItems() const; bool hasEncodedQueryItem(const QByteArray &key) const; QByteArray encodedQueryItemValue(const QByteArray &key) const; QList allEncodedQueryItemValues(const QByteArray &key) const; void removeEncodedQueryItem(const QByteArray &key); void removeAllEncodedQueryItems(const QByteArray &key); void setFragment(const QString &fragment); QString fragment() const; void setEncodedFragment(const QByteArray &fragment); QByteArray encodedFragment() const; bool hasFragment() const; QUrl resolved(const QUrl &relative) const; bool isRelative() const; bool isParentOf(const QUrl &url) const; static QUrl fromLocalFile(const QString &localfile); QString toLocalFile() const; QString toString(FormattingOptions options = None) const; QByteArray toEncoded(FormattingOptions options = None) const; static QUrl fromEncoded(const QByteArray &url); static QUrl fromEncoded(const QByteArray &url, ParsingMode mode); static QUrl fromUserInput(const QString &userInput); void detach(); bool isDetached() const; bool operator <(const QUrl &url) const; bool operator ==(const QUrl &url) const; bool operator !=(const QUrl &url) const; static QString fromPercentEncoding(const QByteArray &); static QByteArray toPercentEncoding(const QString &, const QByteArray &exclude = QByteArray(), const QByteArray &include = QByteArray()); static QString fromPunycode(const QByteArray &); static QByteArray toPunycode(const QString &); static QString fromAce(const QByteArray &); static QByteArray toAce(const QString &); static QStringList idnWhitelist(); static void setIdnWhitelist(const QStringList &); # 257 "/usr/include/qt4/QtCore/qurl.h" QString errorString() const; public: private: QUrlPrivate *d; public: typedef QUrlPrivate * DataPtr; inline DataPtr &data_ptr() { return d; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QUrl)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QUrl"; } }; template <> inline bool qIsDetached(QUrl &t) { return t.isDetached(); } template <> inline void qSwap(QUrl &value1, QUrl &value2) { qSwap(value1.data_ptr(), value2.data_ptr()); } inline QFlags operator|(QUrl::FormattingOptions::enum_type f1, QUrl::FormattingOptions::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QUrl::FormattingOptions::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QUrl::FormattingOptions::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } QDataStream &operator<<(QDataStream &, const QUrl &); QDataStream &operator>>(QDataStream &, QUrl &); QDebug operator<<(QDebug, const QUrl &); # 29 "/usr/include/qt4/QtWebKit/qwebpage.h" 2 # 1 "/usr/include/qt4/QtGui/qwidget.h" 1 # 47 "/usr/include/qt4/QtGui/qwidget.h" # 1 "/usr/include/qt4/QtCore/qmargins.h" 1 # 47 "/usr/include/qt4/QtCore/qmargins.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QMargins { public: QMargins(); QMargins(int left, int top, int right, int bottom); bool isNull() const; int left() const; int top() const; int right() const; int bottom() const; void setLeft(int left); void setTop(int top); void setRight(int right); void setBottom(int bottom); private: int m_left; int m_top; int m_right; int m_bottom; friend inline bool operator==(const QMargins &, const QMargins &); friend inline bool operator!=(const QMargins &, const QMargins &); }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QMargins)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QMargins"; } }; inline QMargins::QMargins() { m_top = m_bottom = m_left = m_right = 0; } inline QMargins::QMargins(int aleft, int atop, int aright, int abottom) : m_left(aleft), m_top(atop), m_right(aright), m_bottom(abottom) {} inline bool QMargins::isNull() const { return m_left==0 && m_top==0 && m_right==0 && m_bottom==0; } inline int QMargins::left() const { return m_left; } inline int QMargins::top() const { return m_top; } inline int QMargins::right() const { return m_right; } inline int QMargins::bottom() const { return m_bottom; } inline void QMargins::setLeft(int aleft) { m_left = aleft; } inline void QMargins::setTop(int atop) { m_top = atop; } inline void QMargins::setRight(int aright) { m_right = aright; } inline void QMargins::setBottom(int abottom) { m_bottom = abottom; } inline bool operator==(const QMargins &m1, const QMargins &m2) { return m1.m_left == m2.m_left && m1.m_top == m2.m_top && m1.m_right == m2.m_right && m1.m_bottom == m2.m_bottom; } inline bool operator!=(const QMargins &m1, const QMargins &m2) { return m1.m_left != m2.m_left || m1.m_top != m2.m_top || m1.m_right != m2.m_right || m1.m_bottom != m2.m_bottom; } QDebug operator<<(QDebug, const QMargins &); # 48 "/usr/include/qt4/QtGui/qwidget.h" 2 # 1 "/usr/include/qt4/QtGui/qpalette.h" 1 # 47 "/usr/include/qt4/QtGui/qpalette.h" # 1 "/usr/include/qt4/QtGui/qbrush.h" 1 # 64 "/usr/include/qt4/QtGui/qbrush.h" typedef QtValidLicenseForGuiModule QtGuiModule; struct QBrushData; class QPixmap; class QGradient; class QVariant; struct QBrushDataPointerDeleter; class QBrush { public: QBrush(); QBrush(Qt::BrushStyle bs); QBrush(const QColor &color, Qt::BrushStyle bs=Qt::SolidPattern); QBrush(Qt::GlobalColor color, Qt::BrushStyle bs=Qt::SolidPattern); QBrush(const QColor &color, const QPixmap &pixmap); QBrush(Qt::GlobalColor color, const QPixmap &pixmap); QBrush(const QPixmap &pixmap); QBrush(const QImage &image); QBrush(const QBrush &brush); QBrush(const QGradient &gradient); ~QBrush(); QBrush &operator=(const QBrush &brush); operator QVariant() const; inline Qt::BrushStyle style() const; void setStyle(Qt::BrushStyle); inline const QMatrix &matrix() const; void setMatrix(const QMatrix &mat); inline QTransform transform() const; void setTransform(const QTransform &); QPixmap texture() const; void setTexture(const QPixmap &pixmap); QImage textureImage() const; void setTextureImage(const QImage &image); inline const QColor &color() const; void setColor(const QColor &color); inline void setColor(Qt::GlobalColor color); const QGradient *gradient() const; bool isOpaque() const; bool operator==(const QBrush &b) const; inline bool operator!=(const QBrush &b) const { return !(operator==(b)); } private: friend class QX11PaintEngine; friend class QRasterPaintEngine; friend class QRasterPaintEnginePrivate; friend struct QSpanData; friend class QPainter; friend bool qHasPixmapTexture(const QBrush& brush); void detach(Qt::BrushStyle newStyle); void init(const QColor &color, Qt::BrushStyle bs); QScopedPointer d; void cleanUp(QBrushData *x); public: inline bool isDetached() const; typedef QScopedPointer DataPtr; inline DataPtr &data_ptr() { return d; } }; inline void QBrush::setColor(Qt::GlobalColor acolor) { setColor(QColor(acolor)); } template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QBrush)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QBrush"; } }; template <> inline bool qIsDetached(QBrush &t) { return t.isDetached(); } template <> inline void qSwap(QBrush &value1, QBrush &value2) { qSwap(value1.data_ptr(), value2.data_ptr()); } QDataStream &operator<<(QDataStream &, const QBrush &); QDataStream &operator>>(QDataStream &, QBrush &); QDebug operator<<(QDebug, const QBrush &); struct QBrushData { QAtomicInt ref; Qt::BrushStyle style; QColor color; QTransform transform; }; inline Qt::BrushStyle QBrush::style() const { return d->style; } inline const QColor &QBrush::color() const { return d->color; } inline const QMatrix &QBrush::matrix() const { return d->transform.toAffine(); } inline QTransform QBrush::transform() const { return d->transform; } inline bool QBrush::isDetached() const { return d->ref == 1; } # 190 "/usr/include/qt4/QtGui/qbrush.h" class QGradientPrivate; typedef QPair QGradientStop; typedef QVector QGradientStops; class QGradient { public: static const QMetaObject staticMetaObject; private: public: enum Type { LinearGradient, RadialGradient, ConicalGradient, NoGradient }; enum Spread { PadSpread, ReflectSpread, RepeatSpread }; enum CoordinateMode { LogicalMode, StretchToDeviceMode, ObjectBoundingMode }; enum InterpolationMode { ColorInterpolation, ComponentInterpolation }; QGradient(); Type type() const { return m_type; } inline void setSpread(Spread spread); Spread spread() const { return m_spread; } void setColorAt(qreal pos, const QColor &color); void setStops(const QGradientStops &stops); QGradientStops stops() const; CoordinateMode coordinateMode() const; void setCoordinateMode(CoordinateMode mode); InterpolationMode interpolationMode() const; void setInterpolationMode(InterpolationMode mode); bool operator==(const QGradient &gradient) const; inline bool operator!=(const QGradient &other) const { return !operator==(other); } bool operator==(const QGradient &gradient); private: friend class QLinearGradient; friend class QRadialGradient; friend class QConicalGradient; Type m_type; Spread m_spread; QGradientStops m_stops; union { struct { qreal x1, y1, x2, y2; } linear; struct { qreal cx, cy, fx, fy, radius; } radial; struct { qreal cx, cy, angle; } conical; } m_data; void *dummy; }; inline void QGradient::setSpread(Spread aspread) { m_spread = aspread; } class QLinearGradient : public QGradient { public: QLinearGradient(); QLinearGradient(const QPointF &start, const QPointF &finalStop); QLinearGradient(qreal xStart, qreal yStart, qreal xFinalStop, qreal yFinalStop); QPointF start() const; void setStart(const QPointF &start); inline void setStart(qreal x, qreal y) { setStart(QPointF(x, y)); } QPointF finalStop() const; void setFinalStop(const QPointF &stop); inline void setFinalStop(qreal x, qreal y) { setFinalStop(QPointF(x, y)); } }; class QRadialGradient : public QGradient { public: QRadialGradient(); QRadialGradient(const QPointF ¢er, qreal radius, const QPointF &focalPoint); QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy); QRadialGradient(const QPointF ¢er, qreal radius); QRadialGradient(qreal cx, qreal cy, qreal radius); QPointF center() const; void setCenter(const QPointF ¢er); inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); } QPointF focalPoint() const; void setFocalPoint(const QPointF &focalPoint); inline void setFocalPoint(qreal x, qreal y) { setFocalPoint(QPointF(x, y)); } qreal radius() const; void setRadius(qreal radius); }; class QConicalGradient : public QGradient { public: QConicalGradient(); QConicalGradient(const QPointF ¢er, qreal startAngle); QConicalGradient(qreal cx, qreal cy, qreal startAngle); QPointF center() const; void setCenter(const QPointF ¢er); inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); } qreal angle() const; void setAngle(qreal angle); }; # 48 "/usr/include/qt4/QtGui/qpalette.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QPalettePrivate; class QVariant; class QPalette { public: static const QMetaObject staticMetaObject; private: public: QPalette(); QPalette(const QColor &button); QPalette(Qt::GlobalColor button); QPalette(const QColor &button, const QColor &window); QPalette(const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &window); QPalette(const QColor &windowText, const QColor &window, const QColor &light, const QColor &dark, const QColor &mid, const QColor &text, const QColor &base); QPalette(const QPalette &palette); ~QPalette(); QPalette &operator=(const QPalette &palette); operator QVariant() const; enum ColorGroup { Active, Disabled, Inactive, NColorGroups, Current, All, Normal = Active }; enum ColorRole { WindowText, Button, Light, Midlight, Dark, Mid, Text, BrightText, ButtonText, Base, Window, Shadow, Highlight, HighlightedText, Link, LinkVisited, AlternateBase, NoRole, ToolTipBase, ToolTipText, NColorRoles = ToolTipText + 1, Foreground = WindowText, Background = Window }; inline ColorGroup currentColorGroup() const { return static_cast(current_group); } inline void setCurrentColorGroup(ColorGroup cg) { current_group = cg; } inline const QColor &color(ColorGroup cg, ColorRole cr) const { return brush(cg, cr).color(); } const QBrush &brush(ColorGroup cg, ColorRole cr) const; inline void setColor(ColorGroup cg, ColorRole cr, const QColor &color); inline void setColor(ColorRole cr, const QColor &color); inline void setBrush(ColorRole cr, const QBrush &brush); bool isBrushSet(ColorGroup cg, ColorRole cr) const; void setBrush(ColorGroup cg, ColorRole cr, const QBrush &brush); void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &window); bool isEqual(ColorGroup cr1, ColorGroup cr2) const; inline const QColor &color(ColorRole cr) const { return color(Current, cr); } inline const QBrush &brush(ColorRole cr) const { return brush(Current, cr); } inline const QBrush &foreground() const { return brush(WindowText); } inline const QBrush &windowText() const { return brush(WindowText); } inline const QBrush &button() const { return brush(Button); } inline const QBrush &light() const { return brush(Light); } inline const QBrush &dark() const { return brush(Dark); } inline const QBrush &mid() const { return brush(Mid); } inline const QBrush &text() const { return brush(Text); } inline const QBrush &base() const { return brush(Base); } inline const QBrush &alternateBase() const { return brush(AlternateBase); } inline const QBrush &toolTipBase() const { return brush(ToolTipBase); } inline const QBrush &toolTipText() const { return brush(ToolTipText); } inline const QBrush &background() const { return brush(Window); } inline const QBrush &window() const { return brush(Window); } inline const QBrush &midlight() const { return brush(Midlight); } inline const QBrush &brightText() const { return brush(BrightText); } inline const QBrush &buttonText() const { return brush(ButtonText); } inline const QBrush &shadow() const { return brush(Shadow); } inline const QBrush &highlight() const { return brush(Highlight); } inline const QBrush &highlightedText() const { return brush(HighlightedText); } inline const QBrush &link() const { return brush(Link); } inline const QBrush &linkVisited() const { return brush(LinkVisited); } # 150 "/usr/include/qt4/QtGui/qpalette.h" bool operator==(const QPalette &p) const; inline bool operator!=(const QPalette &p) const { return !(operator==(p)); } bool isCopyOf(const QPalette &p) const; int serialNumber() const; qint64 cacheKey() const; QPalette resolve(const QPalette &) const; inline uint resolve() const { return resolve_mask; } inline void resolve(uint mask) { resolve_mask = mask; } private: void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &alternate_base, const QBrush &window, const QBrush &midlight, const QBrush &button_text, const QBrush &shadow, const QBrush &highlight, const QBrush &highlighted_text, const QBrush &link, const QBrush &link_visited); void setColorGroup(ColorGroup cr, const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &alternate_base, const QBrush &window, const QBrush &midlight, const QBrush &button_text, const QBrush &shadow, const QBrush &highlight, const QBrush &highlighted_text, const QBrush &link, const QBrush &link_visited, const QBrush &toolTipBase, const QBrush &toolTipText); void init(); void detach(); QPalettePrivate *d; uint current_group : 4; uint resolve_mask : 28; friend QDataStream &operator<<(QDataStream &s, const QPalette &p); }; inline void QPalette::setColor(ColorGroup acg, ColorRole acr, const QColor &acolor) { setBrush(acg, acr, QBrush(acolor)); } inline void QPalette::setColor(ColorRole acr, const QColor &acolor) { setColor(All, acr, acolor); } inline void QPalette::setBrush(ColorRole acr, const QBrush &abrush) { setBrush(All, acr, abrush); } # 254 "/usr/include/qt4/QtGui/qpalette.h" QDataStream &operator<<(QDataStream &ds, const QPalette &p); QDataStream &operator>>(QDataStream &ds, QPalette &p); # 50 "/usr/include/qt4/QtGui/qwidget.h" 2 # 1 "/usr/include/qt4/QtGui/qfont.h" 1 # 50 "/usr/include/qt4/QtGui/qfont.h" typedef struct FT_FaceRec_* FT_Face; typedef QtValidLicenseForGuiModule QtGuiModule; class QFontPrivate; class QStringList; class QVariant; class Q3TextFormatCollection; class QFont { public: static const QMetaObject staticMetaObject; private: public: enum StyleHint { Helvetica, SansSerif = Helvetica, Times, Serif = Times, Courier, TypeWriter = Courier, OldEnglish, Decorative = OldEnglish, System, AnyStyle }; enum StyleStrategy { PreferDefault = 0x0001, PreferBitmap = 0x0002, PreferDevice = 0x0004, PreferOutline = 0x0008, ForceOutline = 0x0010, PreferMatch = 0x0020, PreferQuality = 0x0040, PreferAntialias = 0x0080, NoAntialias = 0x0100, OpenGLCompatible = 0x0200, NoFontMerging = 0x8000 }; enum Weight { Light = 25, Normal = 50, DemiBold = 63, Bold = 75, Black = 87 }; enum Style { StyleNormal, StyleItalic, StyleOblique }; enum Stretch { UltraCondensed = 50, ExtraCondensed = 62, Condensed = 75, SemiCondensed = 87, Unstretched = 100, SemiExpanded = 112, Expanded = 125, ExtraExpanded = 150, UltraExpanded = 200 }; enum Capitalization { MixedCase, AllUppercase, AllLowercase, SmallCaps, Capitalize }; enum SpacingType { PercentageSpacing, AbsoluteSpacing }; enum ResolveProperties { FamilyResolved = 0x0001, SizeResolved = 0x0002, StyleHintResolved = 0x0004, StyleStrategyResolved = 0x0008, WeightResolved = 0x0010, StyleResolved = 0x0020, UnderlineResolved = 0x0040, OverlineResolved = 0x0080, StrikeOutResolved = 0x0100, FixedPitchResolved = 0x0200, StretchResolved = 0x0400, KerningResolved = 0x0800, CapitalizationResolved = 0x1000, LetterSpacingResolved = 0x2000, WordSpacingResolved = 0x4000, AllPropertiesResolved = 0x7fff }; QFont(); QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false); QFont(const QFont &, QPaintDevice *pd); QFont(const QFont &); ~QFont(); QString family() const; void setFamily(const QString &); int pointSize() const; void setPointSize(int); qreal pointSizeF() const; void setPointSizeF(qreal); int pixelSize() const; void setPixelSize(int); int weight() const; void setWeight(int); inline bool bold() const; inline void setBold(bool); void setStyle(Style style); Style style() const; inline bool italic() const; inline void setItalic(bool b); bool underline() const; void setUnderline(bool); bool overline() const; void setOverline(bool); bool strikeOut() const; void setStrikeOut(bool); bool fixedPitch() const; void setFixedPitch(bool); bool kerning() const; void setKerning(bool); StyleHint styleHint() const; StyleStrategy styleStrategy() const; void setStyleHint(StyleHint, StyleStrategy = PreferDefault); void setStyleStrategy(StyleStrategy s); int stretch() const; void setStretch(int); qreal letterSpacing() const; SpacingType letterSpacingType() const; void setLetterSpacing(SpacingType type, qreal spacing); qreal wordSpacing() const; void setWordSpacing(qreal spacing); void setCapitalization(Capitalization); Capitalization capitalization() const; bool rawMode() const; void setRawMode(bool); bool exactMatch() const; QFont &operator=(const QFont &); bool operator==(const QFont &) const; bool operator!=(const QFont &) const; bool operator<(const QFont &) const; operator QVariant() const; bool isCopyOf(const QFont &) const; Qt::HANDLE handle() const; FT_Face freetypeFace() const; void setRawName(const QString &); QString rawName() const; QString key() const; QString toString() const; bool fromString(const QString &); static QString substitute(const QString &); static QStringList substitutes(const QString &); static QStringList substitutions(); static void insertSubstitution(const QString&, const QString &); static void insertSubstitutions(const QString&, const QStringList &); static void removeSubstitution(const QString &); static void initialize(); static void cleanup(); static void cacheStatistics(); QString defaultFamily() const; QString lastResortFamily() const; QString lastResortFont() const; QFont resolve(const QFont &) const; inline uint resolve() const { return resolve_mask; } inline void resolve(uint mask) { resolve_mask = mask; } # 276 "/usr/include/qt4/QtGui/qfont.h" private: QFont(QFontPrivate *); void detach(); void x11SetScreen(int screen = -1); int x11Screen() const; friend class QFontPrivate; friend class QFontDialogPrivate; friend class QFontMetrics; friend class QFontMetricsF; friend class QFontInfo; friend class QPainter; friend class QPSPrintEngineFont; friend class QApplication; friend class QWidget; friend class QWidgetPrivate; friend class Q3TextFormatCollection; friend class QTextLayout; friend class QTextEngine; friend class QStackTextEngine; friend class QTextLine; friend struct QScriptLine; friend class QGLContext; friend class QWin32PaintEngine; friend class QAlphaPaintEngine; friend class QPainterPath; friend class QTextItemInt; friend class QPicturePaintEngine; friend class QPainterReplayer; friend class QPaintBufferEngine; friend class QCommandLinkButtonPrivate; friend QDataStream &operator<<(QDataStream &, const QFont &); friend QDataStream &operator>>(QDataStream &, QFont &); QExplicitlySharedDataPointer d; uint resolve_mask; }; inline bool QFont::bold() const { return weight() > Normal; } inline void QFont::setBold(bool enable) { setWeight(enable ? Bold : Normal); } inline bool QFont::italic() const { return (style() != StyleNormal); } inline void QFont::setItalic(bool b) { setStyle(b ? StyleItalic : StyleNormal); } QDataStream &operator<<(QDataStream &, const QFont &); QDataStream &operator>>(QDataStream &, QFont &); QDebug operator<<(QDebug, const QFont &); # 51 "/usr/include/qt4/QtGui/qwidget.h" 2 # 1 "/usr/include/qt4/QtGui/qfontmetrics.h" 1 # 51 "/usr/include/qt4/QtGui/qfontmetrics.h" typedef QtValidLicenseForGuiModule QtGuiModule; class QTextCodec; class QRect; class QFontMetrics { public: QFontMetrics(const QFont &); QFontMetrics(const QFont &, QPaintDevice *pd); QFontMetrics(const QFontMetrics &); ~QFontMetrics(); QFontMetrics &operator=(const QFontMetrics &); int ascent() const; int descent() const; int height() const; int leading() const; int lineSpacing() const; int minLeftBearing() const; int minRightBearing() const; int maxWidth() const; int xHeight() const; int averageCharWidth() const; bool inFont(QChar) const; int leftBearing(QChar) const; int rightBearing(QChar) const; int width(const QString &, int len = -1) const; int width(QChar) const; int charWidth(const QString &str, int pos) const; QRect boundingRect(QChar) const; QRect boundingRect(const QString &text) const; QRect boundingRect(const QRect &r, int flags, const QString &text, int tabstops=0, int *tabarray=0) const; inline QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text, int tabstops=0, int *tabarray=0) const { return boundingRect(QRect(x, y, w, h), flags, text, tabstops, tabarray); } QSize size(int flags, const QString& str, int tabstops=0, int *tabarray=0) const; QRect tightBoundingRect(const QString &text) const; QString elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const; int underlinePos() const; int overlinePos() const; int strikeOutPos() const; int lineWidth() const; bool operator==(const QFontMetrics &other); bool operator==(const QFontMetrics &other) const; inline bool operator !=(const QFontMetrics &other) { return !operator==(other); } inline bool operator !=(const QFontMetrics &other) const { return !operator==(other); } # 128 "/usr/include/qt4/QtGui/qfontmetrics.h" private: friend class QFontMetricsF; friend class QStackTextEngine; QExplicitlySharedDataPointer d; }; class QFontMetricsF { public: QFontMetricsF(const QFont &); QFontMetricsF(const QFont &, QPaintDevice *pd); QFontMetricsF(const QFontMetrics &); QFontMetricsF(const QFontMetricsF &); ~QFontMetricsF(); QFontMetricsF &operator=(const QFontMetricsF &); QFontMetricsF &operator=(const QFontMetrics &); qreal ascent() const; qreal descent() const; qreal height() const; qreal leading() const; qreal lineSpacing() const; qreal minLeftBearing() const; qreal minRightBearing() const; qreal maxWidth() const; qreal xHeight() const; qreal averageCharWidth() const; bool inFont(QChar) const; qreal leftBearing(QChar) const; qreal rightBearing(QChar) const; qreal width(const QString &string) const; qreal width(QChar) const; QRectF boundingRect(const QString &string) const; QRectF boundingRect(QChar) const; QRectF boundingRect(const QRectF &r, int flags, const QString& string, int tabstops=0, int *tabarray=0) const; QSizeF size(int flags, const QString& str, int tabstops=0, int *tabarray=0) const; QRectF tightBoundingRect(const QString &text) const; QString elidedText(const QString &text, Qt::TextElideMode mode, qreal width, int flags = 0) const; qreal underlinePos() const; qreal overlinePos() const; qreal strikeOutPos() const; qreal lineWidth() const; bool operator==(const QFontMetricsF &other); bool operator==(const QFontMetricsF &other) const; inline bool operator !=(const QFontMetricsF &other) { return !operator==(other); } inline bool operator !=(const QFontMetricsF &other) const { return !operator==(other); } private: QExplicitlySharedDataPointer d; }; # 52 "/usr/include/qt4/QtGui/qwidget.h" 2 # 1 "/usr/include/qt4/QtGui/qfontinfo.h" 1 # 48 "/usr/include/qt4/QtGui/qfontinfo.h" typedef QtValidLicenseForGuiModule QtGuiModule; class QFontInfo { public: QFontInfo(const QFont &); QFontInfo(const QFontInfo &); ~QFontInfo(); QFontInfo &operator=(const QFontInfo &); QString family() const; int pixelSize() const; int pointSize() const; qreal pointSizeF() const; bool italic() const; QFont::Style style() const; int weight() const; inline bool bold() const { return weight() > QFont::Normal; } bool underline() const; bool overline() const; bool strikeOut() const; bool fixedPitch() const; QFont::StyleHint styleHint() const; bool rawMode() const; bool exactMatch() const; private: QExplicitlySharedDataPointer d; }; # 53 "/usr/include/qt4/QtGui/qwidget.h" 2 # 1 "/usr/include/qt4/QtGui/qsizepolicy.h" 1 # 47 "/usr/include/qt4/QtGui/qsizepolicy.h" typedef QtValidLicenseForGuiModule QtGuiModule; class QVariant; class QSizePolicy { public: static const QMetaObject staticMetaObject; private: private: enum SizePolicyMasks { HSize = 4, HMask = 0x0f, VMask = HMask << HSize, CTShift = 9, CTSize = 5, WFHShift = CTShift + CTSize, CTMask = ((0x1 << CTSize) - 1) << CTShift, UnusedShift = CTShift + CTSize, UnusedSize = 2 }; public: enum PolicyFlag { GrowFlag = 1, ExpandFlag = 2, ShrinkFlag = 4, IgnoreFlag = 8 }; enum Policy { Fixed = 0, Minimum = GrowFlag, Maximum = ShrinkFlag, Preferred = GrowFlag | ShrinkFlag, MinimumExpanding = GrowFlag | ExpandFlag, Expanding = GrowFlag | ShrinkFlag | ExpandFlag, Ignored = ShrinkFlag | GrowFlag | IgnoreFlag }; enum ControlType { DefaultType = 0x00000001, ButtonBox = 0x00000002, CheckBox = 0x00000004, ComboBox = 0x00000008, Frame = 0x00000010, GroupBox = 0x00000020, Label = 0x00000040, Line = 0x00000080, LineEdit = 0x00000100, PushButton = 0x00000200, RadioButton = 0x00000400, Slider = 0x00000800, SpinBox = 0x00001000, TabWidget = 0x00002000, ToolButton = 0x00004000 }; typedef QFlags ControlTypes; QSizePolicy() : data(0) { } QSizePolicy(Policy horizontal, Policy vertical) : data(horizontal | (vertical << HSize)) { } QSizePolicy(Policy horizontal, Policy vertical, ControlType type) : data(horizontal | (vertical << HSize)) { setControlType(type); } Policy horizontalPolicy() const { return static_cast(data & HMask); } Policy verticalPolicy() const { return static_cast((data & VMask) >> HSize); } ControlType controlType() const; void setHorizontalPolicy(Policy d) { data = (data & ~HMask) | d; } void setVerticalPolicy(Policy d) { data = (data & ~(HMask << HSize)) | (d << HSize); } void setControlType(ControlType type); Qt::Orientations expandingDirections() const { Qt::Orientations result; if (verticalPolicy() & ExpandFlag) result |= Qt::Vertical; if (horizontalPolicy() & ExpandFlag) result |= Qt::Horizontal; return result; } void setHeightForWidth(bool b) { data = b ? (data | (1 << 2*HSize)) : (data & ~(1 << 2*HSize)); } bool hasHeightForWidth() const { return data & (1 << 2*HSize); } bool operator==(const QSizePolicy& s) const { return data == s.data; } bool operator!=(const QSizePolicy& s) const { return data != s.data; } operator QVariant() const; int horizontalStretch() const { return data >> 24; } int verticalStretch() const { return (data >> 16) & 0xff; } void setHorizontalStretch(uchar stretchFactor) { data = (data&0x00ffffff) | (uint(stretchFactor)<<24); } void setVerticalStretch(uchar stretchFactor) { data = (data&0xff00ffff) | (uint(stretchFactor)<<16); } void transpose(); # 195 "/usr/include/qt4/QtGui/qsizepolicy.h" private: friend QDataStream &operator<<(QDataStream &, const QSizePolicy &); friend QDataStream &operator>>(QDataStream &, QSizePolicy &); QSizePolicy(int i) : data(i) { } quint32 data; # 214 "/usr/include/qt4/QtGui/qsizepolicy.h" }; inline QFlags operator|(QSizePolicy::ControlTypes::enum_type f1, QSizePolicy::ControlTypes::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QSizePolicy::ControlTypes::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QSizePolicy::ControlTypes::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } QDataStream &operator<<(QDataStream &, const QSizePolicy &); QDataStream &operator>>(QDataStream &, QSizePolicy &); inline void QSizePolicy::transpose() { Policy hData = horizontalPolicy(); Policy vData = verticalPolicy(); uchar hStretch = uchar(horizontalStretch()); uchar vStretch = uchar(verticalStretch()); setHorizontalPolicy(vData); setVerticalPolicy(hData); setHorizontalStretch(vStretch); setVerticalStretch(hStretch); } # 54 "/usr/include/qt4/QtGui/qwidget.h" 2 # 1 "/usr/include/qt4/QtGui/qcursor.h" 1 # 48 "/usr/include/qt4/QtGui/qcursor.h" typedef QtValidLicenseForGuiModule QtGuiModule; class QVariant; # 75 "/usr/include/qt4/QtGui/qcursor.h" class QCursorData; class QBitmap; class QPixmap; # 89 "/usr/include/qt4/QtGui/qcursor.h" class QCursor { public: QCursor(); QCursor(Qt::CursorShape shape); QCursor(const QBitmap &bitmap, const QBitmap &mask, int hotX=-1, int hotY=-1); QCursor(const QPixmap &pixmap, int hotX=-1, int hotY=-1); QCursor(const QCursor &cursor); ~QCursor(); QCursor &operator=(const QCursor &cursor); operator QVariant() const; Qt::CursorShape shape() const; void setShape(Qt::CursorShape newShape); const QBitmap *bitmap() const; const QBitmap *mask() const; QPixmap pixmap() const; QPoint hotSpot() const; static QPoint pos(); static void setPos(int x, int y); inline static void setPos(const QPoint &p) { setPos(p.x(), p.y()); } # 124 "/usr/include/qt4/QtGui/qcursor.h" Qt::HANDLE handle() const; QCursor(Qt::HANDLE cursor); static int x11Screen(); # 136 "/usr/include/qt4/QtGui/qcursor.h" private: QCursorData *d; # 148 "/usr/include/qt4/QtGui/qcursor.h" }; # 166 "/usr/include/qt4/QtGui/qcursor.h" QDataStream &operator<<(QDataStream &outS, const QCursor &cursor); QDataStream &operator>>(QDataStream &inS, QCursor &cursor); # 57 "/usr/include/qt4/QtGui/qwidget.h" 2 # 1 "/usr/include/qt4/QtGui/qkeysequence.h" 1 # 48 "/usr/include/qt4/QtGui/qkeysequence.h" typedef QtValidLicenseForGuiModule QtGuiModule; class QKeySequence; QDataStream &operator<<(QDataStream &in, const QKeySequence &ks); QDataStream &operator>>(QDataStream &out, QKeySequence &ks); class QVariant; class QKeySequencePrivate; class QKeySequence { public: enum StandardKey { UnknownKey, HelpContents, WhatsThis, Open, Close, Save, New, Delete, Cut, Copy, Paste, Undo, Redo, Back, Forward, Refresh, ZoomIn, ZoomOut, Print, AddTab, NextChild, PreviousChild, Find, FindNext, FindPrevious, Replace, SelectAll, Bold, Italic, Underline, MoveToNextChar, MoveToPreviousChar, MoveToNextWord, MoveToPreviousWord, MoveToNextLine, MoveToPreviousLine, MoveToNextPage, MoveToPreviousPage, MoveToStartOfLine, MoveToEndOfLine, MoveToStartOfBlock, MoveToEndOfBlock, MoveToStartOfDocument, MoveToEndOfDocument, SelectNextChar, SelectPreviousChar, SelectNextWord, SelectPreviousWord, SelectNextLine, SelectPreviousLine, SelectNextPage, SelectPreviousPage, SelectStartOfLine, SelectEndOfLine, SelectStartOfBlock, SelectEndOfBlock, SelectStartOfDocument, SelectEndOfDocument, DeleteStartOfWord, DeleteEndOfWord, DeleteEndOfLine, InsertParagraphSeparator, InsertLineSeparator, SaveAs, Preferences, Quit }; QKeySequence(); QKeySequence(const QString &key); QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0); QKeySequence(const QKeySequence &ks); QKeySequence(StandardKey key); ~QKeySequence(); uint count() const; bool isEmpty() const; enum SequenceMatch { NoMatch, PartialMatch, ExactMatch }; enum SequenceFormat { NativeText, PortableText }; QString toString(SequenceFormat format = PortableText) const; static QKeySequence fromString(const QString &str, SequenceFormat format = PortableText); SequenceMatch matches(const QKeySequence &seq) const; static QKeySequence mnemonic(const QString &text); static QList keyBindings(StandardKey key); operator QString() const; operator QVariant() const; operator int() const; int operator[](uint i) const; QKeySequence &operator=(const QKeySequence &other); bool operator==(const QKeySequence &other) const; inline bool operator!= (const QKeySequence &other) const { return !(*this == other); } bool operator< (const QKeySequence &ks) const; inline bool operator> (const QKeySequence &other) const { return other < *this; } inline bool operator<= (const QKeySequence &other) const { return !(other < *this); } inline bool operator>= (const QKeySequence &other) const { return !(*this < other); } bool isDetached() const; private: static int decodeString(const QString &ks); static QString encodeString(int key); int assign(const QString &str); void setKey(int key, int index); QKeySequencePrivate *d; friend QDataStream &operator<<(QDataStream &in, const QKeySequence &ks); friend QDataStream &operator>>(QDataStream &in, QKeySequence &ks); friend class Q3AccelManager; friend class QShortcutMap; friend class QShortcut; public: typedef QKeySequencePrivate * DataPtr; inline DataPtr &data_ptr() { return d; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QKeySequence)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QKeySequence"; } }; template <> inline bool qIsDetached(QKeySequence &t) { return t.isDetached(); } template <> inline void qSwap(QKeySequence &value1, QKeySequence &value2) { qSwap(value1.data_ptr(), value2.data_ptr()); } QDebug operator<<(QDebug, const QKeySequence &); # 229 "/usr/include/qt4/QtGui/qkeysequence.h" # 58 "/usr/include/qt4/QtGui/qwidget.h" 2 typedef QtValidLicenseForGuiModule QtGuiModule; class QLayout; class QWSRegionManager; class QStyle; class QAction; class QVariant; class QActionEvent; class QMouseEvent; class QWheelEvent; class QHoverEvent; class QKeyEvent; class QFocusEvent; class QPaintEvent; class QMoveEvent; class QResizeEvent; class QCloseEvent; class QContextMenuEvent; class QInputMethodEvent; class QTabletEvent; class QDragEnterEvent; class QDragMoveEvent; class QDragLeaveEvent; class QDropEvent; class QShowEvent; class QHideEvent; class QInputContext; class QIcon; class QWindowSurface; class QLocale; class QGraphicsProxyWidget; class QGraphicsEffect; class QX11Info; class QWidgetData { public: WId winid; uint widget_attributes; Qt::WindowFlags window_flags; uint window_state : 4; uint focus_policy : 4; uint sizehint_forced :1; uint is_closing :1; uint in_show : 1; uint in_set_window_state : 1; mutable uint fstrut_dirty : 1; uint context_menu_policy : 3; uint window_modality : 2; uint in_destructor : 1; uint unused : 13; QRect crect; mutable QPalette pal; QFont fnt; # 135 "/usr/include/qt4/QtGui/qwidget.h" QRect wrect; }; class QWidgetPrivate; class QWidget : public QObject, public QPaintDevice { public: template inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: inline QWidgetPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QWidgetPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QWidgetPrivate; public: enum RenderFlag { DrawWindowBackground = 0x1, DrawChildren = 0x2, IgnoreMask = 0x4 }; typedef QFlags RenderFlags; explicit QWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); ~QWidget(); int devType() const; WId winId() const; void createWinId(); inline WId internalWinId() const { return data->winid; } WId effectiveWinId() const; QStyle *style() const; void setStyle(QStyle *); bool isTopLevel() const; bool isWindow() const; bool isModal() const; Qt::WindowModality windowModality() const; void setWindowModality(Qt::WindowModality windowModality); bool isEnabled() const; bool isEnabledTo(QWidget*) const; bool isEnabledToTLW() const; public : void setEnabled(bool); void setDisabled(bool); void setWindowModified(bool); public: QRect frameGeometry() const; const QRect &geometry() const; QRect normalGeometry() const; int x() const; int y() const; QPoint pos() const; QSize frameSize() const; QSize size() const; inline int width() const; inline int height() const; inline QRect rect() const; QRect childrenRect() const; QRegion childrenRegion() const; QSize minimumSize() const; QSize maximumSize() const; int minimumWidth() const; int minimumHeight() const; int maximumWidth() const; int maximumHeight() const; void setMinimumSize(const QSize &); void setMinimumSize(int minw, int minh); void setMaximumSize(const QSize &); void setMaximumSize(int maxw, int maxh); void setMinimumWidth(int minw); void setMinimumHeight(int minh); void setMaximumWidth(int maxw); void setMaximumHeight(int maxh); QSize sizeIncrement() const; void setSizeIncrement(const QSize &); void setSizeIncrement(int w, int h); QSize baseSize() const; void setBaseSize(const QSize &); void setBaseSize(int basew, int baseh); void setFixedSize(const QSize &); void setFixedSize(int w, int h); void setFixedWidth(int w); void setFixedHeight(int h); QPoint mapToGlobal(const QPoint &) const; QPoint mapFromGlobal(const QPoint &) const; QPoint mapToParent(const QPoint &) const; QPoint mapFromParent(const QPoint &) const; QPoint mapTo(QWidget *, const QPoint &) const; QPoint mapFrom(QWidget *, const QPoint &) const; QWidget *window() const; QWidget *nativeParentWidget() const; inline QWidget *topLevelWidget() const { return window(); } const QPalette &palette() const; void setPalette(const QPalette &); void setBackgroundRole(QPalette::ColorRole); QPalette::ColorRole backgroundRole() const; void setForegroundRole(QPalette::ColorRole); QPalette::ColorRole foregroundRole() const; const QFont &font() const; void setFont(const QFont &); QFontMetrics fontMetrics() const; QFontInfo fontInfo() const; QCursor cursor() const; void setCursor(const QCursor &); void unsetCursor(); void setMouseTracking(bool enable); bool hasMouseTracking() const; bool underMouse() const; void setMask(const QBitmap &); void setMask(const QRegion &); QRegion mask() const; void clearMask(); void render(QPaintDevice *target, const QPoint &targetOffset = QPoint(), const QRegion &sourceRegion = QRegion(), RenderFlags renderFlags = RenderFlags(DrawWindowBackground | DrawChildren)); void render(QPainter *painter, const QPoint &targetOffset = QPoint(), const QRegion &sourceRegion = QRegion(), RenderFlags renderFlags = RenderFlags(DrawWindowBackground | DrawChildren)); QGraphicsEffect *graphicsEffect() const; void setGraphicsEffect(QGraphicsEffect *effect); void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags()); void ungrabGesture(Qt::GestureType type); public : void setWindowTitle(const QString &); void setStyleSheet(const QString& styleSheet); public: QString styleSheet() const; QString windowTitle() const; void setWindowIcon(const QIcon &icon); QIcon windowIcon() const; void setWindowIconText(const QString &); QString windowIconText() const; void setWindowRole(const QString &); QString windowRole() const; void setWindowFilePath(const QString &filePath); QString windowFilePath() const; void setWindowOpacity(qreal level); qreal windowOpacity() const; bool isWindowModified() const; void setToolTip(const QString &); QString toolTip() const; void setStatusTip(const QString &); QString statusTip() const; void setWhatsThis(const QString &); QString whatsThis() const; # 408 "/usr/include/qt4/QtGui/qwidget.h" void setLayoutDirection(Qt::LayoutDirection direction); Qt::LayoutDirection layoutDirection() const; void unsetLayoutDirection(); void setLocale(const QLocale &locale); QLocale locale() const; void unsetLocale(); inline bool isRightToLeft() const { return layoutDirection() == Qt::RightToLeft; } inline bool isLeftToRight() const { return layoutDirection() == Qt::LeftToRight; } public : inline void setFocus() { setFocus(Qt::OtherFocusReason); } public: bool isActiveWindow() const; void activateWindow(); void clearFocus(); void setFocus(Qt::FocusReason reason); Qt::FocusPolicy focusPolicy() const; void setFocusPolicy(Qt::FocusPolicy policy); bool hasFocus() const; static void setTabOrder(QWidget *, QWidget *); void setFocusProxy(QWidget *); QWidget *focusProxy() const; Qt::ContextMenuPolicy contextMenuPolicy() const; void setContextMenuPolicy(Qt::ContextMenuPolicy policy); void grabMouse(); void grabMouse(const QCursor &); void releaseMouse(); void grabKeyboard(); void releaseKeyboard(); int grabShortcut(const QKeySequence &key, Qt::ShortcutContext context = Qt::WindowShortcut); void releaseShortcut(int id); void setShortcutEnabled(int id, bool enable = true); void setShortcutAutoRepeat(int id, bool enable = true); static QWidget *mouseGrabber(); static QWidget *keyboardGrabber(); inline bool updatesEnabled() const; void setUpdatesEnabled(bool enable); QGraphicsProxyWidget *graphicsProxyWidget() const; public : void update(); void repaint(); public: inline void update(int x, int y, int w, int h); void update(const QRect&); void update(const QRegion&); void repaint(int x, int y, int w, int h); void repaint(const QRect &); void repaint(const QRegion &); public : virtual void setVisible(bool visible); inline void setHidden(bool hidden) { setVisible(!hidden); } inline void show() { setVisible(true); } inline void hide() { setVisible(false); } inline void setShown(bool shown) { setVisible(shown); } void showMinimized(); void showMaximized(); void showFullScreen(); void showNormal(); bool close(); void raise(); void lower(); public: void stackUnder(QWidget*); void move(int x, int y); void move(const QPoint &); void resize(int w, int h); void resize(const QSize &); inline void setGeometry(int x, int y, int w, int h); void setGeometry(const QRect &); QByteArray saveGeometry() const; bool restoreGeometry(const QByteArray &geometry); void adjustSize(); bool isVisible() const; bool isVisibleTo(QWidget*) const; inline bool isHidden() const; bool isMinimized() const; bool isMaximized() const; bool isFullScreen() const; Qt::WindowStates windowState() const; void setWindowState(Qt::WindowStates state); void overrideWindowState(Qt::WindowStates state); virtual QSize sizeHint() const; virtual QSize minimumSizeHint() const; QSizePolicy sizePolicy() const; void setSizePolicy(QSizePolicy); inline void setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical); virtual int heightForWidth(int) const; QRegion visibleRegion() const; void setContentsMargins(int left, int top, int right, int bottom); void setContentsMargins(const QMargins &margins); void getContentsMargins(int *left, int *top, int *right, int *bottom) const; QMargins contentsMargins() const; QRect contentsRect() const; public: QLayout *layout() const; void setLayout(QLayout *); void updateGeometry(); void setParent(QWidget *parent); void setParent(QWidget *parent, Qt::WindowFlags f); void scroll(int dx, int dy); void scroll(int dx, int dy, const QRect&); QWidget *focusWidget() const; QWidget *nextInFocusChain() const; QWidget *previousInFocusChain() const; bool acceptDrops() const; void setAcceptDrops(bool on); void addAction(QAction *action); void addActions(QList actions); void insertAction(QAction *before, QAction *action); void insertActions(QAction *before, QList actions); void removeAction(QAction *action); QList actions() const; QWidget *parentWidget() const; void setWindowFlags(Qt::WindowFlags type); inline Qt::WindowFlags windowFlags() const; void overrideWindowFlags(Qt::WindowFlags type); inline Qt::WindowType windowType() const; static QWidget *find(WId); inline QWidget *childAt(int x, int y) const; QWidget *childAt(const QPoint &p) const; const QX11Info &x11Info() const; Qt::HANDLE x11PictureHandle() const; # 602 "/usr/include/qt4/QtGui/qwidget.h" Qt::HANDLE handle() const; void setAttribute(Qt::WidgetAttribute, bool on = true); inline bool testAttribute(Qt::WidgetAttribute) const; QPaintEngine *paintEngine() const; void ensurePolished() const; QInputContext *inputContext(); void setInputContext(QInputContext *); bool isAncestorOf(const QWidget *child) const; bool autoFillBackground() const; void setAutoFillBackground(bool enabled); void setWindowSurface(QWindowSurface *surface); QWindowSurface *windowSurface() const; public: void customContextMenuRequested(const QPoint &pos); public: bool event(QEvent *); virtual void mousePressEvent(QMouseEvent *); virtual void mouseReleaseEvent(QMouseEvent *); virtual void mouseDoubleClickEvent(QMouseEvent *); virtual void mouseMoveEvent(QMouseEvent *); virtual void wheelEvent(QWheelEvent *); virtual void keyPressEvent(QKeyEvent *); virtual void keyReleaseEvent(QKeyEvent *); virtual void focusInEvent(QFocusEvent *); virtual void focusOutEvent(QFocusEvent *); virtual void enterEvent(QEvent *); virtual void leaveEvent(QEvent *); virtual void paintEvent(QPaintEvent *); virtual void moveEvent(QMoveEvent *); virtual void resizeEvent(QResizeEvent *); virtual void closeEvent(QCloseEvent *); virtual void contextMenuEvent(QContextMenuEvent *); virtual void tabletEvent(QTabletEvent *); virtual void actionEvent(QActionEvent *); virtual void dragEnterEvent(QDragEnterEvent *); virtual void dragMoveEvent(QDragMoveEvent *); virtual void dragLeaveEvent(QDragLeaveEvent *); virtual void dropEvent(QDropEvent *); virtual void showEvent(QShowEvent *); virtual void hideEvent(QHideEvent *); # 678 "/usr/include/qt4/QtGui/qwidget.h" virtual bool x11Event(XEvent *); virtual void changeEvent(QEvent *); int metric(PaintDeviceMetric) const; virtual void inputMethodEvent(QInputMethodEvent *); public: virtual QVariant inputMethodQuery(Qt::InputMethodQuery) const; Qt::InputMethodHints inputMethodHints() const; void setInputMethodHints(Qt::InputMethodHints hints); public: void resetInputContext(); public : void updateMicroFocus(); public: void create(WId = 0, bool initializeWindow = true, bool destroyOldWindow = true); void destroy(bool destroyWindow = true, bool destroySubWindows = true); virtual bool focusNextPrevChild(bool next); inline bool focusNextChild() { return focusNextPrevChild(true); } inline bool focusPreviousChild() { return focusNextPrevChild(false); } public: QWidget(QWidgetPrivate &d, QWidget* parent, Qt::WindowFlags f); private: bool testAttribute_helper(Qt::WidgetAttribute) const; QLayout *takeLayout(); friend class QBackingStoreDevice; friend class QWidgetBackingStore; friend class QApplication; friend class QApplicationPrivate; friend class QBaseApplication; friend class QPainter; friend class QPainterPrivate; friend class QPixmap; friend class QFontMetrics; friend class QFontInfo; friend class QETWidget; friend class QLayout; friend class QWidgetItem; friend class QWidgetItemV2; friend class QGLContext; friend class QGLWidget; friend class QGLWindowSurface; friend class QX11PaintEngine; friend class QWin32PaintEngine; friend class QShortcutPrivate; friend class QShortcutMap; friend class QWindowSurface; friend class QGraphicsProxyWidget; friend class QGraphicsProxyWidgetPrivate; friend class QStyleSheetStyle; friend struct QWidgetExceptionCleaner; friend class QGestureManager; friend class QWinNativePanGestureRecognizer; friend class QWidgetEffectSourcePrivate; # 774 "/usr/include/qt4/QtGui/qwidget.h" friend void qt_net_update_user_time(QWidget *tlw, unsigned long timestamp); friend void qt_net_remove_user_time(QWidget *tlw); friend QWidgetData *qt_qwidget_data(QWidget *widget); friend QWidgetPrivate *qt_widget_private(QWidget *widget); private: QWidget(const QWidget &); QWidget &operator=(const QWidget &); QWidgetData *data; # 885 "/usr/include/qt4/QtGui/qwidget.h" public: virtual void styleChange(QStyle&); virtual void enabledChange(bool); virtual void paletteChange(const QPalette &); virtual void fontChange(const QFont &); virtual void windowActivationChange(bool); virtual void languageChange(); }; inline QFlags operator|(QWidget::RenderFlags::enum_type f1, QWidget::RenderFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QWidget::RenderFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QWidget::RenderFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } # 903 "/usr/include/qt4/QtGui/qwidget.h" template <> inline QWidget *qobject_cast(QObject *o) { if (!o || !o->isWidgetType()) return 0; return static_cast(o); } template <> inline const QWidget *qobject_cast(const QObject *o) { if (!o || !o->isWidgetType()) return 0; return static_cast(o); } inline QWidget *QWidget::childAt(int ax, int ay) const { return childAt(QPoint(ax, ay)); } inline Qt::WindowType QWidget::windowType() const { return static_cast(int(data->window_flags & Qt::WindowType_Mask)); } inline Qt::WindowFlags QWidget::windowFlags() const { return data->window_flags; } inline bool QWidget::isTopLevel() const { return (windowType() & Qt::Window); } inline bool QWidget::isWindow() const { return (windowType() & Qt::Window); } inline bool QWidget::isEnabled() const { return !testAttribute(Qt::WA_Disabled); } inline bool QWidget::isModal() const { return data->window_modality != Qt::NonModal; } inline bool QWidget::isEnabledToTLW() const { return isEnabled(); } inline int QWidget::minimumWidth() const { return minimumSize().width(); } inline int QWidget::minimumHeight() const { return minimumSize().height(); } inline int QWidget::maximumWidth() const { return maximumSize().width(); } inline int QWidget::maximumHeight() const { return maximumSize().height(); } inline void QWidget::setMinimumSize(const QSize &s) { setMinimumSize(s.width(),s.height()); } inline void QWidget::setMaximumSize(const QSize &s) { setMaximumSize(s.width(),s.height()); } inline void QWidget::setSizeIncrement(const QSize &s) { setSizeIncrement(s.width(),s.height()); } inline void QWidget::setBaseSize(const QSize &s) { setBaseSize(s.width(),s.height()); } inline const QFont &QWidget::font() const { return data->fnt; } inline QFontMetrics QWidget::fontMetrics() const { return QFontMetrics(data->fnt); } inline QFontInfo QWidget::fontInfo() const { return QFontInfo(data->fnt); } inline void QWidget::setMouseTracking(bool enable) { setAttribute(Qt::WA_MouseTracking, enable); } inline bool QWidget::hasMouseTracking() const { return testAttribute(Qt::WA_MouseTracking); } inline bool QWidget::underMouse() const { return testAttribute(Qt::WA_UnderMouse); } inline bool QWidget::updatesEnabled() const { return !testAttribute(Qt::WA_UpdatesDisabled); } inline void QWidget::update(int ax, int ay, int aw, int ah) { update(QRect(ax, ay, aw, ah)); } inline bool QWidget::isVisible() const { return testAttribute(Qt::WA_WState_Visible); } inline bool QWidget::isHidden() const { return testAttribute(Qt::WA_WState_Hidden); } inline void QWidget::move(int ax, int ay) { move(QPoint(ax, ay)); } inline void QWidget::resize(int w, int h) { resize(QSize(w, h)); } inline void QWidget::setGeometry(int ax, int ay, int aw, int ah) { setGeometry(QRect(ax, ay, aw, ah)); } inline QRect QWidget::rect() const { return QRect(0,0,data->crect.width(),data->crect.height()); } inline const QRect &QWidget::geometry() const { return data->crect; } inline QSize QWidget::size() const { return data->crect.size(); } inline int QWidget::width() const { return data->crect.width(); } inline int QWidget::height() const { return data->crect.height(); } inline QWidget *QWidget::parentWidget() const { return static_cast(QObject::parent()); } inline void QWidget::setSizePolicy(QSizePolicy::Policy hor, QSizePolicy::Policy ver) { setSizePolicy(QSizePolicy(hor, ver)); } inline bool QWidget::testAttribute(Qt::WidgetAttribute attribute) const { if (attribute < int(8*sizeof(uint))) return data->widget_attributes & (1< inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i; } static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); } static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); } static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); } virtual int qt_metacall(QMetaObject::Call, int, void **); private: public: enum NavigationType { NavigationTypeLinkClicked, NavigationTypeFormSubmitted, NavigationTypeBackOrForward, NavigationTypeReload, NavigationTypeFormResubmitted, NavigationTypeOther }; enum WebAction { NoWebAction = - 1, OpenLink, OpenLinkInNewWindow, OpenFrameInNewWindow, DownloadLinkToDisk, CopyLinkToClipboard, OpenImageInNewWindow, DownloadImageToDisk, CopyImageToClipboard, Back, Forward, Stop, Reload, Cut, Copy, Paste, Undo, Redo, MoveToNextChar, MoveToPreviousChar, MoveToNextWord, MoveToPreviousWord, MoveToNextLine, MoveToPreviousLine, MoveToStartOfLine, MoveToEndOfLine, MoveToStartOfBlock, MoveToEndOfBlock, MoveToStartOfDocument, MoveToEndOfDocument, SelectNextChar, SelectPreviousChar, SelectNextWord, SelectPreviousWord, SelectNextLine, SelectPreviousLine, SelectStartOfLine, SelectEndOfLine, SelectStartOfBlock, SelectEndOfBlock, SelectStartOfDocument, SelectEndOfDocument, DeleteStartOfWord, DeleteEndOfWord, SetTextDirectionDefault, SetTextDirectionLeftToRight, SetTextDirectionRightToLeft, ToggleBold, ToggleItalic, ToggleUnderline, InspectElement, InsertParagraphSeparator, InsertLineSeparator, SelectAll, ReloadAndBypassCache, PasteAndMatchStyle, RemoveFormat, ToggleStrikethrough, ToggleSubscript, ToggleSuperscript, InsertUnorderedList, InsertOrderedList, Indent, Outdent, AlignCenter, AlignJustified, AlignLeft, AlignRight, WebActionCount }; enum FindFlag { FindBackward = 1, FindCaseSensitively = 2, FindWrapsAroundDocument = 4, HighlightAllOccurrences = 8 }; typedef QFlags FindFlags; enum LinkDelegationPolicy { DontDelegateLinks, DelegateExternalLinks, DelegateAllLinks }; enum WebWindowType { WebBrowserWindow, WebModalDialog }; explicit QWebPage(QObject *parent = 0); ~QWebPage(); QWebFrame *mainFrame() const; QWebFrame *currentFrame() const; QWebFrame* frameAt(const QPoint& pos) const; QWebHistory *history() const; QWebSettings *settings() const; void setView(QWidget *view); QWidget *view() const; bool isModified() const; QUndoStack *undoStack() const; # 222 "/usr/include/qt4/QtWebKit/qwebpage.h" void setNetworkAccessManager(QNetworkAccessManager *manager); QNetworkAccessManager *networkAccessManager() const; void setPluginFactory(QWebPluginFactory *factory); QWebPluginFactory *pluginFactory() const; quint64 totalBytes() const; quint64 bytesReceived() const; QString selectedText() const; QAction *action(WebAction action) const; virtual void triggerAction(WebAction action, bool checked = false); QSize viewportSize() const; void setViewportSize(const QSize &size) const; QSize preferredContentsSize() const; void setPreferredContentsSize(const QSize &size) const; virtual bool event(QEvent*); bool focusNextPrevChild(bool next); QVariant inputMethodQuery(Qt::InputMethodQuery property) const; bool findText(const QString &subString, FindFlags options = 0); void setForwardUnsupportedContent(bool forward); bool forwardUnsupportedContent() const; void setLinkDelegationPolicy(LinkDelegationPolicy policy); LinkDelegationPolicy linkDelegationPolicy() const; void setPalette(const QPalette &palette); QPalette palette() const; void setContentEditable(bool editable); bool isContentEditable() const; bool swallowContextMenuEvent(QContextMenuEvent *event); void updatePositionDependentActions(const QPoint &pos); QMenu *createStandardContextMenu(); enum Extension { ChooseMultipleFilesExtension, ErrorPageExtension }; class ExtensionOption {}; class ExtensionReturn {}; class ChooseMultipleFilesExtensionOption : public ExtensionOption { public: QWebFrame *parentFrame; QStringList suggestedFileNames; }; class ChooseMultipleFilesExtensionReturn : public ExtensionReturn { public: QStringList fileNames; }; enum ErrorDomain { QtNetwork, Http, WebKit }; class ErrorPageExtensionOption : public ExtensionOption { public: QUrl url; QWebFrame* frame; ErrorDomain domain; int error; QString errorString; }; class ErrorPageExtensionReturn : public ExtensionReturn { public: ErrorPageExtensionReturn() : contentType(QLatin1String("text/html")), encoding(QLatin1String("utf-8")) {}; QString contentType; QString encoding; QUrl baseUrl; QByteArray content; }; virtual bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0); virtual bool supportsExtension(Extension extension) const; inline QWebPagePrivate* handle() const { return d; } public : bool shouldInterruptJavaScript(); public: void loadStarted(); void loadProgress(int progress); void loadFinished(bool ok); void linkHovered(const QString &link, const QString &title, const QString &textContent); void statusBarMessage(const QString& text); void selectionChanged(); void frameCreated(QWebFrame *frame); void geometryChangeRequested(const QRect& geom); void repaintRequested(const QRect& dirtyRect); void scrollRequested(int dx, int dy, const QRect& scrollViewRect); void windowCloseRequested(); void printRequested(QWebFrame *frame); void linkClicked(const QUrl &url); void toolBarVisibilityChangeRequested(bool visible); void statusBarVisibilityChangeRequested(bool visible); void menuBarVisibilityChangeRequested(bool visible); void unsupportedContent(QNetworkReply *reply); void downloadRequested(const QNetworkRequest &request); void microFocusChanged(); void contentsChanged(); void databaseQuotaExceeded(QWebFrame* frame, QString databaseName); void saveFrameStateRequested(QWebFrame* frame, QWebHistoryItem* item); void restoreFrameStateRequested(QWebFrame* frame); public: virtual QWebPage *createWindow(WebWindowType type); virtual QObject *createPlugin(const QString &classid, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues); virtual bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type); virtual QString chooseFile(QWebFrame *originatingFrame, const QString& oldFile); virtual void javaScriptAlert(QWebFrame *originatingFrame, const QString& msg); virtual bool javaScriptConfirm(QWebFrame *originatingFrame, const QString& msg); virtual bool javaScriptPrompt(QWebFrame *originatingFrame, const QString& msg, const QString& defaultValue, QString* result); virtual void javaScriptConsoleMessage(const QString& message, int lineNumber, const QString& sourceID); virtual QString userAgentForUrl(const QUrl& url) const; private: QWebPagePrivate *d; friend class QWebFrame; friend class QWebPagePrivate; friend class QWebView; friend class QGraphicsWebView; friend class QWebInspector; friend class WebCore::ChromeClientQt; friend class WebCore::EditorClientQt; friend class WebCore::FrameLoaderClientQt; friend class WebCore::InspectorClientQt; friend class WebCore::ResourceHandle; friend class WebCore::QNetworkReplyHandler; }; inline QFlags operator|(QWebPage::FindFlags::enum_type f1, QWebPage::FindFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QWebPage::FindFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QWebPage::FindFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } # 29 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit/PySide/QtWebKit/qwebpage_extensionoption_wrapper.cpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 1 # 26 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 27 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/boost_headers.hpp" 1 # 27 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/boost_headers.hpp" # 1 "/usr/include/boost-1_42/boost/python.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python.hpp" # 1 "/usr/include/boost-1_42/boost/python/args.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/prefix.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/detail/prefix.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" 1 # 50 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" # 1 "/usr/include/python2.6/pyconfig.h" 1 # 51 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" 2 # 61 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 169 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 145 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 157 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/local_lim.h" 1 3 4 # 39 "/usr/include/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 40 "/usr/include/bits/local_lim.h" 2 3 4 # 158 "/usr/include/bits/posix1_lim.h" 2 3 4 # 146 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 150 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 # 34 "/usr/include/bits/xopen_lim.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 35 "/usr/include/bits/xopen_lim.h" 2 3 4 # 154 "/usr/include/limits.h" 2 3 4 # 170 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 2 3 4 # 8 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/syslimits.h" 2 3 4 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 2 3 4 # 62 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" 2 # 75 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" # 1 "/usr/include/python2.6/patchlevel.h" 1 # 76 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" 2 # 142 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" # 1 "/usr/include/python2.6/Python.h" 1 # 1 "/usr/include/python2.6/patchlevel.h" 1 # 8 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pyconfig.h" 1 # 9 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pymacconfig.h" 1 # 10 "/usr/include/python2.6/Python.h" 2 # 19 "/usr/include/python2.6/Python.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 20 "/usr/include/python2.6/Python.h" 2 # 33 "/usr/include/python2.6/Python.h" # 1 "/usr/include/stdio.h" 1 3 4 # 30 "/usr/include/stdio.h" 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 35 "/usr/include/stdio.h" 2 3 4 # 75 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 32 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 15 "/usr/include/_G_config.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 16 "/usr/include/_G_config.h" 2 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 21 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 53 "/usr/include/_G_config.h" 3 4 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 4 # 170 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 180 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 203 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 271 "/usr/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 319 "/usr/include/libio.h" 3 4 __off64_t _offset; # 328 "/usr/include/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 364 "/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern "C" { extern int __underflow (_IO_FILE *); extern int __uflow (_IO_FILE *); extern int __overflow (_IO_FILE *, int); # 460 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp); extern int _IO_putc (int __c, _IO_FILE *__fp); extern int _IO_feof (_IO_FILE *__fp) throw (); extern int _IO_ferror (_IO_FILE *__fp) throw (); extern int _IO_peekc_locked (_IO_FILE *__fp); extern void _IO_flockfile (_IO_FILE *) throw (); extern void _IO_funlockfile (_IO_FILE *) throw (); extern int _IO_ftrylockfile (_IO_FILE *) throw (); # 490 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); extern void _IO_free_backup_area (_IO_FILE *) throw (); # 552 "/usr/include/libio.h" 3 4 } # 76 "/usr/include/stdio.h" 2 3 4 # 89 "/usr/include/stdio.h" 3 4 typedef _G_fpos_t fpos_t; typedef _G_fpos64_t fpos64_t; # 141 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 142 "/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) throw (); extern int rename (__const char *__old, __const char *__new) throw (); extern int renameat (int __oldfd, __const char *__old, int __newfd, __const char *__new) throw (); extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__)); # 182 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__)); extern char *tmpnam (char *__s) throw () __attribute__ ((__warn_unused_result__)); extern char *tmpnam_r (char *__s) throw () __attribute__ ((__warn_unused_result__)); # 204 "/usr/include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 229 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 239 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); # 272 "/usr/include/stdio.h" 3 4 extern FILE *fopen64 (__const char *__restrict __filename, __const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); extern FILE *freopen64 (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern FILE *fdopen (int __fd, __const char *__modes) throw () __attribute__ ((__warn_unused_result__)); extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) throw () __attribute__ ((__warn_unused_result__)); extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw () __attribute__ ((__warn_unused_result__)); extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__warn_unused_result__)); extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) throw (); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) throw (); extern void setlinebuf (FILE *__stream) throw (); extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) throw (); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw (); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); # 394 "/usr/include/stdio.h" 3 4 extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); extern int scanf (__const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) throw (); # 445 "/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__scanf__, 2, 0))); # 504 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 532 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 543 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 576 "/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern char *gets (char *__s) __attribute__ ((__warn_unused_result__)); # 622 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); # 638 "/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) __attribute__ ((__warn_unused_result__)); # 699 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream); # 710 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); extern void rewind (FILE *__stream); # 746 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)); # 765 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 788 "/usr/include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__)); extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); extern void clearerr (FILE *__stream) throw (); extern int feof (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern int ferror (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern void clearerr_unlocked (FILE *__stream) throw (); extern int feof_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern int ferror_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 27 "/usr/include/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; extern int _sys_nerr; extern __const char *__const _sys_errlist[]; # 827 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern int fileno_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); # 846 "/usr/include/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes) __attribute__ ((__warn_unused_result__)); extern int pclose (FILE *__stream); extern char *ctermid (char *__s) throw (); extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) throw () __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) throw (); extern int ftrylockfile (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern void funlockfile (FILE *__stream) throw (); # 907 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio.h" 1 3 4 # 44 "/usr/include/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int getchar (void) { return _IO_getc (stdin); } extern __inline __attribute__ ((__gnu_inline__)) int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline __attribute__ ((__gnu_inline__)) int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline __attribute__ ((__gnu_inline__)) int feof_unlocked (FILE *__stream) throw () { return (((__stream)->_flags & 0x10) != 0); } extern __inline __attribute__ ((__gnu_inline__)) int ferror_unlocked (FILE *__stream) throw () { return (((__stream)->_flags & 0x20) != 0); } # 908 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/stdio2.h" 1 3 4 # 24 "/usr/include/bits/stdio2.h" 3 4 extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, __const char *__restrict __format, ...) throw (); extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, __const char *__restrict __format, __gnuc_va_list __ap) throw (); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int sprintf (char *__restrict __s, __const char *__restrict __fmt, ...) throw () { return __builtin___sprintf_chk (__s, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vsprintf (char *__restrict __s, __const char *__restrict __fmt, __gnuc_va_list __ap) throw () { return __builtin___vsprintf_chk (__s, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __ap); } extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, size_t __slen, __const char *__restrict __format, ...) throw (); extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, size_t __slen, __const char *__restrict __format, __gnuc_va_list __ap) throw (); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int snprintf (char *__restrict __s, size_t __n, __const char *__restrict __fmt, ...) throw () { return __builtin___snprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vsnprintf (char *__restrict __s, size_t __n, __const char *__restrict __fmt, __gnuc_va_list __ap) throw () { return __builtin___vsnprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __ap); } extern int __fprintf_chk (FILE *__restrict __stream, int __flag, __const char *__restrict __format, ...); extern int __printf_chk (int __flag, __const char *__restrict __format, ...); extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, __const char *__restrict __format, __gnuc_va_list __ap); extern int __vprintf_chk (int __flag, __const char *__restrict __format, __gnuc_va_list __ap); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int fprintf (FILE *__restrict __stream, __const char *__restrict __fmt, ...) { return __fprintf_chk (__stream, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int printf (__const char *__restrict __fmt, ...) { return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vprintf (__const char *__restrict __fmt, __gnuc_va_list __ap) { return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vfprintf (FILE *__restrict __stream, __const char *__restrict __fmt, __gnuc_va_list __ap) { return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); } extern int __asprintf_chk (char **__restrict __ptr, int __flag, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__)); extern int __vasprintf_chk (char **__restrict __ptr, int __flag, __const char *__restrict __fmt, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__)); extern int __dprintf_chk (int __fd, int __flag, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int __vdprintf_chk (int __fd, int __flag, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); extern int __obstack_printf_chk (struct obstack *__restrict __obstack, int __flag, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))); extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, int __flag, __const char *__restrict __format, __gnuc_va_list __args) throw () __attribute__ ((__format__ (__printf__, 3, 0))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () { return __asprintf_chk (__ptr, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () { return __asprintf_chk (__ptr, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int dprintf (int __fd, __const char *__restrict __fmt, ...) { return __dprintf_chk (__fd, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __fmt, ...) throw () { return __obstack_printf_chk (__obstack, 2 - 1, __fmt, __builtin_va_arg_pack ()); } # 195 "/usr/include/bits/stdio2.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vasprintf (char **__restrict __ptr, __const char *__restrict __fmt, __gnuc_va_list __ap) throw () { return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __ap) { return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __fmt, __gnuc_va_list __ap) throw () { return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt, __ap); } extern char *__gets_chk (char *__str, size_t) __attribute__ ((__warn_unused_result__)); extern char *__gets_warn (char *__str) __asm__ ("" "gets") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use fgets or getline instead, gets can't " "specify buffer size"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char * gets (char *__str) { if (__builtin_object_size (__str, 2 > 1) != (size_t) -1) return __gets_chk (__str, __builtin_object_size (__str, 2 > 1)); return __gets_warn (__str); } extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") __attribute__ ((__warn_unused_result__)); extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char * fgets (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); } return __fgets_alias (__s, __n, __stream); } extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") __attribute__ ((__warn_unused_result__)); extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { if (__builtin_object_size (__ptr, 0) != (size_t) -1) { if (!__builtin_constant_p (__size) || !__builtin_constant_p (__n) || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); if (__size * __n > __builtin_object_size (__ptr, 0)) return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); } return __fread_alias (__ptr, __size, __n, __stream); } extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked") __attribute__ ((__warn_unused_result__)); extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char * fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); } return __fgets_unlocked_alias (__s, __n, __stream); } extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") __attribute__ ((__warn_unused_result__)); extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { if (__builtin_object_size (__ptr, 0) != (size_t) -1) { if (!__builtin_constant_p (__size) || !__builtin_constant_p (__n) || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); if (__size * __n > __builtin_object_size (__ptr, 0)) return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); } if (__builtin_constant_p (__size) && __builtin_constant_p (__n) && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) && __size * __n <= 8) { size_t __cnt = __size * __n; char *__cptr = (char *) __ptr; if (__cnt == 0) return 0; for (; __cnt > 0; --__cnt) { int __c = (__builtin_expect (((__stream)->_IO_read_ptr >= (__stream)->_IO_read_end), 0) ? __uflow (__stream) : *(unsigned char *) (__stream)->_IO_read_ptr++); if (__c == (-1)) break; *__cptr++ = __c; } return (__cptr - (char *) __ptr) / __size; } return __fread_unlocked_alias (__ptr, __size, __n, __stream); } # 911 "/usr/include/stdio.h" 2 3 4 } # 34 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/errno.h" 1 3 4 # 32 "/usr/include/errno.h" 3 4 extern "C" { # 1 "/usr/include/bits/errno.h" 1 3 4 # 25 "/usr/include/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/asm/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 # 5 "/usr/include/asm-generic/errno.h" 2 3 4 # 1 "/usr/include/asm/errno.h" 2 3 4 # 5 "/usr/include/linux/errno.h" 2 3 4 # 26 "/usr/include/bits/errno.h" 2 3 4 # 43 "/usr/include/bits/errno.h" 3 4 extern int *__errno_location (void) throw () __attribute__ ((__const__)); # 37 "/usr/include/errno.h" 2 3 4 # 55 "/usr/include/errno.h" 3 4 extern char *program_invocation_name, *program_invocation_short_name; } # 69 "/usr/include/errno.h" 3 4 typedef int error_t; # 41 "/usr/include/python2.6/Python.h" 2 # 56 "/usr/include/python2.6/Python.h" # 1 "/usr/include/assert.h" 1 3 4 # 57 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pyport.h" 1 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stdint.h" 1 3 4 # 1 "/usr/include/stdint.h" 1 3 4 # 28 "/usr/include/stdint.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/stdint.h" 2 3 4 # 49 "/usr/include/stdint.h" 3 4 typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef unsigned long int uint64_t; # 66 "/usr/include/stdint.h" 3 4 typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; typedef long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned long int uint_least64_t; # 91 "/usr/include/stdint.h" 3 4 typedef signed char int_fast8_t; typedef long int int_fast16_t; typedef long int int_fast32_t; typedef long int int_fast64_t; # 104 "/usr/include/stdint.h" 3 4 typedef unsigned char uint_fast8_t; typedef unsigned long int uint_fast16_t; typedef unsigned long int uint_fast32_t; typedef unsigned long int uint_fast64_t; # 123 "/usr/include/stdint.h" 3 4 typedef unsigned long int uintptr_t; # 135 "/usr/include/stdint.h" 3 4 typedef long int intmax_t; typedef unsigned long int uintmax_t; # 4 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stdint.h" 2 3 4 # 8 "/usr/include/python2.6/pyport.h" 2 # 89 "/usr/include/python2.6/pyport.h" typedef uintptr_t Py_uintptr_t; typedef intptr_t Py_intptr_t; # 113 "/usr/include/python2.6/pyport.h" typedef ssize_t Py_ssize_t; # 235 "/usr/include/python2.6/pyport.h" # 1 "/usr/include/math.h" 1 3 4 # 30 "/usr/include/math.h" 3 4 extern "C" { # 1 "/usr/include/bits/huge_val.h" 1 3 4 # 35 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/huge_valf.h" 1 3 4 # 37 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/huge_vall.h" 1 3 4 # 38 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/inf.h" 1 3 4 # 41 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/nan.h" 1 3 4 # 44 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathdef.h" 1 3 4 # 26 "/usr/include/bits/mathdef.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 27 "/usr/include/bits/mathdef.h" 2 3 4 typedef float float_t; typedef double double_t; # 48 "/usr/include/math.h" 2 3 4 # 71 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern double acos (double __x) throw (); extern double __acos (double __x) throw (); extern double asin (double __x) throw (); extern double __asin (double __x) throw (); extern double atan (double __x) throw (); extern double __atan (double __x) throw (); extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw (); extern double cos (double __x) throw (); extern double __cos (double __x) throw (); extern double sin (double __x) throw (); extern double __sin (double __x) throw (); extern double tan (double __x) throw (); extern double __tan (double __x) throw (); extern double cosh (double __x) throw (); extern double __cosh (double __x) throw (); extern double sinh (double __x) throw (); extern double __sinh (double __x) throw (); extern double tanh (double __x) throw (); extern double __tanh (double __x) throw (); extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw () ; extern double acosh (double __x) throw (); extern double __acosh (double __x) throw (); extern double asinh (double __x) throw (); extern double __asinh (double __x) throw (); extern double atanh (double __x) throw (); extern double __atanh (double __x) throw (); extern double exp (double __x) throw (); extern double __exp (double __x) throw (); extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw (); extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw (); extern double log (double __x) throw (); extern double __log (double __x) throw (); extern double log10 (double __x) throw (); extern double __log10 (double __x) throw (); extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw (); extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw (); extern double pow10 (double __x) throw (); extern double __pow10 (double __x) throw (); extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw (); extern double log1p (double __x) throw (); extern double __log1p (double __x) throw (); extern double logb (double __x) throw (); extern double __logb (double __x) throw (); extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw (); extern double log2 (double __x) throw (); extern double __log2 (double __x) throw (); extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw (); extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw (); extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw (); extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw (); extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__)); extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__)); extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__)); extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw (); extern int __isinf (double __value) throw () __attribute__ ((__const__)); extern int __finite (double __value) throw () __attribute__ ((__const__)); extern int isinf (double __value) throw () __attribute__ ((__const__)); extern int finite (double __value) throw () __attribute__ ((__const__)); extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw (); extern double significand (double __x) throw (); extern double __significand (double __x) throw (); extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnan (double __value) throw () __attribute__ ((__const__)); extern int isnan (double __value) throw () __attribute__ ((__const__)); extern double j0 (double) throw (); extern double __j0 (double) throw (); extern double j1 (double) throw (); extern double __j1 (double) throw (); extern double jn (int, double) throw (); extern double __jn (int, double) throw (); extern double y0 (double) throw (); extern double __y0 (double) throw (); extern double y1 (double) throw (); extern double __y1 (double) throw (); extern double yn (int, double) throw (); extern double __yn (int, double) throw (); extern double erf (double) throw (); extern double __erf (double) throw (); extern double erfc (double) throw (); extern double __erfc (double) throw (); extern double lgamma (double) throw (); extern double __lgamma (double) throw (); extern double tgamma (double) throw (); extern double __tgamma (double) throw (); extern double gamma (double) throw (); extern double __gamma (double) throw (); extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw (); extern double rint (double __x) throw (); extern double __rint (double __x) throw (); extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw (); extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw (); extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw (); extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw (); extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw (); extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__)); extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw (); extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw (); extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw (); extern long int lround (double __x) throw (); extern long int __lround (double __x) throw (); extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw (); extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw (); extern double fmax (double __x, double __y) throw (); extern double __fmax (double __x, double __y) throw (); extern double fmin (double __x, double __y) throw (); extern double __fmin (double __x, double __y) throw (); extern int __fpclassify (double __value) throw () __attribute__ ((__const__)); extern int __signbit (double __value) throw () __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw (); extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw (); # 72 "/usr/include/math.h" 2 3 4 # 94 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern float acosf (float __x) throw (); extern float __acosf (float __x) throw (); extern float asinf (float __x) throw (); extern float __asinf (float __x) throw (); extern float atanf (float __x) throw (); extern float __atanf (float __x) throw (); extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw (); extern float cosf (float __x) throw (); extern float __cosf (float __x) throw (); extern float sinf (float __x) throw (); extern float __sinf (float __x) throw (); extern float tanf (float __x) throw (); extern float __tanf (float __x) throw (); extern float coshf (float __x) throw (); extern float __coshf (float __x) throw (); extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw (); extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw (); extern void sincosf # 82 "/usr/include/bits/mathcalls.h" 3 4 (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf # 82 "/usr/include/bits/mathcalls.h" 3 4 (float __x, float *__sinx, float *__cosx) throw () ; extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw (); extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw (); extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw (); extern float expf (float __x) throw (); extern float __expf (float __x) throw (); extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw (); extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw (); extern float logf (float __x) throw (); extern float __logf (float __x) throw (); extern float log10f (float __x) throw (); extern float __log10f (float __x) throw (); extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw (); extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw (); extern float pow10f (float __x) throw (); extern float __pow10f (float __x) throw (); extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw (); extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw (); extern float logbf (float __x) throw (); extern float __logbf (float __x) throw (); extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw (); extern float log2f (float __x) throw (); extern float __log2f (float __x) throw (); extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw (); extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw (); extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw (); extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw (); extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__)); extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__)); extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__)); extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw (); extern int __isinff (float __value) throw () __attribute__ ((__const__)); extern int __finitef (float __value) throw () __attribute__ ((__const__)); extern int isinff (float __value) throw () __attribute__ ((__const__)); extern int finitef (float __value) throw () __attribute__ ((__const__)); extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw (); extern float significandf (float __x) throw (); extern float __significandf (float __x) throw (); extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnanf (float __value) throw () __attribute__ ((__const__)); extern int isnanf (float __value) throw () __attribute__ ((__const__)); extern float j0f (float) throw (); extern float __j0f (float) throw (); extern float j1f (float) throw (); extern float __j1f (float) throw (); extern float jnf (int, float) throw (); extern float __jnf (int, float) throw (); extern float y0f (float) throw (); extern float __y0f (float) throw (); extern float y1f (float) throw (); extern float __y1f (float) throw (); extern float ynf (int, float) throw (); extern float __ynf (int, float) throw (); extern float erff (float) throw (); extern float __erff (float) throw (); extern float erfcf (float) throw (); extern float __erfcf (float) throw (); extern float lgammaf (float) throw (); extern float __lgammaf (float) throw (); extern float tgammaf (float) throw (); extern float __tgammaf (float) throw (); extern float gammaf (float) throw (); extern float __gammaf (float) throw (); extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw (); extern float rintf (float __x) throw (); extern float __rintf (float __x) throw (); extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw (); extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw (); extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw (); extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw (); extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw (); extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__)); extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw (); extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw (); extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw (); extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw (); extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw (); extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw (); extern float fmaxf (float __x, float __y) throw (); extern float __fmaxf (float __x, float __y) throw (); extern float fminf (float __x, float __y) throw (); extern float __fminf (float __x, float __y) throw (); extern int __fpclassifyf (float __value) throw () __attribute__ ((__const__)); extern int __signbitf (float __value) throw () __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw (); extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw (); # 95 "/usr/include/math.h" 2 3 4 # 141 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw (); extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw (); extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw (); extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw (); extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw (); extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw (); extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw (); extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw (); extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw (); extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw (); extern void sincosl # 82 "/usr/include/bits/mathcalls.h" 3 4 (long double __x, long double *__sinx, long double *__cosx) throw (); extern void __sincosl # 82 "/usr/include/bits/mathcalls.h" 3 4 (long double __x, long double *__sinx, long double *__cosx) throw () ; extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw (); extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw (); extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw (); extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw (); extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw (); extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw (); extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw (); extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw (); extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw (); extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw (); extern long double pow10l (long double __x) throw (); extern long double __pow10l (long double __x) throw (); extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw (); extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw (); extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw (); extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw (); extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw (); extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw (); extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw (); extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw (); extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw (); extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__)); extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw (); extern int __isinfl (long double __value) throw () __attribute__ ((__const__)); extern int __finitel (long double __value) throw () __attribute__ ((__const__)); extern int isinfl (long double __value) throw () __attribute__ ((__const__)); extern int finitel (long double __value) throw () __attribute__ ((__const__)); extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw (); extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw (); extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double nanl (__const char *__tagb) throw () __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnanl (long double __value) throw () __attribute__ ((__const__)); extern int isnanl (long double __value) throw () __attribute__ ((__const__)); extern long double j0l (long double) throw (); extern long double __j0l (long double) throw (); extern long double j1l (long double) throw (); extern long double __j1l (long double) throw (); extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw (); extern long double y0l (long double) throw (); extern long double __y0l (long double) throw (); extern long double y1l (long double) throw (); extern long double __y1l (long double) throw (); extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw (); extern long double erfl (long double) throw (); extern long double __erfl (long double) throw (); extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw (); extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw (); extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw (); extern long double gammal (long double) throw (); extern long double __gammal (long double) throw (); extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw (); extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw (); extern long double nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw (); extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw (); extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw (); extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw (); extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw (); extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__)); extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw (); extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw (); extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw (); extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw (); extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw (); extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw (); extern long double fmaxl (long double __x, long double __y) throw (); extern long double __fmaxl (long double __x, long double __y) throw (); extern long double fminl (long double __x, long double __y) throw (); extern long double __fminl (long double __x, long double __y) throw (); extern int __fpclassifyl (long double __value) throw () __attribute__ ((__const__)); extern int __signbitl (long double __value) throw () __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw (); extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw (); # 142 "/usr/include/math.h" 2 3 4 # 157 "/usr/include/math.h" 3 4 extern int signgam; # 198 "/usr/include/math.h" 3 4 enum { FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL }; # 291 "/usr/include/math.h" 3 4 typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_, _ISOC_ } _LIB_VERSION_TYPE; extern _LIB_VERSION_TYPE _LIB_VERSION; # 314 "/usr/include/math.h" 3 4 struct __exception { int type; char *name; double arg1; double arg2; double retval; }; extern int matherr (struct __exception *__exc) throw (); # 416 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathinline.h" 1 3 4 # 25 "/usr/include/bits/mathinline.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/mathinline.h" 2 3 4 # 37 "/usr/include/bits/mathinline.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __signbitf (float __x) throw () { int __m; __asm ("pmovmskb %1, %0" : "=r" (__m) : "x" (__x)); return __m & 0x8; } extern __inline __attribute__ ((__gnu_inline__)) int __signbit (double __x) throw () { int __m; __asm ("pmovmskb %1, %0" : "=r" (__m) : "x" (__x)); return __m & 0x80; } extern __inline __attribute__ ((__gnu_inline__)) int __signbitl (long double __x) throw () { __extension__ union { long double __l; int __i[3]; } __u = { __l: __x }; return (__u.__i[2] & 0x8000) != 0; } # 417 "/usr/include/math.h" 2 3 4 # 472 "/usr/include/math.h" 3 4 } # 236 "/usr/include/python2.6/pyport.h" 2 # 1 "/usr/include/sys/time.h" 1 3 4 # 29 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 30 "/usr/include/sys/time.h" 2 3 4 # 39 "/usr/include/sys/time.h" 3 4 extern "C" { # 57 "/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 73 "/usr/include/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) throw () __attribute__ ((__nonnull__ (1))); extern int settimeofday (__const struct timeval *__tv, __const struct timezone *__tz) throw () __attribute__ ((__nonnull__ (1))); extern int adjtime (__const struct timeval *__delta, struct timeval *__olddelta) throw (); enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef int __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) throw (); extern int setitimer (__itimer_which_t __which, __const struct itimerval *__restrict __new, struct itimerval *__restrict __old) throw (); extern int utimes (__const char *__file, __const struct timeval __tvp[2]) throw () __attribute__ ((__nonnull__ (1))); extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) throw () __attribute__ ((__nonnull__ (1))); extern int futimes (int __fd, __const struct timeval __tvp[2]) throw (); extern int futimesat (int __fd, __const char *__file, __const struct timeval __tvp[2]) throw (); # 191 "/usr/include/sys/time.h" 3 4 } # 243 "/usr/include/python2.6/pyport.h" 2 # 300 "/usr/include/python2.6/pyport.h" # 1 "/usr/include/sys/stat.h" 1 3 4 # 105 "/usr/include/sys/stat.h" 3 4 extern "C" { # 1 "/usr/include/bits/stat.h" 1 3 4 # 43 "/usr/include/bits/stat.h" 3 4 struct stat { __dev_t st_dev; __ino_t st_ino; __nlink_t st_nlink; __mode_t st_mode; __uid_t st_uid; __gid_t st_gid; int __pad0; __dev_t st_rdev; __off_t st_size; __blksize_t st_blksize; __blkcnt_t st_blocks; # 88 "/usr/include/bits/stat.h" 3 4 struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 103 "/usr/include/bits/stat.h" 3 4 long int __unused[3]; # 112 "/usr/include/bits/stat.h" 3 4 }; struct stat64 { __dev_t st_dev; __ino64_t st_ino; __nlink_t st_nlink; __mode_t st_mode; __uid_t st_uid; __gid_t st_gid; int __pad0; __dev_t st_rdev; __off_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 164 "/usr/include/bits/stat.h" 3 4 long int __unused[3]; }; # 108 "/usr/include/sys/stat.h" 2 3 4 # 209 "/usr/include/sys/stat.h" 3 4 extern int stat (__const char *__restrict __file, struct stat *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int fstat (int __fd, struct stat *__buf) throw () __attribute__ ((__nonnull__ (2))); # 228 "/usr/include/sys/stat.h" 3 4 extern int stat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int fstat64 (int __fd, struct stat64 *__buf) throw () __attribute__ ((__nonnull__ (2))); extern int fstatat (int __fd, __const char *__restrict __file, struct stat *__restrict __buf, int __flag) throw () __attribute__ ((__nonnull__ (2, 3))); # 253 "/usr/include/sys/stat.h" 3 4 extern int fstatat64 (int __fd, __const char *__restrict __file, struct stat64 *__restrict __buf, int __flag) throw () __attribute__ ((__nonnull__ (2, 3))); extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); # 276 "/usr/include/sys/stat.h" 3 4 extern int lstat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int chmod (__const char *__file, __mode_t __mode) throw () __attribute__ ((__nonnull__ (1))); extern int lchmod (__const char *__file, __mode_t __mode) throw () __attribute__ ((__nonnull__ (1))); extern int fchmod (int __fd, __mode_t __mode) throw (); extern int fchmodat (int __fd, __const char *__file, __mode_t __mode, int __flag) throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern __mode_t umask (__mode_t __mask) throw (); extern __mode_t getumask (void) throw (); extern int mkdir (__const char *__path, __mode_t __mode) throw () __attribute__ ((__nonnull__ (1))); extern int mkdirat (int __fd, __const char *__path, __mode_t __mode) throw () __attribute__ ((__nonnull__ (2))); extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) throw () __attribute__ ((__nonnull__ (1))); extern int mknodat (int __fd, __const char *__path, __mode_t __mode, __dev_t __dev) throw () __attribute__ ((__nonnull__ (2))); extern int mkfifo (__const char *__path, __mode_t __mode) throw () __attribute__ ((__nonnull__ (1))); extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode) throw () __attribute__ ((__nonnull__ (2))); extern int utimensat (int __fd, __const char *__path, __const struct timespec __times[2], int __flags) throw () __attribute__ ((__nonnull__ (2))); extern int futimens (int __fd, __const struct timespec __times[2]) throw (); # 399 "/usr/include/sys/stat.h" 3 4 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) throw () __attribute__ ((__nonnull__ (3))); extern int __xstat (int __ver, __const char *__filename, struct stat *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3))); extern int __lxstat (int __ver, __const char *__filename, struct stat *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3))); extern int __fxstatat (int __ver, int __fildes, __const char *__filename, struct stat *__stat_buf, int __flag) throw () __attribute__ ((__nonnull__ (3, 4))); # 432 "/usr/include/sys/stat.h" 3 4 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) throw () __attribute__ ((__nonnull__ (3))); extern int __xstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3))); extern int __lxstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3))); extern int __fxstatat64 (int __ver, int __fildes, __const char *__filename, struct stat64 *__stat_buf, int __flag) throw () __attribute__ ((__nonnull__ (3, 4))); extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, __dev_t *__dev) throw () __attribute__ ((__nonnull__ (2, 4))); extern int __xmknodat (int __ver, int __fd, __const char *__path, __mode_t __mode, __dev_t *__dev) throw () __attribute__ ((__nonnull__ (3, 5))); extern __inline __attribute__ ((__gnu_inline__)) int stat (__const char *__path, struct stat *__statbuf) throw () { return __xstat (1, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int lstat (__const char *__path, struct stat *__statbuf) throw () { return __lxstat (1, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int fstat (int __fd, struct stat *__statbuf) throw () { return __fxstat (1, __fd, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int fstatat (int __fd, __const char *__filename, struct stat *__statbuf, int __flag) throw () { return __fxstatat (1, __fd, __filename, __statbuf, __flag); } extern __inline __attribute__ ((__gnu_inline__)) int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) throw () { return __xmknod (0, __path, __mode, &__dev); } extern __inline __attribute__ ((__gnu_inline__)) int mknodat (int __fd, __const char *__path, __mode_t __mode, __dev_t __dev) throw () { return __xmknodat (0, __fd, __path, __mode, &__dev); } extern __inline __attribute__ ((__gnu_inline__)) int stat64 (__const char *__path, struct stat64 *__statbuf) throw () { return __xstat64 (1, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int lstat64 (__const char *__path, struct stat64 *__statbuf) throw () { return __lxstat64 (1, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int fstat64 (int __fd, struct stat64 *__statbuf) throw () { return __fxstat64 (1, __fd, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int fstatat64 (int __fd, __const char *__filename, struct stat64 *__statbuf, int __flag) throw () { return __fxstatat64 (1, __fd, __filename, __statbuf, __flag); } } # 301 "/usr/include/python2.6/pyport.h" 2 # 322 "/usr/include/python2.6/pyport.h" extern "C" { # 698 "/usr/include/python2.6/pyport.h" } # 59 "/usr/include/python2.6/Python.h" 2 # 77 "/usr/include/python2.6/Python.h" # 1 "/usr/include/python2.6/pymath.h" 1 # 78 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pymem.h" 1 # 11 "/usr/include/python2.6/pymem.h" extern "C" { # 52 "/usr/include/python2.6/pymem.h" void * PyMem_Malloc(size_t); void * PyMem_Realloc(void *, size_t); void PyMem_Free(void *); # 119 "/usr/include/python2.6/pymem.h" } # 79 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/object.h" 1 extern "C" { # 106 "/usr/include/python2.6/object.h" typedef struct _object { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; } PyObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t ob_size; } PyVarObject; # 133 "/usr/include/python2.6/object.h" typedef PyObject * (*unaryfunc)(PyObject *); typedef PyObject * (*binaryfunc)(PyObject *, PyObject *); typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *); typedef int (*inquiry)(PyObject *); typedef Py_ssize_t (*lenfunc)(PyObject *); typedef int (*coercion)(PyObject **, PyObject **); typedef PyObject *(*intargfunc)(PyObject *, int) __attribute__((__deprecated__)); typedef PyObject *(*intintargfunc)(PyObject *, int, int) __attribute__((__deprecated__)); typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t); typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t); typedef int(*intobjargproc)(PyObject *, int, PyObject *); typedef int(*intintobjargproc)(PyObject *, int, int, PyObject *); typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *); typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *); typedef int (*getreadbufferproc)(PyObject *, int, void **); typedef int (*getwritebufferproc)(PyObject *, int, void **); typedef int (*getsegcountproc)(PyObject *, int *); typedef int (*getcharbufferproc)(PyObject *, int, char **); typedef Py_ssize_t (*readbufferproc)(PyObject *, Py_ssize_t, void **); typedef Py_ssize_t (*writebufferproc)(PyObject *, Py_ssize_t, void **); typedef Py_ssize_t (*segcountproc)(PyObject *, Py_ssize_t *); typedef Py_ssize_t (*charbufferproc)(PyObject *, Py_ssize_t, char **); typedef struct bufferinfo { void *buf; PyObject *obj; Py_ssize_t len; Py_ssize_t itemsize; int readonly; int ndim; char *format; Py_ssize_t *shape; Py_ssize_t *strides; Py_ssize_t *suboffsets; void *internal; } Py_buffer; typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); typedef void (*releasebufferproc)(PyObject *, Py_buffer *); # 213 "/usr/include/python2.6/object.h" typedef int (*objobjproc)(PyObject *, PyObject *); typedef int (*visitproc)(PyObject *, void *); typedef int (*traverseproc)(PyObject *, visitproc, void *); typedef struct { # 226 "/usr/include/python2.6/object.h" binaryfunc nb_add; binaryfunc nb_subtract; binaryfunc nb_multiply; binaryfunc nb_divide; binaryfunc nb_remainder; binaryfunc nb_divmod; ternaryfunc nb_power; unaryfunc nb_negative; unaryfunc nb_positive; unaryfunc nb_absolute; inquiry nb_nonzero; unaryfunc nb_invert; binaryfunc nb_lshift; binaryfunc nb_rshift; binaryfunc nb_and; binaryfunc nb_xor; binaryfunc nb_or; coercion nb_coerce; unaryfunc nb_int; unaryfunc nb_long; unaryfunc nb_float; unaryfunc nb_oct; unaryfunc nb_hex; binaryfunc nb_inplace_add; binaryfunc nb_inplace_subtract; binaryfunc nb_inplace_multiply; binaryfunc nb_inplace_divide; binaryfunc nb_inplace_remainder; ternaryfunc nb_inplace_power; binaryfunc nb_inplace_lshift; binaryfunc nb_inplace_rshift; binaryfunc nb_inplace_and; binaryfunc nb_inplace_xor; binaryfunc nb_inplace_or; binaryfunc nb_floor_divide; binaryfunc nb_true_divide; binaryfunc nb_inplace_floor_divide; binaryfunc nb_inplace_true_divide; unaryfunc nb_index; } PyNumberMethods; typedef struct { lenfunc sq_length; binaryfunc sq_concat; ssizeargfunc sq_repeat; ssizeargfunc sq_item; ssizessizeargfunc sq_slice; ssizeobjargproc sq_ass_item; ssizessizeobjargproc sq_ass_slice; objobjproc sq_contains; binaryfunc sq_inplace_concat; ssizeargfunc sq_inplace_repeat; } PySequenceMethods; typedef struct { lenfunc mp_length; binaryfunc mp_subscript; objobjargproc mp_ass_subscript; } PyMappingMethods; typedef struct { readbufferproc bf_getreadbuffer; writebufferproc bf_getwritebuffer; segcountproc bf_getsegcount; charbufferproc bf_getcharbuffer; getbufferproc bf_getbuffer; releasebufferproc bf_releasebuffer; } PyBufferProcs; typedef void (*freefunc)(void *); typedef void (*destructor)(PyObject *); typedef int (*printfunc)(PyObject *, FILE *, int); typedef PyObject *(*getattrfunc)(PyObject *, char *); typedef PyObject *(*getattrofunc)(PyObject *, PyObject *); typedef int (*setattrfunc)(PyObject *, char *, PyObject *); typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *); typedef int (*cmpfunc)(PyObject *, PyObject *); typedef PyObject *(*reprfunc)(PyObject *); typedef long (*hashfunc)(PyObject *); typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int); typedef PyObject *(*getiterfunc) (PyObject *); typedef PyObject *(*iternextfunc) (PyObject *); typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *); typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *); typedef int (*initproc)(PyObject *, PyObject *, PyObject *); typedef PyObject *(*newfunc)(struct _typeobject *, PyObject *, PyObject *); typedef PyObject *(*allocfunc)(struct _typeobject *, Py_ssize_t); typedef struct _typeobject { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t ob_size; const char *tp_name; Py_ssize_t tp_basicsize, tp_itemsize; destructor tp_dealloc; printfunc tp_print; getattrfunc tp_getattr; setattrfunc tp_setattr; cmpfunc tp_compare; reprfunc tp_repr; PyNumberMethods *tp_as_number; PySequenceMethods *tp_as_sequence; PyMappingMethods *tp_as_mapping; hashfunc tp_hash; ternaryfunc tp_call; reprfunc tp_str; getattrofunc tp_getattro; setattrofunc tp_setattro; PyBufferProcs *tp_as_buffer; long tp_flags; const char *tp_doc; traverseproc tp_traverse; inquiry tp_clear; richcmpfunc tp_richcompare; Py_ssize_t tp_weaklistoffset; getiterfunc tp_iter; iternextfunc tp_iternext; struct PyMethodDef *tp_methods; struct PyMemberDef *tp_members; struct PyGetSetDef *tp_getset; struct _typeobject *tp_base; PyObject *tp_dict; descrgetfunc tp_descr_get; descrsetfunc tp_descr_set; Py_ssize_t tp_dictoffset; initproc tp_init; allocfunc tp_alloc; newfunc tp_new; freefunc tp_free; inquiry tp_is_gc; PyObject *tp_bases; PyObject *tp_mro; PyObject *tp_cache; PyObject *tp_subclasses; PyObject *tp_weaklist; destructor tp_del; unsigned int tp_version_tag; # 409 "/usr/include/python2.6/object.h" } PyTypeObject; typedef struct _heaptypeobject { PyTypeObject ht_type; PyNumberMethods as_number; PyMappingMethods as_mapping; PySequenceMethods as_sequence; PyBufferProcs as_buffer; PyObject *ht_name, *ht_slots; } PyHeapTypeObject; int PyType_IsSubtype(PyTypeObject *, PyTypeObject *); extern PyTypeObject PyType_Type; extern PyTypeObject PyBaseObject_Type; extern PyTypeObject PySuper_Type; int PyType_Ready(PyTypeObject *); PyObject * PyType_GenericAlloc(PyTypeObject *, Py_ssize_t); PyObject * PyType_GenericNew(PyTypeObject *, PyObject *, PyObject *); PyObject * _PyType_Lookup(PyTypeObject *, PyObject *); unsigned int PyType_ClearCache(void); void PyType_Modified(PyTypeObject *); int PyObject_Print(PyObject *, FILE *, int); void _PyObject_Dump(PyObject *); PyObject * PyObject_Repr(PyObject *); PyObject * _PyObject_Str(PyObject *); PyObject * PyObject_Str(PyObject *); PyObject * PyObject_Unicode(PyObject *); int PyObject_Compare(PyObject *, PyObject *); PyObject * PyObject_RichCompare(PyObject *, PyObject *, int); int PyObject_RichCompareBool(PyObject *, PyObject *, int); PyObject * PyObject_GetAttrString(PyObject *, const char *); int PyObject_SetAttrString(PyObject *, const char *, PyObject *); int PyObject_HasAttrString(PyObject *, const char *); PyObject * PyObject_GetAttr(PyObject *, PyObject *); int PyObject_SetAttr(PyObject *, PyObject *, PyObject *); int PyObject_HasAttr(PyObject *, PyObject *); PyObject ** _PyObject_GetDictPtr(PyObject *); PyObject * PyObject_SelfIter(PyObject *); PyObject * PyObject_GenericGetAttr(PyObject *, PyObject *); int PyObject_GenericSetAttr(PyObject *, PyObject *, PyObject *); long PyObject_Hash(PyObject *); long PyObject_HashNotImplemented(PyObject *); int PyObject_IsTrue(PyObject *); int PyObject_Not(PyObject *); int PyCallable_Check(PyObject *); int PyNumber_Coerce(PyObject **, PyObject **); int PyNumber_CoerceEx(PyObject **, PyObject **); void PyObject_ClearWeakRefs(PyObject *); extern int _PyObject_SlotCompare(PyObject *, PyObject *); PyObject * PyObject_Dir(PyObject *); int Py_ReprEnter(PyObject *); void Py_ReprLeave(PyObject *); long _Py_HashDouble(double); long _Py_HashPointer(void*); # 806 "/usr/include/python2.6/object.h" void Py_IncRef(PyObject *); void Py_DecRef(PyObject *); extern PyObject _Py_NoneStruct; # 825 "/usr/include/python2.6/object.h" extern PyObject _Py_NotImplementedStruct; # 839 "/usr/include/python2.6/object.h" extern int _Py_SwappedOp[]; # 951 "/usr/include/python2.6/object.h" void _PyTrash_deposit_object(PyObject*); void _PyTrash_destroy_chain(void); extern int _PyTrash_delete_nesting; extern PyObject * _PyTrash_delete_later; # 971 "/usr/include/python2.6/object.h" } # 81 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/objimpl.h" 1 # 11 "/usr/include/python2.6/objimpl.h" extern "C" { # 97 "/usr/include/python2.6/objimpl.h" void * PyObject_Malloc(size_t); void * PyObject_Realloc(void *, size_t); void PyObject_Free(void *); # 143 "/usr/include/python2.6/objimpl.h" PyObject * PyObject_Init(PyObject *, PyTypeObject *); PyVarObject * PyObject_InitVar(PyVarObject *, PyTypeObject *, Py_ssize_t); PyObject * _PyObject_New(PyTypeObject *); PyVarObject * _PyObject_NewVar(PyTypeObject *, Py_ssize_t); # 228 "/usr/include/python2.6/objimpl.h" Py_ssize_t PyGC_Collect(void); # 237 "/usr/include/python2.6/objimpl.h" PyVarObject * _PyObject_GC_Resize(PyVarObject *, Py_ssize_t); typedef union _gc_head { struct { union _gc_head *gc_next; union _gc_head *gc_prev; Py_ssize_t gc_refs; } gc; long double dummy; } PyGC_Head; extern PyGC_Head *_PyGC_generation0; # 288 "/usr/include/python2.6/objimpl.h" PyObject * _PyObject_GC_Malloc(size_t); PyObject * _PyObject_GC_New(PyTypeObject *); PyVarObject * _PyObject_GC_NewVar(PyTypeObject *, Py_ssize_t); void PyObject_GC_Track(void *); void PyObject_GC_UnTrack(void *); void PyObject_GC_Del(void *); # 334 "/usr/include/python2.6/objimpl.h" } # 82 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pydebug.h" 1 extern "C" { extern int Py_DebugFlag; extern int Py_VerboseFlag; extern int Py_InteractiveFlag; extern int Py_InspectFlag; extern int Py_OptimizeFlag; extern int Py_NoSiteFlag; extern int Py_BytesWarningFlag; extern int Py_UseClassExceptionsFlag; extern int Py_FrozenFlag; extern int Py_TabcheckFlag; extern int Py_UnicodeFlag; extern int Py_IgnoreEnvironmentFlag; extern int Py_DivisionWarningFlag; extern int Py_DontWriteBytecodeFlag; extern int Py_NoUserSiteDirectory; extern int _Py_QnewFlag; extern int Py_Py3kWarningFlag; void Py_FatalError(const char *message); } # 84 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/unicodeobject.h" 1 # 120 "/usr/include/python2.6/unicodeobject.h" # 1 "/usr/include/wchar.h" 1 3 4 # 121 "/usr/include/python2.6/unicodeobject.h" 2 typedef unsigned int Py_UCS4; # 137 "/usr/include/python2.6/unicodeobject.h" typedef Py_UCS4 Py_UNICODE; # 410 "/usr/include/python2.6/unicodeobject.h" extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t length; Py_UNICODE *str; long hash; PyObject *defenc; } PyUnicodeObject; extern PyTypeObject PyUnicode_Type; # 464 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_FromUnicode( const Py_UNICODE *u, Py_ssize_t size ); PyObject* PyUnicodeUCS4_FromStringAndSize( const char *u, Py_ssize_t size ); PyObject* PyUnicodeUCS4_FromString( const char *u ); Py_UNICODE * PyUnicodeUCS4_AsUnicode( PyObject *unicode ); Py_ssize_t PyUnicodeUCS4_GetSize( PyObject *unicode ); Py_UNICODE PyUnicodeUCS4_GetMax(void); # 511 "/usr/include/python2.6/unicodeobject.h" int PyUnicodeUCS4_Resize( PyObject **unicode, Py_ssize_t length ); # 533 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_FromEncodedObject( register PyObject *obj, const char *encoding, const char *errors ); # 552 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_FromObject( register PyObject *obj ); PyObject * PyUnicodeUCS4_FromFormatV(const char*, va_list); PyObject * PyUnicodeUCS4_FromFormat(const char*, ...); PyObject * _PyUnicode_FormatAdvanced(PyObject *obj, Py_UNICODE *format_spec, Py_ssize_t format_spec_len); # 574 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_FromWideChar( register const wchar_t *w, Py_ssize_t size ); # 591 "/usr/include/python2.6/unicodeobject.h" Py_ssize_t PyUnicodeUCS4_AsWideChar( PyUnicodeObject *unicode, register wchar_t *w, Py_ssize_t size ); # 609 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_FromOrdinal(int ordinal); # 620 "/usr/include/python2.6/unicodeobject.h" int PyUnicodeUCS4_ClearFreelist(void); # 656 "/usr/include/python2.6/unicodeobject.h" PyObject * _PyUnicodeUCS4_AsDefaultEncodedString( PyObject *, const char *); # 668 "/usr/include/python2.6/unicodeobject.h" const char* PyUnicodeUCS4_GetDefaultEncoding(void); int PyUnicodeUCS4_SetDefaultEncoding( const char *encoding ); PyObject* PyUnicodeUCS4_Decode( const char *s, Py_ssize_t size, const char *encoding, const char *errors ); PyObject* PyUnicodeUCS4_Encode( const Py_UNICODE *s, Py_ssize_t size, const char *encoding, const char *errors ); PyObject* PyUnicodeUCS4_AsEncodedObject( PyObject *unicode, const char *encoding, const char *errors ); PyObject* PyUnicodeUCS4_AsEncodedString( PyObject *unicode, const char *encoding, const char *errors ); PyObject* PyUnicode_BuildEncodingMap( PyObject* string ); PyObject* PyUnicode_DecodeUTF7( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicode_DecodeUTF7Stateful( const char *string, Py_ssize_t length, const char *errors, Py_ssize_t *consumed ); PyObject* PyUnicode_EncodeUTF7( const Py_UNICODE *data, Py_ssize_t length, int encodeSetO, int encodeWhiteSpace, const char *errors ); PyObject* PyUnicodeUCS4_DecodeUTF8( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicodeUCS4_DecodeUTF8Stateful( const char *string, Py_ssize_t length, const char *errors, Py_ssize_t *consumed ); PyObject* PyUnicodeUCS4_AsUTF8String( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeUTF8( const Py_UNICODE *data, Py_ssize_t length, const char *errors ); # 800 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_DecodeUTF32( const char *string, Py_ssize_t length, const char *errors, int *byteorder ); PyObject* PyUnicodeUCS4_DecodeUTF32Stateful( const char *string, Py_ssize_t length, const char *errors, int *byteorder, Py_ssize_t *consumed ); PyObject* PyUnicodeUCS4_AsUTF32String( PyObject *unicode ); # 842 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_EncodeUTF32( const Py_UNICODE *data, Py_ssize_t length, const char *errors, int byteorder ); # 874 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_DecodeUTF16( const char *string, Py_ssize_t length, const char *errors, int *byteorder ); PyObject* PyUnicodeUCS4_DecodeUTF16Stateful( const char *string, Py_ssize_t length, const char *errors, int *byteorder, Py_ssize_t *consumed ); PyObject* PyUnicodeUCS4_AsUTF16String( PyObject *unicode ); # 920 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_EncodeUTF16( const Py_UNICODE *data, Py_ssize_t length, const char *errors, int byteorder ); PyObject* PyUnicodeUCS4_DecodeUnicodeEscape( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicodeUCS4_AsUnicodeEscapeString( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeUnicodeEscape( const Py_UNICODE *data, Py_ssize_t length ); PyObject* PyUnicodeUCS4_DecodeRawUnicodeEscape( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicodeUCS4_AsRawUnicodeEscapeString( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeRawUnicodeEscape( const Py_UNICODE *data, Py_ssize_t length ); PyObject *_PyUnicode_DecodeUnicodeInternal( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicodeUCS4_DecodeLatin1( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicodeUCS4_AsLatin1String( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeLatin1( const Py_UNICODE *data, Py_ssize_t length, const char *errors ); PyObject* PyUnicodeUCS4_DecodeASCII( const char *string, Py_ssize_t length, const char *errors ); PyObject* PyUnicodeUCS4_AsASCIIString( PyObject *unicode ); PyObject* PyUnicodeUCS4_EncodeASCII( const Py_UNICODE *data, Py_ssize_t length, const char *errors ); # 1037 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_DecodeCharmap( const char *string, Py_ssize_t length, PyObject *mapping, const char *errors ); PyObject* PyUnicodeUCS4_AsCharmapString( PyObject *unicode, PyObject *mapping ); PyObject* PyUnicodeUCS4_EncodeCharmap( const Py_UNICODE *data, Py_ssize_t length, PyObject *mapping, const char *errors ); # 1072 "/usr/include/python2.6/unicodeobject.h" PyObject * PyUnicodeUCS4_TranslateCharmap( const Py_UNICODE *data, Py_ssize_t length, PyObject *table, const char *errors ); # 1132 "/usr/include/python2.6/unicodeobject.h" int PyUnicodeUCS4_EncodeDecimal( Py_UNICODE *s, Py_ssize_t length, char *output, const char *errors ); # 1147 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_Concat( PyObject *left, PyObject *right ); # 1163 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_Split( PyObject *s, PyObject *sep, Py_ssize_t maxsplit ); PyObject* PyUnicodeUCS4_Splitlines( PyObject *s, int keepends ); PyObject* PyUnicodeUCS4_Partition( PyObject *s, PyObject *sep ); PyObject* PyUnicodeUCS4_RPartition( PyObject *s, PyObject *sep ); # 1207 "/usr/include/python2.6/unicodeobject.h" PyObject* PyUnicodeUCS4_RSplit( PyObject *s, PyObject *sep, Py_ssize_t maxsplit ); # 1225 "/usr/include/python2.6/unicodeobject.h" PyObject * PyUnicodeUCS4_Translate( PyObject *str, PyObject *table, const char *errors ); PyObject* PyUnicodeUCS4_Join( PyObject *separator, PyObject *seq ); Py_ssize_t PyUnicodeUCS4_Tailmatch( PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end, int direction ); Py_ssize_t PyUnicodeUCS4_Find( PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end, int direction ); Py_ssize_t PyUnicodeUCS4_Count( PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end ); PyObject * PyUnicodeUCS4_Replace( PyObject *str, PyObject *substr, PyObject *replstr, Py_ssize_t maxcount ); int PyUnicodeUCS4_Compare( PyObject *left, PyObject *right ); # 1306 "/usr/include/python2.6/unicodeobject.h" PyObject * PyUnicodeUCS4_RichCompare( PyObject *left, PyObject *right, int op ); PyObject * PyUnicodeUCS4_Format( PyObject *format, PyObject *args ); int PyUnicodeUCS4_Contains( PyObject *container, PyObject *element ); PyObject * _PyUnicode_XStrip( PyUnicodeObject *self, int striptype, PyObject *sepobj ); extern const unsigned char _Py_ascii_whitespace[]; # 1351 "/usr/include/python2.6/unicodeobject.h" int _PyUnicodeUCS4_IsLowercase( Py_UNICODE ch ); int _PyUnicodeUCS4_IsUppercase( Py_UNICODE ch ); int _PyUnicodeUCS4_IsTitlecase( Py_UNICODE ch ); int _PyUnicodeUCS4_IsWhitespace( const Py_UNICODE ch ); int _PyUnicodeUCS4_IsLinebreak( const Py_UNICODE ch ); Py_UNICODE _PyUnicodeUCS4_ToLowercase( Py_UNICODE ch ); Py_UNICODE _PyUnicodeUCS4_ToUppercase( Py_UNICODE ch ); Py_UNICODE _PyUnicodeUCS4_ToTitlecase( Py_UNICODE ch ); int _PyUnicodeUCS4_ToDecimalDigit( Py_UNICODE ch ); int _PyUnicodeUCS4_ToDigit( Py_UNICODE ch ); double _PyUnicodeUCS4_ToNumeric( Py_UNICODE ch ); int _PyUnicodeUCS4_IsDecimalDigit( Py_UNICODE ch ); int _PyUnicodeUCS4_IsDigit( Py_UNICODE ch ); int _PyUnicodeUCS4_IsNumeric( Py_UNICODE ch ); int _PyUnicodeUCS4_IsAlpha( Py_UNICODE ch ); } # 86 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/intobject.h" 1 # 20 "/usr/include/python2.6/intobject.h" extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; long ob_ival; } PyIntObject; extern PyTypeObject PyInt_Type; PyObject * PyInt_FromString(char*, char**, int); PyObject * PyInt_FromUnicode(Py_UNICODE*, Py_ssize_t, int); PyObject * PyInt_FromLong(long); PyObject * PyInt_FromSize_t(size_t); PyObject * PyInt_FromSsize_t(Py_ssize_t); long PyInt_AsLong(PyObject *); Py_ssize_t PyInt_AsSsize_t(PyObject *); unsigned long PyInt_AsUnsignedLongMask(PyObject *); unsigned long long PyInt_AsUnsignedLongLongMask(PyObject *); long PyInt_GetMax(void); # 59 "/usr/include/python2.6/intobject.h" unsigned long PyOS_strtoul(char *, char **, int); long PyOS_strtol(char *, char **, int); int PyInt_ClearFreeList(void); PyObject* _PyInt_Format(PyIntObject* v, int base, int newstyle); PyObject * _PyInt_FormatAdvanced(PyObject *obj, char *format_spec, Py_ssize_t format_spec_len); } # 87 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/boolobject.h" 1 extern "C" { typedef PyIntObject PyBoolObject; extern PyTypeObject PyBool_Type; extern PyIntObject _Py_ZeroStruct, _Py_TrueStruct; # 31 "/usr/include/python2.6/boolobject.h" PyObject * PyBool_FromLong(long); } # 88 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/longobject.h" 1 extern "C" { typedef struct _longobject PyLongObject; extern PyTypeObject PyLong_Type; PyObject * PyLong_FromLong(long); PyObject * PyLong_FromUnsignedLong(unsigned long); PyObject * PyLong_FromDouble(double); PyObject * PyLong_FromSize_t(size_t); PyObject * PyLong_FromSsize_t(Py_ssize_t); long PyLong_AsLong(PyObject *); unsigned long PyLong_AsUnsignedLong(PyObject *); unsigned long PyLong_AsUnsignedLongMask(PyObject *); Py_ssize_t PyLong_AsSsize_t(PyObject *); extern int _PyLong_DigitValue[256]; double _PyLong_AsScaledDouble(PyObject *vv, int *e); double PyLong_AsDouble(PyObject *); PyObject * PyLong_FromVoidPtr(void *); void * PyLong_AsVoidPtr(PyObject *); PyObject * PyLong_FromLongLong(long long); PyObject * PyLong_FromUnsignedLongLong(unsigned long long); long long PyLong_AsLongLong(PyObject *); unsigned long long PyLong_AsUnsignedLongLong(PyObject *); unsigned long long PyLong_AsUnsignedLongLongMask(PyObject *); PyObject * PyLong_FromString(char *, char **, int); PyObject * PyLong_FromUnicode(Py_UNICODE*, Py_ssize_t, int); int _PyLong_Sign(PyObject *v); # 73 "/usr/include/python2.6/longobject.h" size_t _PyLong_NumBits(PyObject *v); # 88 "/usr/include/python2.6/longobject.h" PyObject * _PyLong_FromByteArray( const unsigned char* bytes, size_t n, int little_endian, int is_signed); # 111 "/usr/include/python2.6/longobject.h" int _PyLong_AsByteArray(PyLongObject* v, unsigned char* bytes, size_t n, int little_endian, int is_signed); PyObject * _PyLong_Format(PyObject *aa, int base, int addL, int newstyle); PyObject * _PyLong_FormatAdvanced(PyObject *obj, char *format_spec, Py_ssize_t format_spec_len); } # 89 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/floatobject.h" 1 # 11 "/usr/include/python2.6/floatobject.h" extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; double ob_fval; } PyFloatObject; extern PyTypeObject PyFloat_Type; # 35 "/usr/include/python2.6/floatobject.h" double PyFloat_GetMax(void); double PyFloat_GetMin(void); PyObject * PyFloat_GetInfo(void); PyObject * PyFloat_FromString(PyObject*, char** junk); PyObject * PyFloat_FromDouble(double); double PyFloat_AsDouble(PyObject *); void PyFloat_AsReprString(char*, PyFloatObject *v); void PyFloat_AsString(char*, PyFloatObject *v); # 97 "/usr/include/python2.6/floatobject.h" int _PyFloat_Pack4(double x, unsigned char *p, int le); int _PyFloat_Pack8(double x, unsigned char *p, int le); int _PyFloat_Digits(char *buf, double v, int *signum); void _PyFloat_DigitsInit(void); # 112 "/usr/include/python2.6/floatobject.h" double _PyFloat_Unpack4(const unsigned char *p, int le); double _PyFloat_Unpack8(const unsigned char *p, int le); int PyFloat_ClearFreeList(void); PyObject * _PyFloat_FormatAdvanced(PyObject *obj, char *format_spec, Py_ssize_t format_spec_len); } # 90 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/complexobject.h" 1 extern "C" { typedef struct { double real; double imag; } Py_complex; # 24 "/usr/include/python2.6/complexobject.h" Py_complex _Py_c_sum(Py_complex, Py_complex); Py_complex _Py_c_diff(Py_complex, Py_complex); Py_complex _Py_c_neg(Py_complex); Py_complex _Py_c_prod(Py_complex, Py_complex); Py_complex _Py_c_quot(Py_complex, Py_complex); Py_complex _Py_c_pow(Py_complex, Py_complex); double _Py_c_abs(Py_complex); # 40 "/usr/include/python2.6/complexobject.h" typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_complex cval; } PyComplexObject; extern PyTypeObject PyComplex_Type; PyObject * PyComplex_FromCComplex(Py_complex); PyObject * PyComplex_FromDoubles(double real, double imag); double PyComplex_RealAsDouble(PyObject *op); double PyComplex_ImagAsDouble(PyObject *op); Py_complex PyComplex_AsCComplex(PyObject *op); } # 92 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/rangeobject.h" 1 extern "C" { # 21 "/usr/include/python2.6/rangeobject.h" extern PyTypeObject PyRange_Type; } # 94 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/stringobject.h" 1 extern "C" { # 35 "/usr/include/python2.6/stringobject.h" typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t ob_size; long ob_shash; int ob_sstate; char ob_sval[1]; # 49 "/usr/include/python2.6/stringobject.h" } PyStringObject; extern PyTypeObject PyBaseString_Type; extern PyTypeObject PyString_Type; PyObject * PyString_FromStringAndSize(const char *, Py_ssize_t); PyObject * PyString_FromString(const char *); PyObject * PyString_FromFormatV(const char*, va_list) __attribute__((format(printf, 1, 0))); PyObject * PyString_FromFormat(const char*, ...) __attribute__((format(printf, 1, 2))); Py_ssize_t PyString_Size(PyObject *); char * PyString_AsString(PyObject *); PyObject * PyString_Repr(PyObject *, int); void PyString_Concat(PyObject **, PyObject *); void PyString_ConcatAndDel(PyObject **, PyObject *); int _PyString_Resize(PyObject **, Py_ssize_t); int _PyString_Eq(PyObject *, PyObject*); PyObject * PyString_Format(PyObject *, PyObject *); PyObject * _PyString_FormatLong(PyObject*, int, int, int, char**, int*); PyObject * PyString_DecodeEscape(const char *, Py_ssize_t, const char *, Py_ssize_t, const char *); void PyString_InternInPlace(PyObject **); void PyString_InternImmortal(PyObject **); PyObject * PyString_InternFromString(const char *); void _Py_ReleaseInternedStrings(void); # 96 "/usr/include/python2.6/stringobject.h" PyObject * _PyString_Join(PyObject *sep, PyObject *x); PyObject* PyString_Decode( const char *s, Py_ssize_t size, const char *encoding, const char *errors ); PyObject* PyString_Encode( const char *s, Py_ssize_t size, const char *encoding, const char *errors ); PyObject* PyString_AsEncodedObject( PyObject *str, const char *encoding, const char *errors ); # 137 "/usr/include/python2.6/stringobject.h" PyObject* PyString_AsEncodedString( PyObject *str, const char *encoding, const char *errors ); PyObject* PyString_AsDecodedObject( PyObject *str, const char *encoding, const char *errors ); # 160 "/usr/include/python2.6/stringobject.h" PyObject* PyString_AsDecodedString( PyObject *str, const char *encoding, const char *errors ); int PyString_AsStringAndSize( register PyObject *obj, register char **s, register Py_ssize_t *len ); int _PyString_InsertThousandsGrouping(char *buffer, Py_ssize_t n_buffer, Py_ssize_t n_digits, Py_ssize_t buf_size, Py_ssize_t *count, int append_zero_char); PyObject * _PyBytes_FormatAdvanced(PyObject *obj, char *format_spec, Py_ssize_t format_spec_len); } # 95 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/bufferobject.h" 1 # 9 "/usr/include/python2.6/bufferobject.h" extern "C" { extern PyTypeObject PyBuffer_Type; PyObject * PyBuffer_FromObject(PyObject *base, Py_ssize_t offset, Py_ssize_t size); PyObject * PyBuffer_FromReadWriteObject(PyObject *base, Py_ssize_t offset, Py_ssize_t size); PyObject * PyBuffer_FromMemory(void *ptr, Py_ssize_t size); PyObject * PyBuffer_FromReadWriteMemory(void *ptr, Py_ssize_t size); PyObject * PyBuffer_New(Py_ssize_t size); } # 97 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/bytesobject.h" 1 # 98 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/bytearrayobject.h" 1 extern "C" { # 22 "/usr/include/python2.6/bytearrayobject.h" typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t ob_size; int ob_exports; Py_ssize_t ob_alloc; char *ob_bytes; } PyByteArrayObject; extern PyTypeObject PyByteArray_Type; extern PyTypeObject PyByteArrayIter_Type; PyObject * PyByteArray_FromObject(PyObject *); PyObject * PyByteArray_Concat(PyObject *, PyObject *); PyObject * PyByteArray_FromStringAndSize(const char *, Py_ssize_t); Py_ssize_t PyByteArray_Size(PyObject *); char * PyByteArray_AsString(PyObject *); int PyByteArray_Resize(PyObject *, Py_ssize_t); extern char _PyByteArray_empty_string[]; } # 99 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/tupleobject.h" 1 extern "C" { # 24 "/usr/include/python2.6/tupleobject.h" typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t ob_size; PyObject *ob_item[1]; } PyTupleObject; extern PyTypeObject PyTuple_Type; PyObject * PyTuple_New(Py_ssize_t size); Py_ssize_t PyTuple_Size(PyObject *); PyObject * PyTuple_GetItem(PyObject *, Py_ssize_t); int PyTuple_SetItem(PyObject *, Py_ssize_t, PyObject *); PyObject * PyTuple_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); int _PyTuple_Resize(PyObject **, Py_ssize_t); PyObject * PyTuple_Pack(Py_ssize_t, ...); # 55 "/usr/include/python2.6/tupleobject.h" int PyTuple_ClearFreeList(void); } # 100 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/listobject.h" 1 # 19 "/usr/include/python2.6/listobject.h" extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t ob_size; PyObject **ob_item; # 38 "/usr/include/python2.6/listobject.h" Py_ssize_t allocated; } PyListObject; extern PyTypeObject PyList_Type; PyObject * PyList_New(Py_ssize_t size); Py_ssize_t PyList_Size(PyObject *); PyObject * PyList_GetItem(PyObject *, Py_ssize_t); int PyList_SetItem(PyObject *, Py_ssize_t, PyObject *); int PyList_Insert(PyObject *, Py_ssize_t, PyObject *); int PyList_Append(PyObject *, PyObject *); PyObject * PyList_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); int PyList_SetSlice(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); int PyList_Sort(PyObject *); int PyList_Reverse(PyObject *); PyObject * PyList_AsTuple(PyObject *); PyObject * _PyList_Extend(PyListObject *, PyObject *); } # 101 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/dictobject.h" 1 extern "C" { # 50 "/usr/include/python2.6/dictobject.h" typedef struct { Py_ssize_t me_hash; PyObject *me_key; PyObject *me_value; } PyDictEntry; # 69 "/usr/include/python2.6/dictobject.h" typedef struct _dictobject PyDictObject; struct _dictobject { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t ma_fill; Py_ssize_t ma_used; Py_ssize_t ma_mask; PyDictEntry *ma_table; PyDictEntry *(*ma_lookup)(PyDictObject *mp, PyObject *key, long hash); PyDictEntry ma_smalltable[8]; }; extern PyTypeObject PyDict_Type; PyObject * PyDict_New(void); PyObject * PyDict_GetItem(PyObject *mp, PyObject *key); int PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item); int PyDict_DelItem(PyObject *mp, PyObject *key); void PyDict_Clear(PyObject *mp); int PyDict_Next( PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value); int _PyDict_Next( PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, long *hash); PyObject * PyDict_Keys(PyObject *mp); PyObject * PyDict_Values(PyObject *mp); PyObject * PyDict_Items(PyObject *mp); Py_ssize_t PyDict_Size(PyObject *mp); PyObject * PyDict_Copy(PyObject *mp); int PyDict_Contains(PyObject *mp, PyObject *key); int _PyDict_Contains(PyObject *mp, PyObject *key, long hash); PyObject * _PyDict_NewPresized(Py_ssize_t minused); int PyDict_Update(PyObject *mp, PyObject *other); int PyDict_Merge(PyObject *mp, PyObject *other, int override); int PyDict_MergeFromSeq2(PyObject *d, PyObject *seq2, int override); PyObject * PyDict_GetItemString(PyObject *dp, const char *key); int PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item); int PyDict_DelItemString(PyObject *dp, const char *key); } # 102 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/enumobject.h" 1 extern "C" { extern PyTypeObject PyEnum_Type; extern PyTypeObject PyReversed_Type; } # 103 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/setobject.h" 1 extern "C" { # 24 "/usr/include/python2.6/setobject.h" typedef struct { long hash; PyObject *key; } setentry; typedef struct _setobject PySetObject; struct _setobject { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t fill; Py_ssize_t used; Py_ssize_t mask; setentry *table; setentry *(*lookup)(PySetObject *so, PyObject *key, long hash); setentry smalltable[8]; long hash; PyObject *weakreflist; }; extern PyTypeObject PySet_Type; extern PyTypeObject PyFrozenSet_Type; # 83 "/usr/include/python2.6/setobject.h" PyObject * PySet_New(PyObject *); PyObject * PyFrozenSet_New(PyObject *); Py_ssize_t PySet_Size(PyObject *anyset); int PySet_Clear(PyObject *set); int PySet_Contains(PyObject *anyset, PyObject *key); int PySet_Discard(PyObject *set, PyObject *key); int PySet_Add(PyObject *set, PyObject *key); int _PySet_Next(PyObject *set, Py_ssize_t *pos, PyObject **key); int _PySet_NextEntry(PyObject *set, Py_ssize_t *pos, PyObject **key, long *hash); PyObject * PySet_Pop(PyObject *set); int _PySet_Update(PyObject *set, PyObject *iterable); } # 104 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/methodobject.h" 1 extern "C" { extern PyTypeObject PyCFunction_Type; typedef PyObject *(*PyCFunction)(PyObject *, PyObject *); typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *, PyObject *); typedef PyObject *(*PyNoArgsFunction)(PyObject *); PyCFunction PyCFunction_GetFunction(PyObject *); PyObject * PyCFunction_GetSelf(PyObject *); int PyCFunction_GetFlags(PyObject *); # 35 "/usr/include/python2.6/methodobject.h" PyObject * PyCFunction_Call(PyObject *, PyObject *, PyObject *); struct PyMethodDef { const char *ml_name; PyCFunction ml_meth; int ml_flags; const char *ml_doc; }; typedef struct PyMethodDef PyMethodDef; PyObject * Py_FindMethod(PyMethodDef[], PyObject *, const char *); PyObject * PyCFunction_NewEx(PyMethodDef *, PyObject *, PyObject *); # 73 "/usr/include/python2.6/methodobject.h" typedef struct PyMethodChain { PyMethodDef *methods; struct PyMethodChain *link; } PyMethodChain; PyObject * Py_FindMethodInChain(PyMethodChain *, PyObject *, const char *); typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyMethodDef *m_ml; PyObject *m_self; PyObject *m_module; } PyCFunctionObject; int PyCFunction_ClearFreeList(void); } # 105 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/moduleobject.h" 1 extern "C" { extern PyTypeObject PyModule_Type; PyObject * PyModule_New(const char *); PyObject * PyModule_GetDict(PyObject *); char * PyModule_GetName(PyObject *); char * PyModule_GetFilename(PyObject *); void _PyModule_Clear(PyObject *); } # 106 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/funcobject.h" 1 extern "C" { # 21 "/usr/include/python2.6/funcobject.h" typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *func_code; PyObject *func_globals; PyObject *func_defaults; PyObject *func_closure; PyObject *func_doc; PyObject *func_name; PyObject *func_dict; PyObject *func_weakreflist; PyObject *func_module; } PyFunctionObject; extern PyTypeObject PyFunction_Type; PyObject * PyFunction_New(PyObject *, PyObject *); PyObject * PyFunction_GetCode(PyObject *); PyObject * PyFunction_GetGlobals(PyObject *); PyObject * PyFunction_GetModule(PyObject *); PyObject * PyFunction_GetDefaults(PyObject *); int PyFunction_SetDefaults(PyObject *, PyObject *); PyObject * PyFunction_GetClosure(PyObject *); int PyFunction_SetClosure(PyObject *, PyObject *); # 67 "/usr/include/python2.6/funcobject.h" extern PyTypeObject PyClassMethod_Type; extern PyTypeObject PyStaticMethod_Type; PyObject * PyClassMethod_New(PyObject *); PyObject * PyStaticMethod_New(PyObject *); } # 107 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/classobject.h" 1 # 9 "/usr/include/python2.6/classobject.h" extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *cl_bases; PyObject *cl_dict; PyObject *cl_name; PyObject *cl_getattr; PyObject *cl_setattr; PyObject *cl_delattr; } PyClassObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyClassObject *in_class; PyObject *in_dict; PyObject *in_weakreflist; } PyInstanceObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *im_func; PyObject *im_self; PyObject *im_class; PyObject *im_weakreflist; } PyMethodObject; extern PyTypeObject PyClass_Type, PyInstance_Type, PyMethod_Type; PyObject * PyClass_New(PyObject *, PyObject *, PyObject *); PyObject * PyInstance_New(PyObject *, PyObject *, PyObject *); PyObject * PyInstance_NewRaw(PyObject *, PyObject *); PyObject * PyMethod_New(PyObject *, PyObject *, PyObject *); PyObject * PyMethod_Function(PyObject *); PyObject * PyMethod_Self(PyObject *); PyObject * PyMethod_Class(PyObject *); # 64 "/usr/include/python2.6/classobject.h" PyObject * _PyInstance_Lookup(PyObject *pinst, PyObject *name); # 75 "/usr/include/python2.6/classobject.h" int PyClass_IsSubclass(PyObject *, PyObject *); int PyMethod_ClearFreeList(void); } # 108 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/fileobject.h" 1 extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; FILE *f_fp; PyObject *f_name; PyObject *f_mode; int (*f_close)(FILE *); int f_softspace; int f_binary; char* f_buf; char* f_bufend; char* f_bufptr; char *f_setbuf; int f_univ_newline; int f_newlinetypes; int f_skipnextlf; PyObject *f_encoding; PyObject *f_errors; PyObject *weakreflist; int unlocked_count; int readable; int writable; } PyFileObject; extern PyTypeObject PyFile_Type; PyObject * PyFile_FromString(char *, char *); void PyFile_SetBufSize(PyObject *, int); int PyFile_SetEncoding(PyObject *, const char *); int PyFile_SetEncodingAndErrors(PyObject *, const char *, char *errors); PyObject * PyFile_FromFile(FILE *, char *, char *, int (*)(FILE *)); FILE * PyFile_AsFile(PyObject *); void PyFile_IncUseCount(PyFileObject *); void PyFile_DecUseCount(PyFileObject *); PyObject * PyFile_Name(PyObject *); PyObject * PyFile_GetLine(PyObject *, int); int PyFile_WriteObject(PyObject *, PyObject *, int); int PyFile_SoftSpace(PyObject *, int); int PyFile_WriteString(const char *, PyObject *); int PyObject_AsFileDescriptor(PyObject *); extern const char * Py_FileSystemDefaultEncoding; char *Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *); size_t Py_UniversalNewlineFread(char *, size_t, FILE *, PyObject *); int _PyFile_SanitizeMode(char *mode); } # 109 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/cobject.h" 1 # 14 "/usr/include/python2.6/cobject.h" extern "C" { extern PyTypeObject PyCObject_Type; # 27 "/usr/include/python2.6/cobject.h" PyObject * PyCObject_FromVoidPtr( void *cobj, void (*destruct)(void*)); PyObject * PyCObject_FromVoidPtrAndDesc( void *cobj, void *desc, void (*destruct)(void*,void*)); void * PyCObject_AsVoidPtr(PyObject *); void * PyCObject_GetDesc(PyObject *); void * PyCObject_Import(char *module_name, char *cobject_name); int PyCObject_SetVoidPtr(PyObject *self, void *cobj); typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; void *cobject; void *desc; void (*destructor)(void *); } PyCObject; } # 110 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/traceback.h" 1 extern "C" { struct _frame; typedef struct _traceback { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; struct _traceback *tb_next; struct _frame *tb_frame; int tb_lasti; int tb_lineno; } PyTracebackObject; int PyTraceBack_Here(struct _frame *); int PyTraceBack_Print(PyObject *, PyObject *); int _Py_DisplaySourceLine(PyObject *, const char *, int, int); extern PyTypeObject PyTraceBack_Type; } # 111 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/sliceobject.h" 1 extern "C" { extern PyObject _Py_EllipsisObject; # 22 "/usr/include/python2.6/sliceobject.h" typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *start, *stop, *step; } PySliceObject; extern PyTypeObject PySlice_Type; extern PyTypeObject PyEllipsis_Type; PyObject * PySlice_New(PyObject* start, PyObject* stop, PyObject* step); PyObject * _PySlice_FromIndices(Py_ssize_t start, Py_ssize_t stop); int PySlice_GetIndices(PySliceObject *r, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); int PySlice_GetIndicesEx(PySliceObject *r, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength); } # 112 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/cellobject.h" 1 extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *ob_ref; } PyCellObject; extern PyTypeObject PyCell_Type; PyObject * PyCell_New(PyObject *); PyObject * PyCell_Get(PyObject *); int PyCell_Set(PyObject *, PyObject *); } # 113 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/iterobject.h" 1 extern "C" { extern PyTypeObject PySeqIter_Type; PyObject * PySeqIter_New(PyObject *); extern PyTypeObject PyCallIter_Type; PyObject * PyCallIter_New(PyObject *, PyObject *); } # 114 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/genobject.h" 1 extern "C" { struct _frame; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; struct _frame *gi_frame; int gi_running; PyObject *gi_code; PyObject *gi_weakreflist; } PyGenObject; extern PyTypeObject PyGen_Type; PyObject * PyGen_New(struct _frame *); int PyGen_NeedsFinalizing(PyGenObject *); } # 115 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/descrobject.h" 1 extern "C" { typedef PyObject *(*getter)(PyObject *, void *); typedef int (*setter)(PyObject *, PyObject *, void *); typedef struct PyGetSetDef { char *name; getter get; setter set; char *doc; void *closure; } PyGetSetDef; typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args, void *wrapped); typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args, void *wrapped, PyObject *kwds); struct wrapperbase { char *name; int offset; void *function; wrapperfunc wrapper; char *doc; int flags; PyObject *name_strobj; }; # 45 "/usr/include/python2.6/descrobject.h" typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; } PyDescrObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; PyMethodDef *d_method; } PyMethodDescrObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; struct PyMemberDef *d_member; } PyMemberDescrObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; PyGetSetDef *d_getset; } PyGetSetDescrObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name; struct wrapperbase *d_base; void *d_wrapped; } PyWrapperDescrObject; extern PyTypeObject PyWrapperDescr_Type; extern PyTypeObject PyDictProxy_Type; extern PyTypeObject PyGetSetDescr_Type; extern PyTypeObject PyMemberDescr_Type; PyObject * PyDescr_NewMethod(PyTypeObject *, PyMethodDef *); PyObject * PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); PyObject * PyDescr_NewMember(PyTypeObject *, struct PyMemberDef *); PyObject * PyDescr_NewGetSet(PyTypeObject *, struct PyGetSetDef *); PyObject * PyDescr_NewWrapper(PyTypeObject *, struct wrapperbase *, void *); PyObject * PyDictProxy_New(PyObject *); PyObject * PyWrapper_New(PyObject *, PyObject *); extern PyTypeObject PyProperty_Type; } # 116 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/warnings.h" 1 extern "C" { void _PyWarnings_Init(void); int PyErr_WarnEx(PyObject *, const char *, Py_ssize_t); int PyErr_WarnExplicit(PyObject *, const char *, const char *, int, const char *, PyObject *); # 20 "/usr/include/python2.6/warnings.h" } # 117 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/weakrefobject.h" 1 extern "C" { typedef struct _PyWeakReference PyWeakReference; struct _PyWeakReference { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *wr_object; PyObject *wr_callback; long hash; PyWeakReference *wr_prev; PyWeakReference *wr_next; }; extern PyTypeObject _PyWeakref_RefType; extern PyTypeObject _PyWeakref_ProxyType; extern PyTypeObject _PyWeakref_CallableProxyType; # 59 "/usr/include/python2.6/weakrefobject.h" PyObject * PyWeakref_NewRef(PyObject *ob, PyObject *callback); PyObject * PyWeakref_NewProxy(PyObject *ob, PyObject *callback); PyObject * PyWeakref_GetObject(PyObject *ref); Py_ssize_t _PyWeakref_GetWeakrefCount(PyWeakReference *head); void _PyWeakref_ClearRef(PyWeakReference *self); } # 118 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/codecs.h" 1 extern "C" { # 26 "/usr/include/python2.6/codecs.h" int PyCodec_Register( PyObject *search_function ); # 48 "/usr/include/python2.6/codecs.h" PyObject * _PyCodec_Lookup( const char *encoding ); # 62 "/usr/include/python2.6/codecs.h" PyObject * PyCodec_Encode( PyObject *object, const char *encoding, const char *errors ); # 78 "/usr/include/python2.6/codecs.h" PyObject * PyCodec_Decode( PyObject *object, const char *encoding, const char *errors ); # 94 "/usr/include/python2.6/codecs.h" PyObject * PyCodec_Encoder( const char *encoding ); PyObject * PyCodec_Decoder( const char *encoding ); PyObject * PyCodec_IncrementalEncoder( const char *encoding, const char *errors ); PyObject * PyCodec_IncrementalDecoder( const char *encoding, const char *errors ); PyObject * PyCodec_StreamReader( const char *encoding, PyObject *stream, const char *errors ); PyObject * PyCodec_StreamWriter( const char *encoding, PyObject *stream, const char *errors ); # 142 "/usr/include/python2.6/codecs.h" int PyCodec_RegisterError(const char *name, PyObject *error); PyObject * PyCodec_LookupError(const char *name); PyObject * PyCodec_StrictErrors(PyObject *exc); PyObject * PyCodec_IgnoreErrors(PyObject *exc); PyObject * PyCodec_ReplaceErrors(PyObject *exc); PyObject * PyCodec_XMLCharRefReplaceErrors(PyObject *exc); PyObject * PyCodec_BackslashReplaceErrors(PyObject *exc); } # 120 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pyerrors.h" 1 extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *dict; PyObject *args; PyObject *message; } PyBaseExceptionObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *dict; PyObject *args; PyObject *message; PyObject *msg; PyObject *filename; PyObject *lineno; PyObject *offset; PyObject *text; PyObject *print_file_and_line; } PySyntaxErrorObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *dict; PyObject *args; PyObject *message; PyObject *encoding; PyObject *object; Py_ssize_t start; Py_ssize_t end; PyObject *reason; } PyUnicodeErrorObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *dict; PyObject *args; PyObject *message; PyObject *code; } PySystemExitObject; typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; PyObject *dict; PyObject *args; PyObject *message; PyObject *myerrno; PyObject *strerror; PyObject *filename; } PyEnvironmentErrorObject; # 76 "/usr/include/python2.6/pyerrors.h" void PyErr_SetNone(PyObject *); void PyErr_SetObject(PyObject *, PyObject *); void PyErr_SetString(PyObject *, const char *); PyObject * PyErr_Occurred(void); void PyErr_Clear(void); void PyErr_Fetch(PyObject **, PyObject **, PyObject **); void PyErr_Restore(PyObject *, PyObject *, PyObject *); # 91 "/usr/include/python2.6/pyerrors.h" int PyErr_GivenExceptionMatches(PyObject *, PyObject *); int PyErr_ExceptionMatches(PyObject *); void PyErr_NormalizeException(PyObject**, PyObject**, PyObject**); # 118 "/usr/include/python2.6/pyerrors.h" extern PyObject * PyExc_BaseException; extern PyObject * PyExc_Exception; extern PyObject * PyExc_StopIteration; extern PyObject * PyExc_GeneratorExit; extern PyObject * PyExc_StandardError; extern PyObject * PyExc_ArithmeticError; extern PyObject * PyExc_LookupError; extern PyObject * PyExc_AssertionError; extern PyObject * PyExc_AttributeError; extern PyObject * PyExc_EOFError; extern PyObject * PyExc_FloatingPointError; extern PyObject * PyExc_EnvironmentError; extern PyObject * PyExc_IOError; extern PyObject * PyExc_OSError; extern PyObject * PyExc_ImportError; extern PyObject * PyExc_IndexError; extern PyObject * PyExc_KeyError; extern PyObject * PyExc_KeyboardInterrupt; extern PyObject * PyExc_MemoryError; extern PyObject * PyExc_NameError; extern PyObject * PyExc_OverflowError; extern PyObject * PyExc_RuntimeError; extern PyObject * PyExc_NotImplementedError; extern PyObject * PyExc_SyntaxError; extern PyObject * PyExc_IndentationError; extern PyObject * PyExc_TabError; extern PyObject * PyExc_ReferenceError; extern PyObject * PyExc_SystemError; extern PyObject * PyExc_SystemExit; extern PyObject * PyExc_TypeError; extern PyObject * PyExc_UnboundLocalError; extern PyObject * PyExc_UnicodeError; extern PyObject * PyExc_UnicodeEncodeError; extern PyObject * PyExc_UnicodeDecodeError; extern PyObject * PyExc_UnicodeTranslateError; extern PyObject * PyExc_ValueError; extern PyObject * PyExc_ZeroDivisionError; extern PyObject * PyExc_BufferError; extern PyObject * PyExc_MemoryErrorInst; extern PyObject * PyExc_RecursionErrorInst; extern PyObject * PyExc_Warning; extern PyObject * PyExc_UserWarning; extern PyObject * PyExc_DeprecationWarning; extern PyObject * PyExc_PendingDeprecationWarning; extern PyObject * PyExc_SyntaxWarning; extern PyObject * PyExc_RuntimeWarning; extern PyObject * PyExc_FutureWarning; extern PyObject * PyExc_ImportWarning; extern PyObject * PyExc_UnicodeWarning; extern PyObject * PyExc_BytesWarning; int PyErr_BadArgument(void); PyObject * PyErr_NoMemory(void); PyObject * PyErr_SetFromErrno(PyObject *); PyObject * PyErr_SetFromErrnoWithFilenameObject( PyObject *, PyObject *); PyObject * PyErr_SetFromErrnoWithFilename(PyObject *, char *); PyObject * PyErr_Format(PyObject *, const char *, ...) __attribute__((format(printf, 2, 3))); # 219 "/usr/include/python2.6/pyerrors.h" void PyErr_BadInternalCall(void); void _PyErr_BadInternalCall(char *filename, int lineno); PyObject * PyErr_NewException(char *name, PyObject *base, PyObject *dict); void PyErr_WriteUnraisable(PyObject *); int PyErr_CheckSignals(void); void PyErr_SetInterrupt(void); int PySignal_SetWakeupFd(int fd); void PyErr_SyntaxLocation(const char *, int); PyObject * PyErr_ProgramText(const char *, int); PyObject * PyUnicodeDecodeError_Create( const char *, const char *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *); PyObject * PyUnicodeEncodeError_Create( const char *, const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *); PyObject * PyUnicodeTranslateError_Create( const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *); PyObject * PyUnicodeEncodeError_GetEncoding(PyObject *); PyObject * PyUnicodeDecodeError_GetEncoding(PyObject *); PyObject * PyUnicodeEncodeError_GetObject(PyObject *); PyObject * PyUnicodeDecodeError_GetObject(PyObject *); PyObject * PyUnicodeTranslateError_GetObject(PyObject *); int PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *); int PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *); int PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *); int PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t); int PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t); int PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t); int PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *); int PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *); int PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *); int PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t); int PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t); int PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t); PyObject * PyUnicodeEncodeError_GetReason(PyObject *); PyObject * PyUnicodeDecodeError_GetReason(PyObject *); PyObject * PyUnicodeTranslateError_GetReason(PyObject *); int PyUnicodeEncodeError_SetReason( PyObject *, const char *); int PyUnicodeDecodeError_SetReason( PyObject *, const char *); int PyUnicodeTranslateError_SetReason( PyObject *, const char *); # 321 "/usr/include/python2.6/pyerrors.h" int PyOS_snprintf(char *str, size_t size, const char *format, ...) __attribute__((format(printf, 3, 4))); int PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) __attribute__((format(printf, 3, 0))); } # 121 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pystate.h" 1 extern "C" { struct _ts; struct _is; typedef struct _is { struct _is *next; struct _ts *tstate_head; PyObject *modules; PyObject *sysdict; PyObject *builtins; PyObject *modules_reloading; PyObject *codec_search_path; PyObject *codec_search_cache; PyObject *codec_error_registry; int dlopenflags; } PyInterpreterState; struct _frame; typedef int (*Py_tracefunc)(PyObject *, struct _frame *, int, PyObject *); # 56 "/usr/include/python2.6/pystate.h" typedef struct _ts { struct _ts *next; PyInterpreterState *interp; struct _frame *frame; int recursion_depth; int tracing; int use_tracing; Py_tracefunc c_profilefunc; Py_tracefunc c_tracefunc; PyObject *c_profileobj; PyObject *c_traceobj; PyObject *curexc_type; PyObject *curexc_value; PyObject *curexc_traceback; PyObject *exc_type; PyObject *exc_value; PyObject *exc_traceback; PyObject *dict; int tick_counter; int gilstate_counter; PyObject *async_exc; long thread_id; } PyThreadState; PyInterpreterState * PyInterpreterState_New(void); void PyInterpreterState_Clear(PyInterpreterState *); void PyInterpreterState_Delete(PyInterpreterState *); PyThreadState * PyThreadState_New(PyInterpreterState *); PyThreadState * _PyThreadState_Prealloc(PyInterpreterState *); void _PyThreadState_Init(PyThreadState *); void PyThreadState_Clear(PyThreadState *); void PyThreadState_Delete(PyThreadState *); void PyThreadState_DeleteCurrent(void); PyThreadState * PyThreadState_Get(void); PyThreadState * PyThreadState_Swap(PyThreadState *); PyObject * PyThreadState_GetDict(void); int PyThreadState_SetAsyncExc(long, PyObject *); extern PyThreadState * _PyThreadState_Current; typedef enum {PyGILState_LOCKED, PyGILState_UNLOCKED} PyGILState_STATE; # 157 "/usr/include/python2.6/pystate.h" PyGILState_STATE PyGILState_Ensure(void); # 167 "/usr/include/python2.6/pystate.h" void PyGILState_Release(PyGILState_STATE); PyThreadState * PyGILState_GetThisThreadState(void); PyObject * _PyThread_CurrentFrames(void); PyInterpreterState * PyInterpreterState_Head(void); PyInterpreterState * PyInterpreterState_Next(PyInterpreterState *); PyThreadState * PyInterpreterState_ThreadHead(PyInterpreterState *); PyThreadState * PyThreadState_Next(PyThreadState *); typedef struct _frame *(*PyThreadFrameGetter)(PyThreadState *self_); extern PyThreadFrameGetter _PyThreadState_GetFrame; } # 123 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pyarena.h" 1 extern "C" { typedef struct _arena PyArena; # 35 "/usr/include/python2.6/pyarena.h" PyArena * PyArena_New(void); void PyArena_Free(PyArena *); # 50 "/usr/include/python2.6/pyarena.h" void * PyArena_Malloc(PyArena *, size_t size); int PyArena_AddPyObject(PyArena *, PyObject *); } # 125 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/modsupport.h" 1 extern "C" { # 23 "/usr/include/python2.6/modsupport.h" PyObject * _Py_VaBuildValue_SizeT(const char *, va_list); int PyArg_Parse(PyObject *, const char *, ...); int PyArg_ParseTuple(PyObject *, const char *, ...) ; int PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, const char *, char **, ...); int PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...); PyObject * Py_BuildValue(const char *, ...); PyObject * _Py_BuildValue_SizeT(const char *, ...); int _PyArg_NoKeywords(const char *funcname, PyObject *kw); int PyArg_VaParse(PyObject *, const char *, va_list); int PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, const char *, char **, va_list); PyObject * Py_VaBuildValue(const char *, va_list); int PyModule_AddObject(PyObject *, const char *, PyObject *); int PyModule_AddIntConstant(PyObject *, const char *, long); int PyModule_AddStringConstant(PyObject *, const char *, const char *); # 117 "/usr/include/python2.6/modsupport.h" PyObject * Py_InitModule4_64(const char *name, PyMethodDef *methods, const char *doc, PyObject *self, int apiver); # 129 "/usr/include/python2.6/modsupport.h" extern char * _Py_PackageContext; } # 126 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pythonrun.h" 1 extern "C" { # 18 "/usr/include/python2.6/pythonrun.h" typedef struct { int cf_flags; } PyCompilerFlags; void Py_SetProgramName(char *); char * Py_GetProgramName(void); void Py_SetPythonHome(char *); char * Py_GetPythonHome(void); void Py_Initialize(void); void Py_InitializeEx(int); void Py_Finalize(void); int Py_IsInitialized(void); PyThreadState * Py_NewInterpreter(void); void Py_EndInterpreter(PyThreadState *); int PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *); int PyRun_AnyFileExFlags(FILE *, const char *, int, PyCompilerFlags *); int PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); int PyRun_SimpleFileExFlags(FILE *, const char *, int, PyCompilerFlags *); int PyRun_InteractiveOneFlags(FILE *, const char *, PyCompilerFlags *); int PyRun_InteractiveLoopFlags(FILE *, const char *, PyCompilerFlags *); struct _mod * PyParser_ASTFromString(const char *, const char *, int, PyCompilerFlags *flags, PyArena *); struct _mod * PyParser_ASTFromFile(FILE *, const char *, int, char *, char *, PyCompilerFlags *, int *, PyArena *); struct _node * PyParser_SimpleParseStringFlags(const char *, int, int); struct _node * PyParser_SimpleParseFileFlags(FILE *, const char *, int, int); PyObject * PyRun_StringFlags(const char *, int, PyObject *, PyObject *, PyCompilerFlags *); PyObject * PyRun_FileExFlags(FILE *, const char *, int, PyObject *, PyObject *, int, PyCompilerFlags *); PyObject * Py_CompileStringFlags(const char *, const char *, int, PyCompilerFlags *); struct symtable * Py_SymtableString(const char *, const char *, int); void PyErr_Print(void); void PyErr_PrintEx(int); void PyErr_Display(PyObject *, PyObject *, PyObject *); int Py_AtExit(void (*func)(void)); void Py_Exit(int); int Py_FdIsInteractive(FILE *, const char *); int Py_Main(int argc, char **argv); # 103 "/usr/include/python2.6/pythonrun.h" char * Py_GetProgramFullPath(void); char * Py_GetPrefix(void); char * Py_GetExecPrefix(void); char * Py_GetPath(void); const char * Py_GetVersion(void); const char * Py_GetPlatform(void); const char * Py_GetCopyright(void); const char * Py_GetCompiler(void); const char * Py_GetBuildInfo(void); const char * _Py_svnversion(void); const char * Py_SubversionRevision(void); const char * Py_SubversionShortBranch(void); PyObject * _PyBuiltin_Init(void); PyObject * _PySys_Init(void); void _PyImport_Init(void); void _PyExc_Init(void); void _PyImportHooks_Init(void); int _PyFrame_Init(void); int _PyInt_Init(void); void _PyFloat_Init(void); int PyByteArray_Init(void); void _PyExc_Fini(void); void _PyImport_Fini(void); void PyMethod_Fini(void); void PyFrame_Fini(void); void PyCFunction_Fini(void); void PyDict_Fini(void); void PyTuple_Fini(void); void PyList_Fini(void); void PySet_Fini(void); void PyString_Fini(void); void PyInt_Fini(void); void PyFloat_Fini(void); void PyOS_FiniInterrupts(void); void PyByteArray_Fini(void); char * PyOS_Readline(FILE *, FILE *, char *); extern int (*PyOS_InputHook)(void); extern char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, char *); extern PyThreadState* _PyOS_ReadlineTState; # 167 "/usr/include/python2.6/pythonrun.h" typedef void (*PyOS_sighandler_t)(int); PyOS_sighandler_t PyOS_getsig(int); PyOS_sighandler_t PyOS_setsig(int, PyOS_sighandler_t); } # 127 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/ceval.h" 1 extern "C" { PyObject * PyEval_CallObjectWithKeywords( PyObject *, PyObject *, PyObject *); PyObject * PyEval_CallObject(PyObject *, PyObject *); PyObject * PyEval_CallFunction(PyObject *obj, const char *format, ...); PyObject * PyEval_CallMethod(PyObject *obj, const char *methodname, const char *format, ...); void PyEval_SetProfile(Py_tracefunc, PyObject *); void PyEval_SetTrace(Py_tracefunc, PyObject *); struct _frame; PyObject * PyEval_GetBuiltins(void); PyObject * PyEval_GetGlobals(void); PyObject * PyEval_GetLocals(void); struct _frame * PyEval_GetFrame(void); int PyEval_GetRestricted(void); int PyEval_MergeCompilerFlags(PyCompilerFlags *cf); int Py_FlushLine(void); int Py_AddPendingCall(int (*func)(void *), void *arg); int Py_MakePendingCalls(void); void Py_SetRecursionLimit(int); int Py_GetRecursionLimit(void); int _Py_CheckRecursiveCall(char *where); extern int _Py_CheckRecursionLimit; const char * PyEval_GetFuncName(PyObject *); const char * PyEval_GetFuncDesc(PyObject *); PyObject * PyEval_GetCallStats(PyObject *); PyObject * PyEval_EvalFrame(struct _frame *); PyObject * PyEval_EvalFrameEx(struct _frame *f, int exc); extern volatile int _Py_Ticker; extern int _Py_CheckInterval; # 121 "/usr/include/python2.6/ceval.h" PyThreadState * PyEval_SaveThread(void); void PyEval_RestoreThread(PyThreadState *); int PyEval_ThreadsInitialized(void); void PyEval_InitThreads(void); void PyEval_AcquireLock(void); void PyEval_ReleaseLock(void); void PyEval_AcquireThread(PyThreadState *tstate); void PyEval_ReleaseThread(PyThreadState *tstate); void PyEval_ReInitThreads(void); # 151 "/usr/include/python2.6/ceval.h" int _PyEval_SliceIndex(PyObject *, Py_ssize_t *); } # 128 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/sysmodule.h" 1 extern "C" { PyObject * PySys_GetObject(char *); int PySys_SetObject(char *, PyObject *); FILE * PySys_GetFile(char *, FILE *); void PySys_SetArgv(int, char **); void PySys_SetPath(char *); void PySys_WriteStdout(const char *format, ...) __attribute__((format(printf, 1, 2))); void PySys_WriteStderr(const char *format, ...) __attribute__((format(printf, 1, 2))); extern PyObject * _PySys_TraceFunc, *_PySys_ProfileFunc; extern int _PySys_CheckInterval; void PySys_ResetWarnOptions(void); void PySys_AddWarnOption(char *); int PySys_HasWarnOptions(void); } # 129 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/intrcheck.h" 1 extern "C" { int PyOS_InterruptOccurred(void); void PyOS_InitInterrupts(void); void PyOS_AfterFork(void); } # 130 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/import.h" 1 extern "C" { long PyImport_GetMagicNumber(void); PyObject * PyImport_ExecCodeModule(char *name, PyObject *co); PyObject * PyImport_ExecCodeModuleEx( char *name, PyObject *co, char *pathname); PyObject * PyImport_GetModuleDict(void); PyObject * PyImport_AddModule(const char *name); PyObject * PyImport_ImportModule(const char *name); PyObject * PyImport_ImportModuleNoBlock(const char *); PyObject * PyImport_ImportModuleLevel(char *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level); PyObject * PyImport_GetImporter(PyObject *path); PyObject * PyImport_Import(PyObject *name); PyObject * PyImport_ReloadModule(PyObject *m); void PyImport_Cleanup(void); int PyImport_ImportFrozenModule(char *); void _PyImport_AcquireLock(void); int _PyImport_ReleaseLock(void); struct filedescr * _PyImport_FindModule( const char *, PyObject *, char *, size_t, FILE **, PyObject **); int _PyImport_IsScript(struct filedescr *); void _PyImport_ReInitLock(void); PyObject *_PyImport_FindExtension(char *, char *); PyObject *_PyImport_FixupExtension(char *, char *); struct _inittab { char *name; void (*initfunc)(void); }; extern PyTypeObject PyNullImporter_Type; extern struct _inittab * PyImport_Inittab; int PyImport_AppendInittab(char *name, void (*initfunc)(void)); int PyImport_ExtendInittab(struct _inittab *newtab); struct _frozen { char *name; unsigned char *code; int size; }; extern struct _frozen * PyImport_FrozenModules; } # 131 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/abstract.h" 1 extern "C" { # 231 "/usr/include/python2.6/abstract.h" int PyObject_Cmp(PyObject *o1, PyObject *o2, int *result); # 304 "/usr/include/python2.6/abstract.h" PyObject * PyObject_Call(PyObject *callable_object, PyObject *args, PyObject *kw); # 314 "/usr/include/python2.6/abstract.h" PyObject * PyObject_CallObject(PyObject *callable_object, PyObject *args); # 326 "/usr/include/python2.6/abstract.h" PyObject * PyObject_CallFunction(PyObject *callable_object, char *format, ...); # 340 "/usr/include/python2.6/abstract.h" PyObject * PyObject_CallMethod(PyObject *o, char *m, char *format, ...); # 352 "/usr/include/python2.6/abstract.h" PyObject * _PyObject_CallFunction_SizeT(PyObject *callable, char *format, ...); PyObject * _PyObject_CallMethod_SizeT(PyObject *o, char *name, char *format, ...); PyObject * PyObject_CallFunctionObjArgs(PyObject *callable, ...); # 370 "/usr/include/python2.6/abstract.h" PyObject * PyObject_CallMethodObjArgs(PyObject *o, PyObject *m, ...); # 413 "/usr/include/python2.6/abstract.h" PyObject * PyObject_Type(PyObject *o); Py_ssize_t PyObject_Size(PyObject *o); # 433 "/usr/include/python2.6/abstract.h" Py_ssize_t PyObject_Length(PyObject *o); Py_ssize_t _PyObject_LengthHint(PyObject *o, Py_ssize_t); PyObject * PyObject_GetItem(PyObject *o, PyObject *key); # 453 "/usr/include/python2.6/abstract.h" int PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v); int PyObject_DelItemString(PyObject *o, char *key); int PyObject_DelItem(PyObject *o, PyObject *key); int PyObject_AsCharBuffer(PyObject *obj, const char **buffer, Py_ssize_t *buffer_len); # 492 "/usr/include/python2.6/abstract.h" int PyObject_CheckReadBuffer(PyObject *obj); # 501 "/usr/include/python2.6/abstract.h" int PyObject_AsReadBuffer(PyObject *obj, const void **buffer, Py_ssize_t *buffer_len); # 517 "/usr/include/python2.6/abstract.h" int PyObject_AsWriteBuffer(PyObject *obj, void **buffer, Py_ssize_t *buffer_len); # 542 "/usr/include/python2.6/abstract.h" int PyObject_GetBuffer(PyObject *obj, Py_buffer *view, int flags); # 552 "/usr/include/python2.6/abstract.h" void * PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices); int PyBuffer_SizeFromFormat(const char *); int PyBuffer_ToContiguous(void *buf, Py_buffer *view, Py_ssize_t len, char fort); int PyBuffer_FromContiguous(Py_buffer *view, void *buf, Py_ssize_t len, char fort); # 588 "/usr/include/python2.6/abstract.h" int PyObject_CopyData(PyObject *dest, PyObject *src); int PyBuffer_IsContiguous(Py_buffer *view, char fort); void PyBuffer_FillContiguousStrides(int ndims, Py_ssize_t *shape, Py_ssize_t *strides, int itemsize, char fort); int PyBuffer_FillInfo(Py_buffer *view, PyObject *o, void *buf, Py_ssize_t len, int readonly, int flags); void PyBuffer_Release(Py_buffer *view); PyObject * PyObject_Format(PyObject* obj, PyObject *format_spec); PyObject * PyObject_GetIter(PyObject *); # 641 "/usr/include/python2.6/abstract.h" PyObject * PyIter_Next(PyObject *); int PyNumber_Check(PyObject *o); # 659 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Add(PyObject *o1, PyObject *o2); # 668 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Subtract(PyObject *o1, PyObject *o2); # 677 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Multiply(PyObject *o1, PyObject *o2); # 687 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Divide(PyObject *o1, PyObject *o2); # 696 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_FloorDivide(PyObject *o1, PyObject *o2); # 706 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_TrueDivide(PyObject *o1, PyObject *o2); # 716 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Remainder(PyObject *o1, PyObject *o2); # 726 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Divmod(PyObject *o1, PyObject *o2); # 736 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3); # 746 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Negative(PyObject *o); PyObject * PyNumber_Positive(PyObject *o); PyObject * PyNumber_Absolute(PyObject *o); PyObject * PyNumber_Invert(PyObject *o); # 780 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Lshift(PyObject *o1, PyObject *o2); # 790 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Rshift(PyObject *o1, PyObject *o2); # 799 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_And(PyObject *o1, PyObject *o2); # 809 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Xor(PyObject *o1, PyObject *o2); # 819 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Or(PyObject *o1, PyObject *o2); # 852 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Index(PyObject *o); Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc); # 870 "/usr/include/python2.6/abstract.h" PyObject * _PyNumber_ConvertIntegralToInt( PyObject *integral, const char* error_format); # 882 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Int(PyObject *o); # 891 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Long(PyObject *o); # 900 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_Float(PyObject *o); # 910 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2); # 919 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2); # 928 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2); # 937 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceDivide(PyObject *o1, PyObject *o2); # 946 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2); # 957 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2); # 968 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2); # 977 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3); # 987 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2); # 996 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2); # 1005 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2); # 1014 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceXor(PyObject *o1, PyObject *o2); # 1023 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_InPlaceOr(PyObject *o1, PyObject *o2); # 1033 "/usr/include/python2.6/abstract.h" PyObject * PyNumber_ToBase(PyObject *n, int base); # 1044 "/usr/include/python2.6/abstract.h" int PySequence_Check(PyObject *o); # 1054 "/usr/include/python2.6/abstract.h" Py_ssize_t PySequence_Size(PyObject *o); # 1063 "/usr/include/python2.6/abstract.h" Py_ssize_t PySequence_Length(PyObject *o); PyObject * PySequence_Concat(PyObject *o1, PyObject *o2); # 1076 "/usr/include/python2.6/abstract.h" PyObject * PySequence_Repeat(PyObject *o, Py_ssize_t count); # 1085 "/usr/include/python2.6/abstract.h" PyObject * PySequence_GetItem(PyObject *o, Py_ssize_t i); PyObject * PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); # 1101 "/usr/include/python2.6/abstract.h" int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v); # 1110 "/usr/include/python2.6/abstract.h" int PySequence_DelItem(PyObject *o, Py_ssize_t i); int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v); int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); PyObject * PySequence_Tuple(PyObject *o); PyObject * PySequence_List(PyObject *o); PyObject * PySequence_Fast(PyObject *o, const char* m); # 1185 "/usr/include/python2.6/abstract.h" Py_ssize_t PySequence_Count(PyObject *o, PyObject *value); # 1194 "/usr/include/python2.6/abstract.h" int PySequence_Contains(PyObject *seq, PyObject *ob); # 1203 "/usr/include/python2.6/abstract.h" Py_ssize_t _PySequence_IterSearch(PyObject *seq, PyObject *obj, int operation); # 1218 "/usr/include/python2.6/abstract.h" int PySequence_In(PyObject *o, PyObject *value); # 1229 "/usr/include/python2.6/abstract.h" Py_ssize_t PySequence_Index(PyObject *o, PyObject *value); # 1239 "/usr/include/python2.6/abstract.h" PyObject * PySequence_InPlaceConcat(PyObject *o1, PyObject *o2); # 1248 "/usr/include/python2.6/abstract.h" PyObject * PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count); # 1259 "/usr/include/python2.6/abstract.h" int PyMapping_Check(PyObject *o); # 1268 "/usr/include/python2.6/abstract.h" Py_ssize_t PyMapping_Size(PyObject *o); # 1278 "/usr/include/python2.6/abstract.h" Py_ssize_t PyMapping_Length(PyObject *o); # 1302 "/usr/include/python2.6/abstract.h" int PyMapping_HasKeyString(PyObject *o, char *key); # 1312 "/usr/include/python2.6/abstract.h" int PyMapping_HasKey(PyObject *o, PyObject *key); # 1355 "/usr/include/python2.6/abstract.h" PyObject * PyMapping_GetItemString(PyObject *o, char *key); int PyMapping_SetItemString(PyObject *o, char *key, PyObject *value); # 1373 "/usr/include/python2.6/abstract.h" int PyObject_IsInstance(PyObject *object, PyObject *typeorclass); int PyObject_IsSubclass(PyObject *object, PyObject *typeorclass); int _PyObject_RealIsInstance(PyObject *inst, PyObject *cls); int _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls); } # 133 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/compile.h" 1 # 1 "/usr/include/python2.6/code.h" 1 extern "C" { typedef struct { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; int co_argcount; int co_nlocals; int co_stacksize; int co_flags; PyObject *co_code; PyObject *co_consts; PyObject *co_names; PyObject *co_varnames; PyObject *co_freevars; PyObject *co_cellvars; PyObject *co_filename; PyObject *co_name; int co_firstlineno; PyObject *co_lnotab; void *co_zombieframe; } PyCodeObject; # 63 "/usr/include/python2.6/code.h" extern PyTypeObject PyCode_Type; PyCodeObject * PyCode_New( int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *); int PyCode_Addr2Line(PyCodeObject *, int); typedef struct _addr_pair { int ap_lower; int ap_upper; } PyAddrPair; # 92 "/usr/include/python2.6/code.h" int PyCode_CheckLineNumber(PyCodeObject* co, int lasti, PyAddrPair *bounds); PyObject* PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, PyObject *lineno_obj); } # 6 "/usr/include/python2.6/compile.h" 2 extern "C" { struct _node; PyCodeObject * PyNode_Compile(struct _node *, const char *); typedef struct { int ff_features; int ff_lineno; } PyFutureFeatures; # 31 "/usr/include/python2.6/compile.h" struct _mod; PyCodeObject * PyAST_Compile(struct _mod *, const char *, PyCompilerFlags *, PyArena *); PyFutureFeatures * PyFuture_FromAST(struct _mod *, const char *); } # 135 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/eval.h" 1 extern "C" { PyObject * PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *); PyObject * PyEval_EvalCodeEx(PyCodeObject *co, PyObject *globals, PyObject *locals, PyObject **args, int argc, PyObject **kwds, int kwdc, PyObject **defs, int defc, PyObject *closure); PyObject * _PyEval_CallTracing(PyObject *func, PyObject *args); } # 136 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pystrtod.h" 1 extern "C" { double PyOS_ascii_strtod(const char *str, char **ptr); double PyOS_ascii_atof(const char *str); char * PyOS_ascii_formatd(char *buffer, size_t buf_len, const char *format, double d); } # 138 "/usr/include/python2.6/Python.h" 2 # 1 "/usr/include/python2.6/pystrcmp.h" 1 extern "C" { int PyOS_mystrnicmp(const char *, const char *, Py_ssize_t); int PyOS_mystricmp(const char *, const char *); # 20 "/usr/include/python2.6/pystrcmp.h" } # 139 "/usr/include/python2.6/Python.h" 2 PyObject* _Py_Mangle(PyObject *p, PyObject *name); # 158 "/usr/include/python2.6/Python.h" # 1 "/usr/include/python2.6/pyfpe.h" 1 extern "C" { # 129 "/usr/include/python2.6/pyfpe.h" # 1 "/usr/include/signal.h" 1 3 4 # 31 "/usr/include/signal.h" 3 4 extern "C" { # 1 "/usr/include/bits/sigset.h" 1 3 4 # 104 "/usr/include/bits/sigset.h" 3 4 extern int __sigismember (__const __sigset_t *, int); extern int __sigaddset (__sigset_t *, int); extern int __sigdelset (__sigset_t *, int); # 118 "/usr/include/bits/sigset.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; } extern __inline __attribute__ ((__gnu_inline__)) int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); } extern __inline __attribute__ ((__gnu_inline__)) int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); } # 34 "/usr/include/signal.h" 2 3 4 typedef __sig_atomic_t sig_atomic_t; # 58 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/signum.h" 1 3 4 # 59 "/usr/include/signal.h" 2 3 4 # 79 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/siginfo.h" 1 3 4 # 25 "/usr/include/bits/siginfo.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/siginfo.h" 2 3 4 typedef union sigval { int sival_int; void *sival_ptr; } sigval_t; # 51 "/usr/include/bits/siginfo.h" 3 4 typedef struct siginfo { int si_signo; int si_errno; int si_code; union { int _pad[((128 / sizeof (int)) - 4)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __clock_t si_utime; __clock_t si_stime; } _sigchld; struct { void *si_addr; } _sigfault; struct { long int si_band; int si_fd; } _sigpoll; } _sifields; } siginfo_t; # 129 "/usr/include/bits/siginfo.h" 3 4 enum { SI_ASYNCNL = -60, SI_TKILL = -6, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB }; enum { SEGV_MAPERR = 1, SEGV_ACCERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR }; enum { TRAP_BRKPT = 1, TRAP_TRACE }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; # 273 "/usr/include/bits/siginfo.h" 3 4 typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 4)]; __pid_t _tid; struct { void (*_function) (sigval_t); void *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD, SIGEV_THREAD_ID = 4 }; # 80 "/usr/include/signal.h" 2 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) throw (); extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) throw (); extern __sighandler_t signal (int __sig, __sighandler_t __handler) throw (); # 113 "/usr/include/signal.h" 3 4 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) throw (); extern int kill (__pid_t __pid, int __sig) throw (); extern int killpg (__pid_t __pgrp, int __sig) throw (); extern int raise (int __sig) throw (); extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) throw (); extern int gsignal (int __sig) throw (); extern void psignal (int __sig, __const char *__s); extern void psiginfo (__const siginfo_t *__pinfo, __const char *__s); # 168 "/usr/include/signal.h" 3 4 extern int __sigpause (int __sig_or_mask, int __is_sig); # 177 "/usr/include/signal.h" 3 4 extern int sigpause (int __sig) __asm__ ("__xpg_sigpause"); # 196 "/usr/include/signal.h" 3 4 extern int sigblock (int __mask) throw () __attribute__ ((__deprecated__)); extern int sigsetmask (int __mask) throw () __attribute__ ((__deprecated__)); extern int siggetmask (void) throw () __attribute__ ((__deprecated__)); # 211 "/usr/include/signal.h" 3 4 typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; extern int sigemptyset (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); extern int sigfillset (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); extern int sigaddset (sigset_t *__set, int __signo) throw () __attribute__ ((__nonnull__ (1))); extern int sigdelset (sigset_t *__set, int __signo) throw () __attribute__ ((__nonnull__ (1))); extern int sigismember (__const sigset_t *__set, int __signo) throw () __attribute__ ((__nonnull__ (1))); extern int sigisemptyset (__const sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); extern int sigandset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) throw () __attribute__ ((__nonnull__ (1, 2, 3))); extern int sigorset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) throw () __attribute__ ((__nonnull__ (1, 2, 3))); # 1 "/usr/include/bits/sigaction.h" 1 3 4 # 25 "/usr/include/bits/sigaction.h" 3 4 struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; int sa_flags; void (*sa_restorer) (void); }; # 253 "/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, __const sigset_t *__restrict __set, sigset_t *__restrict __oset) throw (); extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1))); extern int sigaction (int __sig, __const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) throw (); extern int sigpending (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig) __attribute__ ((__nonnull__ (1, 2))); extern int sigwaitinfo (__const sigset_t *__restrict __set, siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); extern int sigtimedwait (__const sigset_t *__restrict __set, siginfo_t *__restrict __info, __const struct timespec *__restrict __timeout) __attribute__ ((__nonnull__ (1))); extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val) throw (); # 310 "/usr/include/signal.h" 3 4 extern __const char *__const _sys_siglist[65]; extern __const char *__const sys_siglist[65]; struct sigvec { __sighandler_t sv_handler; int sv_mask; int sv_flags; }; # 334 "/usr/include/signal.h" 3 4 extern int sigvec (int __sig, __const struct sigvec *__vec, struct sigvec *__ovec) throw (); # 1 "/usr/include/bits/sigcontext.h" 1 3 4 # 26 "/usr/include/bits/sigcontext.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 27 "/usr/include/bits/sigcontext.h" 2 3 4 struct _fpreg { unsigned short significand[4]; unsigned short exponent; }; struct _fpxreg { unsigned short significand[4]; unsigned short exponent; unsigned short padding[3]; }; struct _xmmreg { __uint32_t element[4]; }; # 109 "/usr/include/bits/sigcontext.h" 3 4 struct _fpstate { __uint16_t cwd; __uint16_t swd; __uint16_t ftw; __uint16_t fop; __uint64_t rip; __uint64_t rdp; __uint32_t mxcsr; __uint32_t mxcr_mask; struct _fpxreg _st[8]; struct _xmmreg _xmm[16]; __uint32_t padding[24]; }; struct sigcontext { unsigned long r8; unsigned long r9; unsigned long r10; unsigned long r11; unsigned long r12; unsigned long r13; unsigned long r14; unsigned long r15; unsigned long rdi; unsigned long rsi; unsigned long rbp; unsigned long rbx; unsigned long rdx; unsigned long rax; unsigned long rcx; unsigned long rsp; unsigned long rip; unsigned long eflags; unsigned short cs; unsigned short gs; unsigned short fs; unsigned short __pad0; unsigned long err; unsigned long trapno; unsigned long oldmask; unsigned long cr2; struct _fpstate * fpstate; unsigned long __reserved1 [8]; }; # 340 "/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) throw (); # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 350 "/usr/include/signal.h" 2 3 4 extern int siginterrupt (int __sig, int __interrupt) throw (); # 1 "/usr/include/bits/sigstack.h" 1 3 4 # 26 "/usr/include/bits/sigstack.h" 3 4 struct sigstack { void *ss_sp; int ss_onstack; }; enum { SS_ONSTACK = 1, SS_DISABLE }; # 50 "/usr/include/bits/sigstack.h" 3 4 typedef struct sigaltstack { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 357 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/sys/ucontext.h" 1 3 4 # 24 "/usr/include/sys/ucontext.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 25 "/usr/include/sys/ucontext.h" 2 3 4 # 33 "/usr/include/sys/ucontext.h" 3 4 typedef long int greg_t; typedef greg_t gregset_t[23]; enum { REG_R8 = 0, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, REG_RDI, REG_RSI, REG_RBP, REG_RBX, REG_RDX, REG_RAX, REG_RCX, REG_RSP, REG_RIP, REG_EFL, REG_CSGSFS, REG_ERR, REG_TRAPNO, REG_OLDMASK, REG_CR2 }; struct _libc_fpxreg { unsigned short int significand[4]; unsigned short int exponent; unsigned short int padding[3]; }; struct _libc_xmmreg { __uint32_t element[4]; }; struct _libc_fpstate { __uint16_t cwd; __uint16_t swd; __uint16_t ftw; __uint16_t fop; __uint64_t rip; __uint64_t rdp; __uint32_t mxcsr; __uint32_t mxcr_mask; struct _libc_fpxreg _st[8]; struct _libc_xmmreg _xmm[16]; __uint32_t padding[24]; }; typedef struct _libc_fpstate *fpregset_t; typedef struct { gregset_t gregs; fpregset_t fpregs; unsigned long __reserved1 [8]; } mcontext_t; typedef struct ucontext { unsigned long int uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; # 360 "/usr/include/signal.h" 2 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) throw () __attribute__ ((__deprecated__)); extern int sigaltstack (__const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) throw (); extern int sighold (int __sig) throw (); extern int sigrelse (int __sig) throw (); extern int sigignore (int __sig) throw (); extern __sighandler_t sigset (int __sig, __sighandler_t __disp) throw (); # 1 "/usr/include/bits/sigthread.h" 1 3 4 # 31 "/usr/include/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, __const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask)throw (); extern int pthread_kill (pthread_t __threadid, int __signo) throw (); extern int pthread_sigqueue (pthread_t __threadid, int __signo, const union sigval __value) throw (); # 396 "/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) throw (); extern int __libc_current_sigrtmax (void) throw (); } # 130 "/usr/include/python2.6/pyfpe.h" 2 # 1 "/usr/include/setjmp.h" 1 3 4 # 28 "/usr/include/setjmp.h" 3 4 extern "C" { # 1 "/usr/include/bits/sigset.h" 1 3 4 # 32 "/usr/include/setjmp.h" 2 3 4 struct __jmp_buf_tag { __jmp_buf __jmpbuf; int __mask_was_saved; __sigset_t __saved_mask; }; typedef struct __jmp_buf_tag jmp_buf[1]; extern int setjmp (jmp_buf __env) throw (); extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) throw (); extern int _setjmp (struct __jmp_buf_tag __env[1]) throw (); # 78 "/usr/include/setjmp.h" 3 4 extern void longjmp (struct __jmp_buf_tag __env[1], int __val) throw () __attribute__ ((__noreturn__)); extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) throw () __attribute__ ((__noreturn__)); typedef struct __jmp_buf_tag sigjmp_buf[1]; # 110 "/usr/include/setjmp.h" 3 4 extern void siglongjmp (sigjmp_buf __env, int __val) throw () __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/setjmp2.h" 1 3 4 # 26 "/usr/include/bits/setjmp2.h" 3 4 extern void longjmp (struct __jmp_buf_tag __env[1], int __val) throw () __asm__ ("" "__longjmp_chk") __attribute__ ((__noreturn__)); extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) throw () __asm__ ("" "__longjmp_chk") __attribute__ ((__noreturn__)); extern void siglongjmp (struct __jmp_buf_tag __env[1], int __val) throw () __asm__ ("" "__longjmp_chk") __attribute__ ((__noreturn__)); # 118 "/usr/include/setjmp.h" 2 3 4 } # 131 "/usr/include/python2.6/pyfpe.h" 2 extern jmp_buf PyFPE_jbuf; extern int PyFPE_counter; extern double PyFPE_dummy(void *); # 174 "/usr/include/python2.6/pyfpe.h" } # 159 "/usr/include/python2.6/Python.h" 2 # 143 "/usr/include/boost-1_42/boost/python/detail/wrap_python.hpp" 2 # 14 "/usr/include/boost-1_42/boost/python/detail/prefix.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/config.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/detail/config.hpp" # 1 "/usr/include/boost-1_42/boost/config.hpp" 1 # 26 "/usr/include/boost-1_42/boost/config.hpp" # 1 "/usr/include/boost-1_42/boost/config/user.hpp" 1 # 27 "/usr/include/boost-1_42/boost/config.hpp" 2 # 1 "/usr/include/boost-1_42/boost/config/select_compiler_config.hpp" 1 # 32 "/usr/include/boost-1_42/boost/config.hpp" 2 # 1 "/usr/include/boost-1_42/boost/config/compiler/gcc.hpp" 1 # 36 "/usr/include/boost-1_42/boost/config.hpp" 2 # 1 "/usr/include/boost-1_42/boost/config/select_stdlib_config.hpp" 1 # 17 "/usr/include/boost-1_42/boost/config/select_stdlib_config.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 18 "/usr/include/boost-1_42/boost/config/select_stdlib_config.hpp" 2 # 33 "/usr/include/boost-1_42/boost/config/select_stdlib_config.hpp" # 1 "/usr/include/boost-1_42/boost/config/no_tr1/utility.hpp" 1 # 21 "/usr/include/boost-1_42/boost/config/no_tr1/utility.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/utility" 1 3 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/utility" 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/utility" 3 # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/utility" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_relops.h" 1 3 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_relops.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace rel_ops { # 83 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_relops.h" 3 template inline bool operator!=(const _Tp& __x, const _Tp& __y) { return !(__x == __y); } # 96 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_relops.h" 3 template inline bool operator>(const _Tp& __x, const _Tp& __y) { return __y < __x; } # 109 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_relops.h" 3 template inline bool operator<=(const _Tp& __x, const _Tp& __y) { return !(__y < __x); } # 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_relops.h" 3 template inline bool operator>=(const _Tp& __x, const _Tp& __y) { return !(__x < __y); } } } # 71 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/utility" 2 3 # 22 "/usr/include/boost-1_42/boost/config/no_tr1/utility.hpp" 2 # 34 "/usr/include/boost-1_42/boost/config/select_stdlib_config.hpp" 2 # 41 "/usr/include/boost-1_42/boost/config.hpp" 2 # 1 "/usr/include/boost-1_42/boost/config/stdlib/libstdcpp3.hpp" 1 # 45 "/usr/include/boost-1_42/boost/config.hpp" 2 # 1 "/usr/include/boost-1_42/boost/config/select_platform_config.hpp" 1 # 50 "/usr/include/boost-1_42/boost/config.hpp" 2 # 1 "/usr/include/boost-1_42/boost/config/platform/linux.hpp" 1 # 14 "/usr/include/boost-1_42/boost/config/platform/linux.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 2 3 # 100 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::div_t; using ::ldiv_t; using ::abort; using ::abs; using ::atexit; using ::atof; using ::atoi; using ::atol; using ::bsearch; using ::calloc; using ::div; using ::exit; using ::free; using ::getenv; using ::labs; using ::ldiv; using ::malloc; using ::mblen; using ::mbstowcs; using ::mbtowc; using ::qsort; using ::rand; using ::realloc; using ::srand; using ::strtod; using ::strtol; using ::strtoul; using ::system; using ::wcstombs; using ::wctomb; inline long abs(long __i) { return labs(__i); } inline ldiv_t div(long __i, long __j) { return ldiv(__i, __j); } } # 157 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { using ::lldiv_t; using ::_Exit; inline long long abs(long long __x) { return __x >= 0 ? __x : -__x; } using ::llabs; inline lldiv_t div(long long __n, long long __d) { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } using ::lldiv; # 190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 3 using ::atoll; using ::strtoll; using ::strtoull; using ::strtof; using ::strtold; } namespace std __attribute__ ((__visibility__ ("default"))) { using ::__gnu_cxx::lldiv_t; using ::__gnu_cxx::_Exit; using ::__gnu_cxx::abs; using ::__gnu_cxx::llabs; using ::__gnu_cxx::div; using ::__gnu_cxx::lldiv; using ::__gnu_cxx::atoll; using ::__gnu_cxx::strtof; using ::__gnu_cxx::strtoll; using ::__gnu_cxx::strtoull; using ::__gnu_cxx::strtold; } # 15 "/usr/include/boost-1_42/boost/config/platform/linux.hpp" 2 # 70 "/usr/include/boost-1_42/boost/config/platform/linux.hpp" # 1 "/usr/include/boost-1_42/boost/config/posix_features.hpp" 1 # 71 "/usr/include/boost-1_42/boost/config/platform/linux.hpp" 2 # 54 "/usr/include/boost-1_42/boost/config.hpp" 2 # 1 "/usr/include/boost-1_42/boost/config/suffix.hpp" 1 # 468 "/usr/include/boost-1_42/boost/config/suffix.hpp" namespace boost{ __extension__ typedef long long long_long_type; __extension__ typedef unsigned long long ulong_long_type; } # 58 "/usr/include/boost-1_42/boost/config.hpp" 2 # 16 "/usr/include/boost-1_42/boost/python/detail/config.hpp" 2 # 1 "/usr/include/boost-1_42/boost/detail/workaround.hpp" 1 # 17 "/usr/include/boost-1_42/boost/python/detail/config.hpp" 2 # 134 "/usr/include/boost-1_42/boost/python/detail/config.hpp" # 1 "/usr/include/boost-1_42/boost/config/auto_link.hpp" 1 # 135 "/usr/include/boost-1_42/boost/python/detail/config.hpp" 2 # 15 "/usr/include/boost-1_42/boost/python/detail/prefix.hpp" 2 # 9 "/usr/include/boost-1_42/boost/python/args.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/args_fwd.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/args_fwd.hpp" # 1 "/usr/include/boost-1_42/boost/python/handle.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/handle.hpp" # 1 "/usr/include/boost-1_42/boost/python/cast.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/cast.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/same_traits.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/same_traits.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_same.hpp" 1 # 24 "/usr/include/boost-1_42/boost/type_traits/is_same.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/config.hpp" 1 # 25 "/usr/include/boost-1_42/boost/type_traits/is_same.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 10 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/int.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/int.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/int_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/int_fwd.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/adl_barrier.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/adl_barrier.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/adl.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/config/adl.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/msvc.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/config/adl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/intel.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/config/adl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/gcc.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/config/adl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/workaround.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/aux_/config/adl.hpp" 2 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/adl_barrier.hpp" 2 # 33 "/usr/include/boost-1_42/boost/mpl/aux_/adl_barrier.hpp" namespace mpl_ { namespace aux {} } namespace boost { namespace mpl { using namespace mpl_; namespace aux { using namespace mpl_::aux; } }} # 18 "/usr/include/boost-1_42/boost/mpl/int_fwd.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/nttp_decl.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/nttp_decl.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/nttp.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/nttp_decl.hpp" 2 # 19 "/usr/include/boost-1_42/boost/mpl/int_fwd.hpp" 2 namespace mpl_ { template< int N > struct int_; } namespace boost { namespace mpl { using ::mpl_::int_; } } # 18 "/usr/include/boost-1_42/boost/mpl/int.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" 1 # 16 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/integral_c_tag.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/integral_c_tag.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/static_constant.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/integral_c_tag.hpp" 2 namespace mpl_ { struct integral_c_tag { static const int value = 0; }; } namespace boost { namespace mpl { using ::mpl_::integral_c_tag; } } # 17 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/static_cast.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/cat.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/cat.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/config/config.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/cat.hpp" 2 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" 2 # 40 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" namespace mpl_ { template< int N > struct int_ { static const int value = N; typedef int_ type; typedef int value_type; typedef integral_c_tag tag; # 72 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" typedef mpl_::int_< static_cast((value + 1)) > next; typedef mpl_::int_< static_cast((value - 1)) > prior; operator int() const { return static_cast(this->value); } }; template< int N > int const mpl_::int_< N >::value; } # 21 "/usr/include/boost-1_42/boost/mpl/int.hpp" 2 # 11 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/template_arity_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/template_arity_fwd.hpp" namespace boost { namespace mpl { namespace aux { template< typename F > struct template_arity; }}} # 12 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/params.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/params.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/preprocessor.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/params.hpp" 2 # 45 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/params.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/comma_if.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/comma_if.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/punctuation/comma_if.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/punctuation/comma_if.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/control/if.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/control/if.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/control/iif.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/control/if.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/logical/bool.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/control/if.hpp" 2 # 19 "/usr/include/boost-1_42/boost/preprocessor/punctuation/comma_if.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/facilities/empty.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/punctuation/comma_if.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/punctuation/comma.hpp" 1 # 21 "/usr/include/boost-1_42/boost/preprocessor/punctuation/comma_if.hpp" 2 # 16 "/usr/include/boost-1_42/boost/preprocessor/comma_if.hpp" 2 # 46 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/params.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/repeat.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/repeat.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/repeat.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/repetition/repeat.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/debug/error.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/repetition/repeat.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/usr/include/boost-1_42/boost/preprocessor/repetition/repeat.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/tuple/eat.hpp" 1 # 22 "/usr/include/boost-1_42/boost/preprocessor/repetition/repeat.hpp" 2 # 16 "/usr/include/boost-1_42/boost/preprocessor/repeat.hpp" 2 # 47 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/params.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/inc.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/inc.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/inc.hpp" 1 # 16 "/usr/include/boost-1_42/boost/preprocessor/inc.hpp" 2 # 48 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/params.hpp" 2 # 13 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/lambda.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/config/lambda.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/ttp.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/config/lambda.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/ctps.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/config/lambda.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/overload_resolution.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/integral_constant.hpp" 1 # 10 "/usr/include/boost-1_42/boost/type_traits/integral_constant.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/bool.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/bool.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/bool_fwd.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/bool_fwd.hpp" namespace mpl_ { template< bool C_ > struct bool_; typedef bool_ true_; typedef bool_ false_; } namespace boost { namespace mpl { using ::mpl_::bool_; } } namespace boost { namespace mpl { using ::mpl_::true_; } } namespace boost { namespace mpl { using ::mpl_::false_; } } # 18 "/usr/include/boost-1_42/boost/mpl/bool.hpp" 2 namespace mpl_ { template< bool C_ > struct bool_ { static const bool value = C_; typedef integral_c_tag tag; typedef bool_ type; typedef bool value_type; operator bool() const { return this->value; } }; template< bool C_ > bool const bool_::value; } # 11 "/usr/include/boost-1_42/boost/type_traits/integral_constant.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/integral_c.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/integral_c.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/integral_c_fwd.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/integral_c_fwd.hpp" namespace mpl_ { template< typename T, T N > struct integral_c; } namespace boost { namespace mpl { using ::mpl_::integral_c; } } # 18 "/usr/include/boost-1_42/boost/mpl/integral_c.hpp" 2 # 32 "/usr/include/boost-1_42/boost/mpl/integral_c.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" 1 # 40 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" namespace mpl_ { template< typename T, T N > struct integral_c { static const T value = N; typedef integral_c type; typedef T value_type; typedef integral_c_tag tag; # 72 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" typedef integral_c< T, static_cast((value + 1)) > next; typedef integral_c< T, static_cast((value - 1)) > prior; operator T() const { return static_cast(this->value); } }; template< typename T, T N > T const integral_c< T, N >::value; } # 33 "/usr/include/boost-1_42/boost/mpl/integral_c.hpp" 2 namespace mpl_ { template< bool C > struct integral_c { static const bool value = C; typedef integral_c_tag tag; typedef integral_c type; typedef bool value_type; operator bool() const { return this->value; } }; } # 12 "/usr/include/boost-1_42/boost/type_traits/integral_constant.hpp" 2 namespace boost{ template struct integral_constant : public mpl::integral_c { typedef integral_constant type; }; template<> struct integral_constant : public mpl::true_ { typedef integral_constant type; }; template<> struct integral_constant : public mpl::false_ { typedef integral_constant type; }; typedef integral_constant true_type; typedef integral_constant false_type; } # 16 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/lambda_support.hpp" 1 # 18 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 32 "/usr/include/boost-1_42/boost/type_traits/is_same.hpp" 2 namespace boost { template< typename T, typename U > struct is_same : ::boost::integral_constant { }; template< typename T > struct is_same< T,T > : ::boost::integral_constant { }; # 98 "/usr/include/boost-1_42/boost/type_traits/is_same.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 101 "/usr/include/boost-1_42/boost/type_traits/is_same.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/same_traits.hpp" 2 # 11 "/usr/include/boost-1_42/boost/python/cast.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/add_const.hpp" 1 # 16 "/usr/include/boost-1_42/boost/type_traits/add_const.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 17 "/usr/include/boost-1_42/boost/type_traits/add_const.hpp" 2 namespace boost { # 33 "/usr/include/boost-1_42/boost/type_traits/add_const.hpp" template< typename T > struct add_const { typedef T const type; }; template< typename T > struct add_const { typedef T& type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 46 "/usr/include/boost-1_42/boost/type_traits/add_const.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/add_volatile.hpp" 1 # 16 "/usr/include/boost-1_42/boost/type_traits/add_volatile.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 17 "/usr/include/boost-1_42/boost/type_traits/add_volatile.hpp" 2 namespace boost { # 33 "/usr/include/boost-1_42/boost/type_traits/add_volatile.hpp" template< typename T > struct add_volatile { typedef T volatile type; }; template< typename T > struct add_volatile { typedef T& type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 46 "/usr/include/boost-1_42/boost/type_traits/add_volatile.hpp" 2 # 17 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/add_cv.hpp" 1 # 17 "/usr/include/boost-1_42/boost/type_traits/add_cv.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/add_cv.hpp" 2 namespace boost { # 34 "/usr/include/boost-1_42/boost/type_traits/add_cv.hpp" template< typename T > struct add_cv { typedef T const volatile type; }; template< typename T > struct add_cv { typedef T& type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 47 "/usr/include/boost-1_42/boost/type_traits/add_cv.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" 1 # 28 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/cv_traits_impl.hpp" 1 # 23 "/usr/include/boost-1_42/boost/type_traits/detail/cv_traits_impl.hpp" namespace boost { namespace detail { template struct cv_traits_imp {}; template struct cv_traits_imp { static const bool is_const = false; static const bool is_volatile = false; typedef T unqualified_type; }; template struct cv_traits_imp { static const bool is_const = true; static const bool is_volatile = false; typedef T unqualified_type; }; template struct cv_traits_imp { static const bool is_const = false; static const bool is_volatile = true; typedef T unqualified_type; }; template struct cv_traits_imp { static const bool is_const = true; static const bool is_volatile = true; typedef T unqualified_type; }; # 92 "/usr/include/boost-1_42/boost/type_traits/detail/cv_traits_impl.hpp" } } # 29 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_reference.hpp" 1 # 32 "/usr/include/boost-1_42/boost/type_traits/is_reference.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 33 "/usr/include/boost-1_42/boost/type_traits/is_reference.hpp" 2 namespace boost { template< typename T > struct is_reference : ::boost::integral_constant { }; template< typename T > struct is_reference< T& > : ::boost::integral_constant { }; # 113 "/usr/include/boost-1_42/boost/type_traits/is_reference.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 116 "/usr/include/boost-1_42/boost/type_traits/is_reference.hpp" 2 # 31 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" 2 # 43 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 44 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" 2 namespace boost { # 57 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" template< typename T > struct is_const : ::boost::integral_constant::is_const> { }; template< typename T > struct is_const< T& > : ::boost::integral_constant { }; # 141 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 144 "/usr/include/boost-1_42/boost/type_traits/is_const.hpp" 2 # 19 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_volatile.hpp" 1 # 40 "/usr/include/boost-1_42/boost/type_traits/is_volatile.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 41 "/usr/include/boost-1_42/boost/type_traits/is_volatile.hpp" 2 namespace boost { # 52 "/usr/include/boost-1_42/boost/type_traits/is_volatile.hpp" template< typename T > struct is_volatile : ::boost::integral_constant::is_volatile> { }; template< typename T > struct is_volatile< T& > : ::boost::integral_constant { }; # 129 "/usr/include/boost-1_42/boost/type_traits/is_volatile.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 132 "/usr/include/boost-1_42/boost/type_traits/is_volatile.hpp" 2 # 20 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/remove_const.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/remove_const.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/broken_compiler_spec.hpp" 1 # 95 "/usr/include/boost-1_42/boost/type_traits/broken_compiler_spec.hpp" # 16 "/usr/include/boost-1_42/boost/type_traits/remove_const.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 21 "/usr/include/boost-1_42/boost/type_traits/remove_const.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 28 "/usr/include/boost-1_42/boost/type_traits/remove_const.hpp" 2 namespace boost { namespace detail { template struct remove_const_helper { typedef T type; }; template struct remove_const_helper { typedef T volatile type; }; template struct remove_const_impl { typedef typename remove_const_helper< typename cv_traits_imp::unqualified_type , ::boost::is_volatile::value >::type type; }; } template< typename T > struct remove_const { typedef typename boost::detail::remove_const_impl::type type; }; template< typename T > struct remove_const { typedef T& type; }; template< typename T, std::size_t N > struct remove_const { typedef T type[N]; }; template< typename T, std::size_t N > struct remove_const { typedef T volatile type[N]; }; # 74 "/usr/include/boost-1_42/boost/type_traits/remove_const.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 77 "/usr/include/boost-1_42/boost/type_traits/remove_const.hpp" 2 # 21 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/remove_volatile.hpp" 1 # 20 "/usr/include/boost-1_42/boost/type_traits/remove_volatile.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 21 "/usr/include/boost-1_42/boost/type_traits/remove_volatile.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 28 "/usr/include/boost-1_42/boost/type_traits/remove_volatile.hpp" 2 namespace boost { namespace detail { template struct remove_volatile_helper { typedef T type; }; template struct remove_volatile_helper { typedef T const type; }; template struct remove_volatile_impl { typedef typename remove_volatile_helper< typename cv_traits_imp::unqualified_type , ::boost::is_const::value >::type type; }; } template< typename T > struct remove_volatile { typedef typename boost::detail::remove_volatile_impl::type type; }; template< typename T > struct remove_volatile { typedef T& type; }; template< typename T, std::size_t N > struct remove_volatile { typedef T type[N]; }; template< typename T, std::size_t N > struct remove_volatile { typedef T const type[N]; }; # 73 "/usr/include/boost-1_42/boost/type_traits/remove_volatile.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 76 "/usr/include/boost-1_42/boost/type_traits/remove_volatile.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/remove_cv.hpp" 1 # 19 "/usr/include/boost-1_42/boost/type_traits/remove_cv.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 20 "/usr/include/boost-1_42/boost/type_traits/remove_cv.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 27 "/usr/include/boost-1_42/boost/type_traits/remove_cv.hpp" 2 namespace boost { template< typename T > struct remove_cv { typedef typename boost::detail::cv_traits_imp::unqualified_type type; }; template< typename T > struct remove_cv { typedef T& type; }; template< typename T, std::size_t N > struct remove_cv { typedef T type[N]; }; template< typename T, std::size_t N > struct remove_cv { typedef T type[N]; }; template< typename T, std::size_t N > struct remove_cv { typedef T type[N]; }; # 57 "/usr/include/boost-1_42/boost/type_traits/remove_cv.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 60 "/usr/include/boost-1_42/boost/type_traits/remove_cv.hpp" 2 # 23 "/usr/include/boost-1_42/boost/type_traits/cv_traits.hpp" 2 # 12 "/usr/include/boost-1_42/boost/python/cast.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type.hpp" 1 # 9 "/usr/include/boost-1_42/boost/type.hpp" namespace boost { template struct type {}; } # 13 "/usr/include/boost-1_42/boost/python/cast.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/base_type_traits.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/base_type_traits.hpp" namespace boost { namespace python { namespace detail { struct unspecialized {}; } template struct base_type_traits : detail::unspecialized {}; template <> struct base_type_traits { typedef PyObject type; }; template <> struct base_type_traits { typedef PyObject type; }; template <> struct base_type_traits { typedef PyObject type; }; }} # 14 "/usr/include/boost-1_42/boost/python/cast.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/convertible.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/detail/convertible.hpp" namespace boost { namespace python { namespace detail { typedef char* yes_convertible; typedef int* no_convertible; template struct convertible { static inline no_convertible check(...) { return 0; } static inline yes_convertible check(Target) { return 0; } # 34 "/usr/include/boost-1_42/boost/python/detail/convertible.hpp" }; }}} # 15 "/usr/include/boost-1_42/boost/python/cast.hpp" 2 namespace boost { namespace python { namespace detail { template inline Target* upcast_impl(Source*, Target*); template inline Target* upcast(Source* p, yes_convertible, no_convertible, Target*) { return p; } template inline Target* upcast(Source* p, no_convertible, no_convertible, Target*) { typedef typename base_type_traits::type base; return detail::upcast_impl((base*)p, (Target*)0); } template struct upcaster { template static inline T* execute(T* x, T*) { return x; } }; template <> struct upcaster { template static inline Target* execute(Source* x, Target*) { return detail::upcast( x, detail::convertible::check(x) , detail::convertible::check((Target*)0) , (Target*)0); } }; template inline Target* downcast(Source* p, yes_convertible) { return static_cast(p); } template inline Target* downcast(Source* p, no_convertible, boost::type* = 0) { typedef typename base_type_traits::type base; return (Target*)detail::downcast(p, convertible::check((base*)0)); } template inline void assert_castable(boost::type* = 0) { typedef char must_be_a_complete_type[sizeof(T)]; } template inline Target* upcast_impl(Source* x, Target*) { typedef typename add_cv::type src_t; typedef typename add_cv::type target_t; bool const same = is_same::value; return detail::upcaster::execute(x, (Target*)0); } } template inline Target* upcast(Source* x, Target* = 0) { detail::assert_castable(); detail::assert_castable(); return detail::upcast_impl(x, (Target*)0); } template inline Target* downcast(Source* x, Target* = 0) { detail::assert_castable(); detail::assert_castable(); return detail::downcast(x, detail::convertible::check((Target*)0)); } }} # 11 "/usr/include/boost-1_42/boost/python/handle.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/errors.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/errors.hpp" # 1 "/usr/include/boost-1_42/boost/function/function0.hpp" 1 # 11 "/usr/include/boost-1_42/boost/function/function0.hpp" # 1 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" 1 # 13 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" # 1 "/usr/include/boost-1_42/boost/function/function_template.hpp" 1 # 13 "/usr/include/boost-1_42/boost/function/function_template.hpp" # 1 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 1 # 12 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cassert" 1 3 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cassert" 3 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cassert" 3 # 1 "/usr/include/assert.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cassert" 2 3 # 13 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/algorithm" 1 3 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/algorithm" 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/algorithm" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 1 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstdlib" 2 3 # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 1 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 199 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 template bool binary_search(_FIter, _FIter, const _Tp&); template bool binary_search(_FIter, _FIter, const _Tp&, _Compare); template _OIter copy(_IIter, _IIter, _OIter); template _BIter2 copy_backward(_BIter1, _BIter1, _BIter2); # 228 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 template pair<_FIter, _FIter> equal_range(_FIter, _FIter, const _Tp&); template pair<_FIter, _FIter> equal_range(_FIter, _FIter, const _Tp&, _Compare); template void fill(_FIter, _FIter, const _Tp&); template _OIter fill_n(_OIter, _Size, const _Tp&); template _FIter1 find_end(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); # 267 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 template bool includes(_IIter1, _IIter1, _IIter2, _IIter2); template bool includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); template void inplace_merge(_BIter, _BIter, _BIter); template void inplace_merge(_BIter, _BIter, _BIter, _Compare); # 321 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 template void iter_swap(_FIter1, _FIter2); template _FIter lower_bound(_FIter, _FIter, const _Tp&); template _FIter lower_bound(_FIter, _FIter, const _Tp&, _Compare); template void make_heap(_RAIter, _RAIter); template void make_heap(_RAIter, _RAIter, _Compare); template const _Tp& max(const _Tp&, const _Tp&); template const _Tp& max(const _Tp&, const _Tp&, _Compare); template const _Tp& min(const _Tp&, const _Tp&); template const _Tp& min(const _Tp&, const _Tp&, _Compare); # 406 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 template bool next_permutation(_BIter, _BIter); template bool next_permutation(_BIter, _BIter, _Compare); # 423 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 template _RAIter partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter); template _RAIter partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare); # 444 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 template void pop_heap(_RAIter, _RAIter); template void pop_heap(_RAIter, _RAIter, _Compare); template bool prev_permutation(_BIter, _BIter); template bool prev_permutation(_BIter, _BIter, _Compare); template void push_heap(_RAIter, _RAIter); template void push_heap(_RAIter, _RAIter, _Compare); template _FIter remove(_FIter, _FIter, const _Tp&); template _FIter remove_if(_FIter, _FIter, _Predicate); template _OIter remove_copy(_IIter, _IIter, _OIter, const _Tp&); template _OIter remove_copy_if(_IIter, _IIter, _OIter, _Predicate); template _OIter replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&); template _OIter replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&); template void reverse(_BIter, _BIter); template _OIter reverse_copy(_BIter, _BIter, _OIter); template void rotate(_FIter, _FIter, _FIter); template _OIter rotate_copy(_FIter, _FIter, _FIter, _OIter); # 527 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/algorithmfwd.h" 3 template void sort_heap(_RAIter, _RAIter); template void sort_heap(_RAIter, _RAIter, _Compare); template _BIter stable_partition(_BIter, _BIter, _Predicate); template void swap(_Tp&, _Tp&); template void swap(_Tp (&)[_Nm], _Tp (&)[_Nm]); template _FIter2 swap_ranges(_FIter1, _FIter1, _FIter2); template _FIter unique(_FIter, _FIter); template _FIter unique(_FIter, _FIter, _BinaryPredicate); template _FIter upper_bound(_FIter, _FIter, const _Tp&); template _FIter upper_bound(_FIter, _FIter, const _Tp&, _Compare); } namespace std __attribute__ ((__visibility__ ("default"))) { template _FIter adjacent_find(_FIter, _FIter); template _FIter adjacent_find(_FIter, _FIter, _BinaryPredicate); template typename iterator_traits<_IIter>::difference_type count(_IIter, _IIter, const _Tp&); template typename iterator_traits<_IIter>::difference_type count_if(_IIter, _IIter, _Predicate); template bool equal(_IIter1, _IIter1, _IIter2); template bool equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate); template _IIter find(_IIter, _IIter, const _Tp&); template _FIter1 find_first_of(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); template _IIter find_if(_IIter, _IIter, _Predicate); template _Funct for_each(_IIter, _IIter, _Funct); template void generate(_FIter, _FIter, _Generator); template _OIter generate_n(_OIter, _Size, _Generator); template bool lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2); template bool lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); template _FIter max_element(_FIter, _FIter); template _FIter max_element(_FIter, _FIter, _Compare); template _OIter merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _FIter min_element(_FIter, _FIter); template _FIter min_element(_FIter, _FIter, _Compare); template pair<_IIter1, _IIter2> mismatch(_IIter1, _IIter1, _IIter2); template pair<_IIter1, _IIter2> mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate); template void nth_element(_RAIter, _RAIter, _RAIter); template void nth_element(_RAIter, _RAIter, _RAIter, _Compare); template void partial_sort(_RAIter, _RAIter, _RAIter); template void partial_sort(_RAIter, _RAIter, _RAIter, _Compare); template _BIter partition(_BIter, _BIter, _Predicate); template void random_shuffle(_RAIter, _RAIter); template void random_shuffle(_RAIter, _RAIter, _Generator&); template void replace(_FIter, _FIter, const _Tp&, const _Tp&); template void replace_if(_FIter, _FIter, _Predicate, const _Tp&); template _FIter1 search(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); template _FIter search_n(_FIter, _FIter, _Size, const _Tp&); template _FIter search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate); template _OIter set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template void sort(_RAIter, _RAIter); template void sort(_RAIter, _RAIter, _Compare); template void stable_sort(_RAIter, _RAIter); template void stable_sort(_RAIter, _RAIter, _Compare); template _OIter transform(_IIter, _IIter, _OIter, _UnaryOperation); template _OIter transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation); template _OIter unique_copy(_IIter, _IIter, _OIter); template _OIter unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); } # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 1 3 # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template _Distance __is_heap_until(_RandomAccessIterator __first, _Distance __n) { _Distance __parent = 0; for (_Distance __child = 1; __child < __n; ++__child) { if (__first[__parent] < __first[__child]) return __child; if ((__child & 1) == 0) ++__parent; } return __n; } template _Distance __is_heap_until(_RandomAccessIterator __first, _Distance __n, _Compare __comp) { _Distance __parent = 0; for (_Distance __child = 1; __child < __n; ++__child) { if (__comp(__first[__parent], __first[__child])) return __child; if ((__child & 1) == 0) ++__parent; } return __n; } template inline bool __is_heap(_RandomAccessIterator __first, _Distance __n) { return std::__is_heap_until(__first, __n) == __n; } template inline bool __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) { return std::__is_heap_until(__first, __n, __comp) == __n; } template inline bool __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { return std::__is_heap(__first, std::distance(__first, __last)); } template inline bool __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { return std::__is_heap(__first, __comp, std::distance(__first, __last)); } template void __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value) { _Distance __parent = (__holeIndex - 1) / 2; while (__holeIndex > __topIndex && *(__first + __parent) < __value) { *(__first + __holeIndex) = (*(__first + __parent)); __holeIndex = __parent; __parent = (__holeIndex - 1) / 2; } *(__first + __holeIndex) = (__value); } # 152 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 template inline void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; _ValueType __value = (*(__last - 1)); std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), (__value)); } template void __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value, _Compare __comp) { _Distance __parent = (__holeIndex - 1) / 2; while (__holeIndex > __topIndex && __comp(*(__first + __parent), __value)) { *(__first + __holeIndex) = (*(__first + __parent)); __holeIndex = __parent; __parent = (__holeIndex - 1) / 2; } *(__first + __holeIndex) = (__value); } # 201 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 template inline void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; _ValueType __value = (*(__last - 1)); std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), (__value), __comp); } template void __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value) { const _Distance __topIndex = __holeIndex; _Distance __secondChild = __holeIndex; while (__secondChild < (__len - 1) / 2) { __secondChild = 2 * (__secondChild + 1); if (*(__first + __secondChild) < *(__first + (__secondChild - 1))) __secondChild--; *(__first + __holeIndex) = (*(__first + __secondChild)); __holeIndex = __secondChild; } if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) { __secondChild = 2 * (__secondChild + 1); *(__first + __holeIndex) = (*(__first + (__secondChild - 1))) ; __holeIndex = __secondChild - 1; } std::__push_heap(__first, __holeIndex, __topIndex, (__value)); } template inline void __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; _ValueType __value = (*__result); *__result = (*__first); std::__adjust_heap(__first, _DistanceType(0), _DistanceType(__last - __first), (__value)); } # 274 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; --__last; std::__pop_heap(__first, __last, __last); } template void __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value, _Compare __comp) { const _Distance __topIndex = __holeIndex; _Distance __secondChild = __holeIndex; while (__secondChild < (__len - 1) / 2) { __secondChild = 2 * (__secondChild + 1); if (__comp(*(__first + __secondChild), *(__first + (__secondChild - 1)))) __secondChild--; *(__first + __holeIndex) = (*(__first + __secondChild)); __holeIndex = __secondChild; } if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) { __secondChild = 2 * (__secondChild + 1); *(__first + __holeIndex) = (*(__first + (__secondChild - 1))) ; __holeIndex = __secondChild - 1; } std::__push_heap(__first, __holeIndex, __topIndex, (__value), __comp); } template inline void __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; _ValueType __value = (*__result); *__result = (*__first); std::__adjust_heap(__first, _DistanceType(0), _DistanceType(__last - __first), (__value), __comp); } # 348 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; --__last; std::__pop_heap(__first, __last, __last, __comp); } # 371 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 template void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; if (__last - __first < 2) return; const _DistanceType __len = __last - __first; _DistanceType __parent = (__len - 2) / 2; while (true) { _ValueType __value = (*(__first + __parent)); std::__adjust_heap(__first, __parent, __len, (__value)); if (__parent == 0) return; __parent--; } } # 411 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 template void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; if (__last - __first < 2) return; const _DistanceType __len = __last - __first; _DistanceType __parent = (__len - 2) / 2; while (true) { _ValueType __value = (*(__first + __parent)); std::__adjust_heap(__first, __parent, __len, (__value), __comp); if (__parent == 0) return; __parent--; } } # 450 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 template void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; ; while (__last - __first > 1) { --__last; std::__pop_heap(__first, __last, __last); } } # 479 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 template void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; while (__last - __first > 1) { --__last; std::__pop_heap(__first, __last, __last, __comp); } } # 576 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_heap.h" 3 } # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tempbuf.h" 1 3 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tempbuf.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 83 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tempbuf.h" 3 template pair<_Tp*, ptrdiff_t> get_temporary_buffer(ptrdiff_t __len) { const ptrdiff_t __max = __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); if (__len > __max) __len = __max; while (__len > 0) { _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), std::nothrow)); if (__tmp != 0) return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); __len /= 2; } return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); } # 110 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tempbuf.h" 3 template inline void return_temporary_buffer(_Tp* __p) { ::operator delete(__p, std::nothrow); } template class _Temporary_buffer { public: typedef _Tp value_type; typedef value_type* pointer; typedef pointer iterator; typedef ptrdiff_t size_type; protected: size_type _M_original_len; size_type _M_len; pointer _M_buffer; public: size_type size() const { return _M_len; } size_type requested_size() const { return _M_original_len; } iterator begin() { return _M_buffer; } iterator end() { return _M_buffer + _M_len; } _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); ~_Temporary_buffer() { std::_Destroy(_M_buffer, _M_buffer + _M_len); std::return_temporary_buffer(_M_buffer); } private: _Temporary_buffer(const _Temporary_buffer&); void operator=(const _Temporary_buffer&); }; template _Temporary_buffer<_ForwardIterator, _Tp>:: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) : _M_original_len(std::distance(__first, __last)), _M_len(0), _M_buffer(0) { try { std::pair __p(std::get_temporary_buffer< value_type>(_M_original_len)); _M_buffer = __p.first; _M_len = __p.second; if(_M_buffer) std::__uninitialized_construct_range(_M_buffer, _M_buffer + _M_len, *__first); } catch(...) { std::return_temporary_buffer(_M_buffer); _M_buffer = 0; _M_len = 0; throw; } } } # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void __move_median_first(_Iterator __a, _Iterator __b, _Iterator __c) { if (*__a < *__b) { if (*__b < *__c) std::iter_swap(__a, __b); else if (*__a < *__c) std::iter_swap(__a, __c); } else if (*__a < *__c) return; else if (*__b < *__c) std::iter_swap(__a, __c); else std::iter_swap(__a, __b); } template void __move_median_first(_Iterator __a, _Iterator __b, _Iterator __c, _Compare __comp) { if (__comp(*__a, *__b)) { if (__comp(*__b, *__c)) std::iter_swap(__a, __b); else if (__comp(*__a, *__c)) std::iter_swap(__a, __c); } else if (__comp(*__a, *__c)) return; else if (__comp(*__b, *__c)) std::iter_swap(__a, __c); else std::iter_swap(__a, __b); } template inline _InputIterator __find(_InputIterator __first, _InputIterator __last, const _Tp& __val, input_iterator_tag) { while (__first != __last && !(*__first == __val)) ++__first; return __first; } template inline _InputIterator __find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag) { while (__first != __last && !bool(__pred(*__first))) ++__first; return __first; } template _RandomAccessIterator __find(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __val, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIterator>::difference_type __trip_count = (__last - __first) >> 2; for (; __trip_count > 0; --__trip_count) { if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; } switch (__last - __first) { case 3: if (*__first == __val) return __first; ++__first; case 2: if (*__first == __val) return __first; ++__first; case 1: if (*__first == __val) return __first; ++__first; case 0: default: return __last; } } template _RandomAccessIterator __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIterator>::difference_type __trip_count = (__last - __first) >> 2; for (; __trip_count > 0; --__trip_count) { if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; } switch (__last - __first) { case 3: if (__pred(*__first)) return __first; ++__first; case 2: if (__pred(*__first)) return __first; ++__first; case 1: if (__pred(*__first)) return __first; ++__first; case 0: default: return __last; } } # 322 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator __search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, std::forward_iterator_tag) { __first = std::find(__first, __last, __val); while (__first != __last) { typename iterator_traits<_ForwardIterator>::difference_type __n = __count; _ForwardIterator __i = __first; ++__i; while (__i != __last && __n != 1 && *__i == __val) { ++__i; --__n; } if (__n == 1) return __first; if (__i == __last) return __last; __first = std::find(++__i, __last, __val); } return __last; } template _RandomAccessIter __search_n(_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp& __val, std::random_access_iterator_tag) { typedef typename std::iterator_traits<_RandomAccessIter>::difference_type _DistanceType; _DistanceType __tailSize = __last - __first; const _DistanceType __pattSize = __count; if (__tailSize < __pattSize) return __last; const _DistanceType __skipOffset = __pattSize - 1; _RandomAccessIter __lookAhead = __first + __skipOffset; __tailSize -= __pattSize; while (1) { while (!(*__lookAhead == __val)) { if (__tailSize < __pattSize) return __last; __lookAhead += __pattSize; __tailSize -= __pattSize; } _DistanceType __remainder = __skipOffset; for (_RandomAccessIter __backTrack = __lookAhead - 1; *__backTrack == __val; --__backTrack) { if (--__remainder == 0) return (__lookAhead - __skipOffset); } if (__remainder > __tailSize) return __last; __lookAhead += __remainder; __tailSize -= __remainder; } } # 407 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator __search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred, std::forward_iterator_tag) { while (__first != __last && !bool(__binary_pred(*__first, __val))) ++__first; while (__first != __last) { typename iterator_traits<_ForwardIterator>::difference_type __n = __count; _ForwardIterator __i = __first; ++__i; while (__i != __last && __n != 1 && bool(__binary_pred(*__i, __val))) { ++__i; --__n; } if (__n == 1) return __first; if (__i == __last) return __last; __first = ++__i; while (__first != __last && !bool(__binary_pred(*__first, __val))) ++__first; } return __last; } template _RandomAccessIter __search_n(_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred, std::random_access_iterator_tag) { typedef typename std::iterator_traits<_RandomAccessIter>::difference_type _DistanceType; _DistanceType __tailSize = __last - __first; const _DistanceType __pattSize = __count; if (__tailSize < __pattSize) return __last; const _DistanceType __skipOffset = __pattSize - 1; _RandomAccessIter __lookAhead = __first + __skipOffset; __tailSize -= __pattSize; while (1) { while (!bool(__binary_pred(*__lookAhead, __val))) { if (__tailSize < __pattSize) return __last; __lookAhead += __pattSize; __tailSize -= __pattSize; } _DistanceType __remainder = __skipOffset; for (_RandomAccessIter __backTrack = __lookAhead - 1; __binary_pred(*__backTrack, __val); --__backTrack) { if (--__remainder == 0) return (__lookAhead - __skipOffset); } if (__remainder > __tailSize) return __last; __lookAhead += __remainder; __tailSize -= __remainder; } } template _ForwardIterator1 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag) { if (__first2 == __last2) return __last1; else { _ForwardIterator1 __result = __last1; while (1) { _ForwardIterator1 __new_result = std::search(__first1, __last1, __first2, __last2); if (__new_result == __last1) return __result; else { __result = __new_result; __first1 = __new_result; ++__first1; } } } } template _ForwardIterator1 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag, _BinaryPredicate __comp) { if (__first2 == __last2) return __last1; else { _ForwardIterator1 __result = __last1; while (1) { _ForwardIterator1 __new_result = std::search(__first1, __last1, __first2, __last2, __comp); if (__new_result == __last1) return __result; else { __result = __new_result; __first1 = __new_result; ++__first1; } } } } template _BidirectionalIterator1 __find_end(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag) { typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; _RevIterator1 __rlast1(__first1); _RevIterator2 __rlast2(__first2); _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, _RevIterator2(__last2), __rlast2); if (__rresult == __rlast1) return __last1; else { _BidirectionalIterator1 __result = __rresult.base(); std::advance(__result, -std::distance(__first2, __last2)); return __result; } } template _BidirectionalIterator1 __find_end(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag, _BinaryPredicate __comp) { typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; _RevIterator1 __rlast1(__first1); _RevIterator2 __rlast2(__first2); _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, _RevIterator2(__last2), __rlast2, __comp); if (__rresult == __rlast1) return __last1; else { _BidirectionalIterator1 __result = __rresult.base(); std::advance(__result, -std::distance(__first2, __last2)); return __result; } } # 645 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; return std::__find_end(__first1, __last1, __first2, __last2, std::__iterator_category(__first1), std::__iterator_category(__first2)); } # 691 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __comp) { ; ; return std::__find_end(__first1, __last1, __first2, __last2, std::__iterator_category(__first1), std::__iterator_category(__first2), __comp); } # 870 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator remove_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __value) { ; for (; __first != __last; ++__first) if (!(*__first == __value)) { *__result = *__first; ++__result; } return __result; } # 907 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { ; for (; __first != __last; ++__first) if (!bool(__pred(*__first))) { *__result = *__first; ++__result; } return __result; } # 1082 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; __first = std::find(__first, __last, __value); if(__first == __last) return __first; _ForwardIterator __result = __first; ++__first; for(; __first != __last; ++__first) if(!(*__first == __value)) { *__result = (*__first); ++__result; } return __result; } # 1125 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; __first = std::find_if(__first, __last, __pred); if(__first == __last) return __first; _ForwardIterator __result = __first; ++__first; for(; __first != __last; ++__first) if(!bool(__pred(*__first))) { *__result = (*__first); ++__result; } return __result; } # 1165 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last) { ; __first = std::adjacent_find(__first, __last); if (__first == __last) return __last; _ForwardIterator __dest = __first; ++__first; while (++__first != __last) if (!(*__dest == *__first)) *++__dest = (*__first); return ++__dest; } # 1205 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { ; __first = std::adjacent_find(__first, __last, __binary_pred); if (__first == __last) return __last; _ForwardIterator __dest = __first; ++__first; while (++__first != __last) if (!bool(__binary_pred(*__dest, *__first))) *++__dest = (*__first); return ++__dest; } template _OutputIterator __unique_copy(_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, forward_iterator_tag, output_iterator_tag) { _ForwardIterator __next = __first; *__result = *__first; while (++__next != __last) if (!(*__first == *__next)) { __first = __next; *++__result = *__first; } return ++__result; } template _OutputIterator __unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, input_iterator_tag, output_iterator_tag) { typename iterator_traits<_InputIterator>::value_type __value = *__first; *__result = __value; while (++__first != __last) if (!(__value == *__first)) { __value = *__first; *++__result = __value; } return ++__result; } template _ForwardIterator __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, input_iterator_tag, forward_iterator_tag) { *__result = *__first; while (++__first != __last) if (!(*__result == *__first)) *++__result = *__first; return ++__result; } template _OutputIterator __unique_copy(_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag, output_iterator_tag) { _ForwardIterator __next = __first; *__result = *__first; while (++__next != __last) if (!bool(__binary_pred(*__first, *__next))) { __first = __next; *++__result = *__first; } return ++__result; } template _OutputIterator __unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag, output_iterator_tag) { typename iterator_traits<_InputIterator>::value_type __value = *__first; *__result = __value; while (++__first != __last) if (!bool(__binary_pred(__value, *__first))) { __value = *__first; *++__result = __value; } return ++__result; } template _ForwardIterator __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag, forward_iterator_tag) { *__result = *__first; while (++__first != __last) if (!bool(__binary_pred(*__result, *__first))) *++__result = *__first; return ++__result; } template void __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag) { while (true) if (__first == __last || __first == --__last) return; else { std::iter_swap(__first, __last); ++__first; } } template void __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { if (__first == __last) return; --__last; while (__first < __last) { std::iter_swap(__first, __last); ++__first; --__last; } } # 1433 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; std::__reverse(__first, __last, std::__iterator_category(__first)); } # 1460 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result) { ; while (__first != __last) { --__last; *__result = *__last; ++__result; } return __result; } template _EuclideanRingElement __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) { while (__n != 0) { _EuclideanRingElement __t = __m % __n; __m = __n; __n = __t; } return __m; } template void __rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag) { if (__first == __middle || __last == __middle) return; _ForwardIterator __first2 = __middle; do { std::iter_swap(__first, __first2); ++__first; ++__first2; if (__first == __middle) __middle = __first2; } while (__first2 != __last); __first2 = __middle; while (__first2 != __last) { std::iter_swap(__first, __first2); ++__first; ++__first2; if (__first == __middle) __middle = __first2; else if (__first2 == __last) __first2 = __middle; } } template void __rotate(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag) { if (__first == __middle || __last == __middle) return; std::__reverse(__first, __middle, bidirectional_iterator_tag()); std::__reverse(__middle, __last, bidirectional_iterator_tag()); while (__first != __middle && __middle != __last) { std::iter_swap(__first, --__last); ++__first; } if (__first == __middle) std::__reverse(__middle, __last, bidirectional_iterator_tag()); else std::__reverse(__first, __middle, bidirectional_iterator_tag()); } template void __rotate(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag) { if (__first == __middle || __last == __middle) return; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; _Distance __n = __last - __first; _Distance __k = __middle - __first; if (__k == __n - __k) { std::swap_ranges(__first, __middle, __middle); return; } _RandomAccessIterator __p = __first; for (;;) { if (__k < __n - __k) { if (__is_pod(_ValueType) && __k == 1) { _ValueType __t = (*__p); std::copy(__p + 1, __p + __n, __p); *(__p + __n - 1) = (__t); return; } _RandomAccessIterator __q = __p + __k; for (_Distance __i = 0; __i < __n - __k; ++ __i) { std::iter_swap(__p, __q); ++__p; ++__q; } __n %= __k; if (__n == 0) return; std::swap(__n, __k); __k = __n - __k; } else { __k = __n - __k; if (__is_pod(_ValueType) && __k == 1) { _ValueType __t = (*(__p + __n - 1)); std::copy_backward(__p, __p + __n - 1, __p + __n); *__p = (__t); return; } _RandomAccessIterator __q = __p + __n; __p = __q - __k; for (_Distance __i = 0; __i < __n - __k; ++ __i) { --__p; --__q; std::iter_swap(__p, __q); } __n %= __k; if (__n == 0) return; std::swap(__n, __k); } } } # 1664 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last) { ; ; typedef typename iterator_traits<_ForwardIterator>::iterator_category _IterType; std::__rotate(__first, __middle, __last, _IterType()); } # 1698 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result) { ; ; return std::copy(__first, __middle, std::copy(__middle, __last, __result)); } template _ForwardIterator __partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag) { if (__first == __last) return __first; while (__pred(*__first)) if (++__first == __last) return __first; _ForwardIterator __next = __first; while (++__next != __last) if (__pred(*__next)) { std::iter_swap(__first, __next); ++__first; } return __first; } template _BidirectionalIterator __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag) { while (true) { while (true) if (__first == __last) return __first; else if (__pred(*__first)) ++__first; else break; --__last; while (true) if (__first == __last) return __first; else if (!bool(__pred(*__last))) --__last; else break; std::iter_swap(__first, __last); ++__first; } } template _ForwardIterator __inplace_stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len) { if (__len == 1) return __pred(*__first) ? __last : __first; _ForwardIterator __middle = __first; std::advance(__middle, __len / 2); _ForwardIterator __begin = std::__inplace_stable_partition(__first, __middle, __pred, __len / 2); _ForwardIterator __end = std::__inplace_stable_partition(__middle, __last, __pred, __len - __len / 2); std::rotate(__begin, __middle, __end); std::advance(__begin, std::distance(__middle, __end)); return __begin; } template _ForwardIterator __stable_partition_adaptive(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size) { if (__len <= __buffer_size) { _ForwardIterator __result1 = __first; _Pointer __result2 = __buffer; for (; __first != __last; ++__first) if (__pred(*__first)) { *__result1 = (*__first); ++__result1; } else { *__result2 = (*__first); ++__result2; } std::copy(__buffer, __result2, __result1); return __result1; } else { _ForwardIterator __middle = __first; std::advance(__middle, __len / 2); _ForwardIterator __begin = std::__stable_partition_adaptive(__first, __middle, __pred, __len / 2, __buffer, __buffer_size); _ForwardIterator __end = std::__stable_partition_adaptive(__middle, __last, __pred, __len - __len / 2, __buffer, __buffer_size); std::rotate(__begin, __middle, __end); std::advance(__begin, std::distance(__middle, __end)); return __begin; } } # 1856 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; if (__first == __last) return __first; else { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, __last); if (__buf.size() > 0) return std::__stable_partition_adaptive(__first, __last, __pred, _DistanceType(__buf.requested_size()), __buf.begin(), _DistanceType(__buf.size())); else return std::__inplace_stable_partition(__first, __last, __pred, _DistanceType(__buf.requested_size())); } } template void __heap_select(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) { std::make_heap(__first, __middle); for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) if (*__i < *__first) std::__pop_heap(__first, __middle, __i); } template void __heap_select(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { std::make_heap(__first, __middle, __comp); for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) if (__comp(*__i, *__first)) std::__pop_heap(__first, __middle, __i, __comp); } # 1938 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef typename iterator_traits<_RandomAccessIterator>::value_type _OutputValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; if (__result_first == __result_last) return __result_last; _RandomAccessIterator __result_real_last = __result_first; while(__first != __last && __result_real_last != __result_last) { *__result_real_last = *__first; ++__result_real_last; ++__first; } std::make_heap(__result_first, __result_real_last); while (__first != __last) { if (*__first < *__result_first) std::__adjust_heap(__result_first, _DistanceType(0), _DistanceType(__result_real_last - __result_first), _InputValueType(*__first)); ++__first; } std::sort_heap(__result_first, __result_real_last); return __result_real_last; } # 2004 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef typename iterator_traits<_RandomAccessIterator>::value_type _OutputValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; if (__result_first == __result_last) return __result_last; _RandomAccessIterator __result_real_last = __result_first; while(__first != __last && __result_real_last != __result_last) { *__result_real_last = *__first; ++__result_real_last; ++__first; } std::make_heap(__result_first, __result_real_last, __comp); while (__first != __last) { if (__comp(*__first, *__result_first)) std::__adjust_heap(__result_first, _DistanceType(0), _DistanceType(__result_real_last - __result_first), _InputValueType(*__first), __comp); ++__first; } std::sort_heap(__result_first, __result_real_last, __comp); return __result_real_last; } template void __unguarded_linear_insert(_RandomAccessIterator __last) { typename iterator_traits<_RandomAccessIterator>::value_type __val = (*__last); _RandomAccessIterator __next = __last; --__next; while (__val < *__next) { *__last = (*__next); __last = __next; --__next; } *__last = (__val); } template void __unguarded_linear_insert(_RandomAccessIterator __last, _Compare __comp) { typename iterator_traits<_RandomAccessIterator>::value_type __val = (*__last); _RandomAccessIterator __next = __last; --__next; while (__comp(__val, *__next)) { *__last = (*__next); __last = __next; --__next; } *__last = (__val); } template void __insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { if (*__i < *__first) { typename iterator_traits<_RandomAccessIterator>::value_type __val = (*__i); std::copy_backward(__first, __i, __i + 1); *__first = (__val); } else std::__unguarded_linear_insert(__i); } } template void __insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { if (__comp(*__i, *__first)) { typename iterator_traits<_RandomAccessIterator>::value_type __val = (*__i); std::copy_backward(__first, __i, __i + 1); *__first = (__val); } else std::__unguarded_linear_insert(__i, __comp); } } template inline void __unguarded_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; for (_RandomAccessIterator __i = __first; __i != __last; ++__i) std::__unguarded_linear_insert(__i); } template inline void __unguarded_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; for (_RandomAccessIterator __i = __first; __i != __last; ++__i) std::__unguarded_linear_insert(__i, __comp); } enum { _S_threshold = 16 }; template void __final_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__last - __first > int(_S_threshold)) { std::__insertion_sort(__first, __first + int(_S_threshold)); std::__unguarded_insertion_sort(__first + int(_S_threshold), __last); } else std::__insertion_sort(__first, __last); } template void __final_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__last - __first > int(_S_threshold)) { std::__insertion_sort(__first, __first + int(_S_threshold), __comp); std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, __comp); } else std::__insertion_sort(__first, __last, __comp); } template _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __pivot) { while (true) { while (*__first < __pivot) ++__first; --__last; while (__pivot < *__last) --__last; if (!(__first < __last)) return __first; std::iter_swap(__first, __last); ++__first; } } template _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __pivot, _Compare __comp) { while (true) { while (__comp(*__first, __pivot)) ++__first; --__last; while (__comp(__pivot, *__last)) --__last; if (!(__first < __last)) return __first; std::iter_swap(__first, __last); ++__first; } } template inline _RandomAccessIterator __unguarded_partition_pivot(_RandomAccessIterator __first, _RandomAccessIterator __last) { _RandomAccessIterator __mid = __first + (__last - __first) / 2; std::__move_median_first(__first, __mid, (__last - 1)); return std::__unguarded_partition(__first + 1, __last, *__first); } template inline _RandomAccessIterator __unguarded_partition_pivot(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { _RandomAccessIterator __mid = __first + (__last - __first) / 2; std::__move_median_first(__first, __mid, (__last - 1), __comp); return std::__unguarded_partition(__first + 1, __last, *__first, __comp); } template void __introsort_loop(_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit) { while (__last - __first > int(_S_threshold)) { if (__depth_limit == 0) { std::partial_sort(__first, __last, __last); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition_pivot(__first, __last); std::__introsort_loop(__cut, __last, __depth_limit); __last = __cut; } } template void __introsort_loop(_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) { while (__last - __first > int(_S_threshold)) { if (__depth_limit == 0) { std::partial_sort(__first, __last, __last, __comp); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition_pivot(__first, __last, __comp); std::__introsort_loop(__cut, __last, __depth_limit, __comp); __last = __cut; } } template void __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Size __depth_limit) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; while (__last - __first > 3) { if (__depth_limit == 0) { std::__heap_select(__first, __nth + 1, __last); std::iter_swap(__first, __nth); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition_pivot(__first, __last); if (__cut <= __nth) __first = __cut; else __last = __cut; } std::__insertion_sort(__first, __last); } template void __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; while (__last - __first > 3) { if (__depth_limit == 0) { std::__heap_select(__first, __nth + 1, __last, __comp); std::iter_swap(__first, __nth); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition_pivot(__first, __last, __comp); if (__cut <= __nth) __first = __cut; else __last = __cut; } std::__insertion_sort(__first, __last, __comp); } # 2388 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(*__middle, __val)) { __first = __middle; ++__first; __len = __len - __half - 1; } else __len = __half; } return __first; } # 2437 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__val < *__middle) __len = __half; else { __first = __middle; ++__first; __len = __len - __half - 1; } } return __first; } # 2488 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(__val, *__middle)) __len = __half; else { __first = __middle; ++__first; __len = __len - __half - 1; } } return __first; } # 2543 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle, __left, __right; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (*__middle < __val) { __first = __middle; ++__first; __len = __len - __half - 1; } else if (__val < *__middle) __len = __half; else { __left = std::lower_bound(__first, __middle, __val); std::advance(__first, __len); __right = std::upper_bound(++__middle, __first, __val); return pair<_ForwardIterator, _ForwardIterator>(__left, __right); } } return pair<_ForwardIterator, _ForwardIterator>(__first, __first); } # 2605 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle, __left, __right; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(*__middle, __val)) { __first = __middle; ++__first; __len = __len - __half - 1; } else if (__comp(__val, *__middle)) __len = __half; else { __left = std::lower_bound(__first, __middle, __val, __comp); std::advance(__first, __len); __right = std::upper_bound(++__middle, __first, __val, __comp); return pair<_ForwardIterator, _ForwardIterator>(__left, __right); } } return pair<_ForwardIterator, _ForwardIterator>(__first, __first); } # 2666 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; ; _ForwardIterator __i = std::lower_bound(__first, __last, __val); return __i != __last && !(__val < *__i); } # 2699 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; ; _ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp); return __i != __last && !bool(__comp(__val, *__i)); } template _BidirectionalIterator3 __merge_backward(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result) { if (__first1 == __last1) return std::copy_backward(__first2, __last2, __result); if (__first2 == __last2) return std::copy_backward(__first1, __last1, __result); --__last1; --__last2; while (true) { if (*__last2 < *__last1) { *--__result = *__last1; if (__first1 == __last1) return std::copy_backward(__first2, ++__last2, __result); --__last1; } else { *--__result = *__last2; if (__first2 == __last2) return std::copy_backward(__first1, ++__last1, __result); --__last2; } } } template _BidirectionalIterator3 __merge_backward(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp) { if (__first1 == __last1) return std::copy_backward(__first2, __last2, __result); if (__first2 == __last2) return std::copy_backward(__first1, __last1, __result); --__last1; --__last2; while (true) { if (__comp(*__last2, *__last1)) { *--__result = *__last1; if (__first1 == __last1) return std::copy_backward(__first2, ++__last2, __result); --__last1; } else { *--__result = *__last2; if (__first2 == __last2) return std::copy_backward(__first1, ++__last1, __result); --__last2; } } } template _BidirectionalIterator1 __rotate_adaptive(_BidirectionalIterator1 __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1 __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2 __buffer, _Distance __buffer_size) { _BidirectionalIterator2 __buffer_end; if (__len1 > __len2 && __len2 <= __buffer_size) { __buffer_end = std::copy(__middle, __last, __buffer); std::copy_backward(__first, __middle, __last); return std::copy(__buffer, __buffer_end, __first); } else if (__len1 <= __buffer_size) { __buffer_end = std::copy(__first, __middle, __buffer); std::copy(__middle, __last, __first); return std::copy_backward(__buffer, __buffer_end, __last); } else { std::rotate(__first, __middle, __last); std::advance(__first, std::distance(__middle, __last)); return __first; } } template void __merge_adaptive(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size) { if (__len1 <= __len2 && __len1 <= __buffer_size) { _Pointer __buffer_end = std::copy(__first, __middle, __buffer); std::merge((__buffer), (__buffer_end), (__middle), (__last), __first); } else if (__len2 <= __buffer_size) { _Pointer __buffer_end = std::copy(__middle, __last, __buffer); std::__merge_backward((__first), (__middle), (__buffer), (__buffer_end), __last); } else { _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut); __len11 = std::distance(__first, __first_cut); } _BidirectionalIterator __new_middle = std::__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __buffer, __buffer_size); } } template void __merge_adaptive(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) { if (__len1 <= __len2 && __len1 <= __buffer_size) { _Pointer __buffer_end = std::copy(__first, __middle, __buffer); std::merge((__buffer), (__buffer_end), (__middle), (__last), __first, __comp); } else if (__len2 <= __buffer_size) { _Pointer __buffer_end = std::copy(__middle, __last, __buffer); std::__merge_backward((__first), (__middle), (__buffer), (__buffer_end), __last,__comp); } else { _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut, __comp); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut, __comp); __len11 = std::distance(__first, __first_cut); } _BidirectionalIterator __new_middle = std::__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, __len22, __buffer, __buffer_size, __comp); std::__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __buffer, __buffer_size, __comp); } } template void __merge_without_buffer(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2) { if (__len1 == 0 || __len2 == 0) return; if (__len1 + __len2 == 2) { if (*__middle < *__first) std::iter_swap(__first, __middle); return; } _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut); __len11 = std::distance(__first, __first_cut); } std::rotate(__first_cut, __middle, __second_cut); _BidirectionalIterator __new_middle = __first_cut; std::advance(__new_middle, std::distance(__middle, __second_cut)); std::__merge_without_buffer(__first, __first_cut, __new_middle, __len11, __len22); std::__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22); } template void __merge_without_buffer(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Compare __comp) { if (__len1 == 0 || __len2 == 0) return; if (__len1 + __len2 == 2) { if (__comp(*__middle, *__first)) std::iter_swap(__first, __middle); return; } _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut, __comp); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut, __comp); __len11 = std::distance(__first, __first_cut); } std::rotate(__first_cut, __middle, __second_cut); _BidirectionalIterator __new_middle = __first_cut; std::advance(__new_middle, std::distance(__middle, __second_cut)); std::__merge_without_buffer(__first, __first_cut, __new_middle, __len11, __len22, __comp); std::__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __comp); } # 3059 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last) { typedef typename iterator_traits<_BidirectionalIterator>::value_type _ValueType; typedef typename iterator_traits<_BidirectionalIterator>::difference_type _DistanceType; ; ; if (__first == __middle || __middle == __last) return; _DistanceType __len1 = std::distance(__first, __middle); _DistanceType __len2 = std::distance(__middle, __last); _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__merge_without_buffer(__first, __middle, __last, __len1, __len2); else std::__merge_adaptive(__first, __middle, __last, __len1, __len2, __buf.begin(), _DistanceType(__buf.size())); } # 3114 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) { typedef typename iterator_traits<_BidirectionalIterator>::value_type _ValueType; typedef typename iterator_traits<_BidirectionalIterator>::difference_type _DistanceType; ; ; if (__first == __middle || __middle == __last) return; const _DistanceType __len1 = std::distance(__first, __middle); const _DistanceType __len2 = std::distance(__middle, __last); _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__merge_without_buffer(__first, __middle, __last, __len1, __len2, __comp); else std::__merge_adaptive(__first, __middle, __last, __len1, __len2, __buf.begin(), _DistanceType(__buf.size()), __comp); } template void __merge_sort_loop(_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size) { const _Distance __two_step = 2 * __step_size; while (__last - __first >= __two_step) { __result = std::merge( (__first), (__first + __step_size), (__first + __step_size), (__first + __two_step), __result); __first += __two_step; } __step_size = std::min(_Distance(__last - __first), __step_size); std::merge((__first), (__first + __step_size) , (__first + __step_size) , (__last), __result); } template void __merge_sort_loop(_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size, _Compare __comp) { const _Distance __two_step = 2 * __step_size; while (__last - __first >= __two_step) { __result = std::merge( (__first), (__first + __step_size), (__first + __step_size), (__first + __two_step), __result, __comp); __first += __two_step; } __step_size = std::min(_Distance(__last - __first), __step_size); std::merge((__first), (__first + __step_size) , (__first + __step_size) , (__last), __result, __comp); } template void __chunk_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size) { while (__last - __first >= __chunk_size) { std::__insertion_sort(__first, __first + __chunk_size); __first += __chunk_size; } std::__insertion_sort(__first, __last); } template void __chunk_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size, _Compare __comp) { while (__last - __first >= __chunk_size) { std::__insertion_sort(__first, __first + __chunk_size, __comp); __first += __chunk_size; } std::__insertion_sort(__first, __last, __comp); } enum { _S_chunk_size = 7 }; template void __merge_sort_with_buffer(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; const _Distance __len = __last - __first; const _Pointer __buffer_last = __buffer + __len; _Distance __step_size = _S_chunk_size; std::__chunk_insertion_sort(__first, __last, __step_size); while (__step_size < __len) { std::__merge_sort_loop(__first, __last, __buffer, __step_size); __step_size *= 2; std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size); __step_size *= 2; } } template void __merge_sort_with_buffer(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; const _Distance __len = __last - __first; const _Pointer __buffer_last = __buffer + __len; _Distance __step_size = _S_chunk_size; std::__chunk_insertion_sort(__first, __last, __step_size, __comp); while (__step_size < __len) { std::__merge_sort_loop(__first, __last, __buffer, __step_size, __comp); __step_size *= 2; std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size, __comp); __step_size *= 2; } } template void __stable_sort_adaptive(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size) { const _Distance __len = (__last - __first + 1) / 2; const _RandomAccessIterator __middle = __first + __len; if (__len > __buffer_size) { std::__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size); std::__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size); } else { std::__merge_sort_with_buffer(__first, __middle, __buffer); std::__merge_sort_with_buffer(__middle, __last, __buffer); } std::__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), _Distance(__last - __middle), __buffer, __buffer_size); } template void __stable_sort_adaptive(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) { const _Distance __len = (__last - __first + 1) / 2; const _RandomAccessIterator __middle = __first + __len; if (__len > __buffer_size) { std::__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size, __comp); std::__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size, __comp); } else { std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); } std::__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), _Distance(__last - __middle), __buffer, __buffer_size, __comp); } template void __inplace_stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__last - __first < 15) { std::__insertion_sort(__first, __last); return; } _RandomAccessIterator __middle = __first + (__last - __first) / 2; std::__inplace_stable_sort(__first, __middle); std::__inplace_stable_sort(__middle, __last); std::__merge_without_buffer(__first, __middle, __last, __middle - __first, __last - __middle); } template void __inplace_stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__last - __first < 15) { std::__insertion_sort(__first, __last, __comp); return; } _RandomAccessIterator __middle = __first + (__last - __first) / 2; std::__inplace_stable_sort(__first, __middle, __comp); std::__inplace_stable_sort(__middle, __last, __comp); std::__merge_without_buffer(__first, __middle, __last, __middle - __first, __last - __middle, __comp); } # 3412 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first2 < *__first1) return false; else if(*__first1 < *__first2) ++__first1; else ++__first1, ++__first2; return __first2 == __last2; } # 3461 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first2, *__first1)) return false; else if(__comp(*__first1, *__first2)) ++__first1; else ++__first1, ++__first2; return __first2 == __last2; } # 3516 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (*__i < *__ii) { _BidirectionalIterator __j = __last; while (!(*__i < *--__j)) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 3573 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (__comp(*__i, *__ii)) { _BidirectionalIterator __j = __last; while (!bool(__comp(*__i, *--__j))) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 3629 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (*__ii < *__i) { _BidirectionalIterator __j = __last; while (!(*--__j < *__i)) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 3686 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (__comp(*__ii, *__i)) { _BidirectionalIterator __j = __last; while (!bool(__comp(*--__j, *__i))) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 3746 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator replace_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __old_value, const _Tp& __new_value) { ; for (; __first != __last; ++__first, ++__result) if (*__first == __old_value) *__result = __new_value; else *__result = *__first; return __result; } # 3783 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator replace_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp& __new_value) { ; for (; __first != __last; ++__first, ++__result) if (__pred(*__first)) *__result = __new_value; else *__result = *__first; return __result; } # 4161 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 } namespace std __attribute__ ((__visibility__ ("default"))) { # 4177 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _Function for_each(_InputIterator __first, _InputIterator __last, _Function __f) { ; for (; __first != __last; ++__first) __f(*__first); return (__f); } # 4198 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline _InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp& __val) { ; return std::__find(__first, __last, __val, std::__iterator_category(__first)); } # 4222 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline _InputIterator find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; return std::__find_if(__first, __last, __pred, std::__iterator_category(__first)); } # 4251 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _InputIterator find_first_of(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2) { ; ; for (; __first1 != __last1; ++__first1) for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) if (*__first1 == *__iter) return __first1; return __last1; } # 4290 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _InputIterator find_first_of(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, _BinaryPredicate __comp) { ; ; for (; __first1 != __last1; ++__first1) for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) if (__comp(*__first1, *__iter)) return __first1; return __last1; } # 4322 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __last; _ForwardIterator __next = __first; while(++__next != __last) { if (*__first == *__next) return __first; __first = __next; } return __last; } # 4354 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { ; if (__first == __last) return __last; _ForwardIterator __next = __first; while(++__next != __last) { if (__binary_pred(*__first, *__next)) return __first; __first = __next; } return __last; } # 4386 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template typename iterator_traits<_InputIterator>::difference_type count(_InputIterator __first, _InputIterator __last, const _Tp& __value) { ; typename iterator_traits<_InputIterator>::difference_type __n = 0; for (; __first != __last; ++__first) if (*__first == __value) ++__n; return __n; } # 4411 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template typename iterator_traits<_InputIterator>::difference_type count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; typename iterator_traits<_InputIterator>::difference_type __n = 0; for (; __first != __last; ++__first) if (__pred(*__first)) ++__n; return __n; } # 4451 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; if (__first1 == __last1 || __first2 == __last2) return __first1; _ForwardIterator2 __p1(__first2); if (++__p1 == __last2) return std::find(__first1, __last1, *__first2); _ForwardIterator2 __p; _ForwardIterator1 __current = __first1; for (;;) { __first1 = std::find(__first1, __last1, *__first2); if (__first1 == __last1) return __last1; __p = __p1; __current = __first1; if (++__current == __last1) return __last1; while (*__current == *__p) { if (++__p == __last2) return __first1; if (++__current == __last1) return __last1; } ++__first1; } return __first1; } # 4522 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __predicate) { ; ; if (__first1 == __last1 || __first2 == __last2) return __first1; _ForwardIterator2 __p1(__first2); if (++__p1 == __last2) { while (__first1 != __last1 && !bool(__predicate(*__first1, *__first2))) ++__first1; return __first1; } _ForwardIterator2 __p; _ForwardIterator1 __current = __first1; for (;;) { while (__first1 != __last1 && !bool(__predicate(*__first1, *__first2))) ++__first1; if (__first1 == __last1) return __last1; __p = __p1; __current = __first1; if (++__current == __last1) return __last1; while (__predicate(*__current, *__p)) { if (++__p == __last2) return __first1; if (++__current == __last1) return __last1; } ++__first1; } return __first1; } # 4596 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val) { ; if (__count <= 0) return __first; if (__count == 1) return std::find(__first, __last, __val); return std::__search_n(__first, __last, __count, __val, std::__iterator_category(__first)); } # 4632 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred) { ; if (__count <= 0) return __first; if (__count == 1) { while (__first != __last && !bool(__binary_pred(*__first, __val))) ++__first; return __first; } return std::__search_n(__first, __last, __count, __val, __binary_pred, std::__iterator_category(__first)); } # 4674 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op) { ; for (; __first != __last; ++__first, ++__result) *__result = __unary_op(*__first); return __result; } # 4710 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op) { ; for (; __first1 != __last1; ++__first1, ++__first2, ++__result) *__result = __binary_op(*__first1, *__first2); return __result; } # 4743 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template void replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new_value) { ; for (; __first != __last; ++__first) if (*__first == __old_value) *__first = __new_value; } # 4775 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template void replace_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp& __new_value) { ; for (; __first != __last; ++__first) if (__pred(*__first)) *__first = __new_value; } # 4807 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template void generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) { ; for (; __first != __last; ++__first) *__first = __gen(); } # 4838 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator generate_n(_OutputIterator __first, _Size __n, _Generator __gen) { for (; __n > 0; --__n, ++__first) *__first = __gen(); return __first; } # 4874 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { ; if (__first == __last) return __result; return std::__unique_copy(__first, __last, __result, std::__iterator_category(__first), std::__iterator_category(__result)); } # 4913 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred) { ; if (__first == __last) return __result; return std::__unique_copy(__first, __last, __result, __binary_pred, std::__iterator_category(__first), std::__iterator_category(__result)); } # 4945 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; if (__first != __last) for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1))); } # 4973 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template void random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator& __rand) { ; if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + __rand((__i - __first) + 1)); } # 5009 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline _ForwardIterator partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; return std::__partition(__first, __last, __pred, std::__iterator_category(__first)); } # 5043 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; std::__heap_select(__first, __middle, __last); std::sort_heap(__first, __middle); } # 5082 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; std::__heap_select(__first, __middle, __last, __comp); std::sort_heap(__first, __middle, __comp); } # 5120 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; if (__first == __last || __nth == __last) return; std::__introselect(__first, __nth, __last, std::__lg(__last - __first) * 2); } # 5159 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; if (__first == __last || __nth == __last) return; std::__introselect(__first, __nth, __last, std::__lg(__last - __first) * 2, __comp); } # 5197 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; if (__first != __last) { std::__introsort_loop(__first, __last, std::__lg(__last - __first) * 2); std::__final_insertion_sort(__first, __last); } } # 5233 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; if (__first != __last) { std::__introsort_loop(__first, __last, std::__lg(__last - __first) * 2, __comp); std::__final_insertion_sort(__first, __last, __comp); } } # 5274 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) { if (*__first2 < *__first1) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5337 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) { if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5397 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__inplace_stable_sort(__first, __last); else std::__stable_sort_adaptive(__first, __last, __buf.begin(), _DistanceType(__buf.size())); } # 5439 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template inline void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__inplace_stable_sort(__first, __last, __comp); else std::__stable_sort_adaptive(__first, __last, __buf.begin(), _DistanceType(__buf.size()), __comp); } # 5485 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) { if (*__first1 < *__first2) { *__result = *__first1; ++__first1; } else if (*__first2 < *__first1) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; ++__first2; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5552 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) { if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; } else if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; ++__first2; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5619 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) ++__first1; else if (*__first2 < *__first1) ++__first2; else { *__result = *__first1; ++__first1; ++__first2; ++__result; } return __result; } # 5676 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) ++__first1; else if (__comp(*__first2, *__first1)) ++__first2; else { *__result = *__first1; ++__first1; ++__first2; ++__result; } return __result; } # 5734 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) { *__result = *__first1; ++__first1; ++__result; } else if (*__first2 < *__first1) ++__first2; else { ++__first1; ++__first2; } return std::copy(__first1, __last1, __result); } # 5795 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(*__first2, *__first1)) ++__first2; else { ++__first1; ++__first2; } return std::copy(__first1, __last1, __result); } # 5853 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) { *__result = *__first1; ++__first1; ++__result; } else if (*__first2 < *__first1) { *__result = *__first2; ++__first2; ++__result; } else { ++__first1; ++__first2; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5919 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _OutputIterator set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; ++__result; } else { ++__first1; ++__first2; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5976 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (*__first < *__result) __result = __first; return __result; } # 6004 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (__comp(*__first, *__result)) __result = __first; return __result; } # 6032 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (*__result < *__first) __result = __first; return __result; } # 6060 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_algo.h" 3 template _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (__comp(*__result, *__first)) __result = __first; return __result; } } # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/algorithm" 2 3 # 14 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 2 # 1 "/usr/include/boost-1_42/boost/config/no_tr1/functional.hpp" 1 # 21 "/usr/include/boost-1_42/boost/config/no_tr1/functional.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/functional" 1 3 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/functional" 3 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/functional" 3 # 22 "/usr/include/boost-1_42/boost/config/no_tr1/functional.hpp" 2 # 15 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 2 # 1 "/usr/include/boost-1_42/boost/throw_exception.hpp" 1 # 23 "/usr/include/boost-1_42/boost/throw_exception.hpp" # 1 "/usr/include/boost-1_42/boost/exception/detail/attribute_noreturn.hpp" 1 # 24 "/usr/include/boost-1_42/boost/throw_exception.hpp" 2 # 37 "/usr/include/boost-1_42/boost/throw_exception.hpp" # 1 "/usr/include/boost-1_42/boost/exception/exception.hpp" 1 # 9 "/usr/include/boost-1_42/boost/exception/exception.hpp" # 10 "/usr/include/boost-1_42/boost/exception/exception.hpp" 3 namespace boost { namespace exception_detail { template class refcount_ptr { public: refcount_ptr(): px_(0) { } ~refcount_ptr() { release(); } refcount_ptr( refcount_ptr const & x ): px_(x.px_) { add_ref(); } refcount_ptr & operator=( refcount_ptr const & x ) { adopt(x.px_); return *this; } void adopt( T * px ) { release(); px_=px; add_ref(); } T * get() const { return px_; } private: T * px_; void add_ref() { if( px_ ) px_->add_ref(); } void release() { if( px_ ) px_->release(); } }; } template class error_info; typedef error_info throw_function; typedef error_info throw_file; typedef error_info throw_line; template <> class error_info { public: typedef char const * value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; template <> class error_info { public: typedef char const * value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; template <> class error_info { public: typedef int value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; template E const & operator<<( E const &, error_info const & ); template E const & operator<<( E const &, throw_function const & ); template E const & operator<<( E const &, throw_file const & ); template E const & operator<<( E const &, throw_line const & ); class exception; template class shared_ptr; namespace exception_detail { class error_info_base; struct type_info_; struct error_info_container { virtual char const * diagnostic_information( char const * ) const = 0; virtual shared_ptr get( type_info_ const & ) const = 0; virtual void set( shared_ptr const &, type_info_ const & ) = 0; virtual void add_ref() const = 0; virtual void release() const = 0; protected: ~error_info_container() throw() { } }; template struct get_info; template <> struct get_info; template <> struct get_info; template <> struct get_info; char const * get_diagnostic_information( exception const &, char const * ); } class exception { protected: exception(): throw_function_(0), throw_file_(0), throw_line_(-1) { } # 213 "/usr/include/boost-1_42/boost/exception/exception.hpp" 3 virtual ~exception() throw() = 0 ; private: template friend E const & operator<<( E const &, throw_function const & ); template friend E const & operator<<( E const &, throw_file const & ); template friend E const & operator<<( E const &, throw_line const & ); friend char const * exception_detail::get_diagnostic_information( exception const &, char const * ); template friend E const & operator<<( E const &, error_info const & ); template friend struct exception_detail::get_info; friend struct exception_detail::get_info; friend struct exception_detail::get_info; friend struct exception_detail::get_info; mutable exception_detail::refcount_ptr data_; mutable char const * throw_function_; mutable char const * throw_file_; mutable int throw_line_; }; inline exception:: ~exception() throw() { } template E const & operator<<( E const & x, throw_function const & y ) { x.throw_function_=y.v_; return x; } template E const & operator<<( E const & x, throw_file const & y ) { x.throw_file_=y.v_; return x; } template E const & operator<<( E const & x, throw_line const & y ) { x.throw_line_=y.v_; return x; } namespace exception_detail { template struct error_info_injector: public T, public exception { explicit error_info_injector( T const & x ): T(x) { } ~error_info_injector() throw() { } }; struct large_size { char c[256]; }; large_size dispatch( exception * ); struct small_size { }; small_size dispatch( void * ); template struct enable_error_info_helper; template struct enable_error_info_helper { typedef T type; }; template struct enable_error_info_helper { typedef error_info_injector type; }; template struct enable_error_info_return_type { typedef typename enable_error_info_helper::type type; }; } template inline typename exception_detail::enable_error_info_return_type::type enable_error_info( T const & x ) { typedef typename exception_detail::enable_error_info_return_type::type rt; return rt(x); } namespace exception_detail { class clone_base { public: virtual clone_base const * clone() const = 0; virtual void rethrow() const = 0; virtual ~clone_base() throw() { } }; inline void copy_boost_exception( exception * a, exception const * b ) { *a = *b; } inline void copy_boost_exception( void *, void const * ) { } template class clone_impl: public T, public clone_base { public: explicit clone_impl( T const & x ): T(x) { copy_boost_exception(this,&x); } ~clone_impl() throw() { } private: clone_base const * clone() const { return new clone_impl(*this); } void rethrow() const { throw*this; } }; } template inline exception_detail::clone_impl enable_current_exception( T const & x ) { return exception_detail::clone_impl(x); } } # 38 "/usr/include/boost-1_42/boost/throw_exception.hpp" 2 # 1 "/usr/include/boost-1_42/boost/current_function.hpp" 1 # 22 "/usr/include/boost-1_42/boost/current_function.hpp" namespace boost { namespace detail { inline void current_function_helper() { # 61 "/usr/include/boost-1_42/boost/current_function.hpp" } } } # 39 "/usr/include/boost-1_42/boost/throw_exception.hpp" 2 # 47 "/usr/include/boost-1_42/boost/throw_exception.hpp" namespace boost { inline void throw_exception_assert_compatibility( std::exception const & ) { } template __attribute__((noreturn)) inline void throw_exception( E const & e ) { throw_exception_assert_compatibility(e); throw enable_current_exception(enable_error_info(e)); } } # 16 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 2 # 1 "/usr/include/boost-1_42/boost/function/function_base.hpp" 1 # 14 "/usr/include/boost-1_42/boost/function/function_base.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/stdexcept" 1 3 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/stdexcept" 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/stdexcept" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/stdexcept" 3 class logic_error : public exception { string _M_msg; public: explicit logic_error(const string& __arg); virtual ~logic_error() throw(); virtual const char* what() const throw(); }; class domain_error : public logic_error { public: explicit domain_error(const string& __arg); }; class invalid_argument : public logic_error { public: explicit invalid_argument(const string& __arg); }; class length_error : public logic_error { public: explicit length_error(const string& __arg); }; class out_of_range : public logic_error { public: explicit out_of_range(const string& __arg); }; class runtime_error : public exception { string _M_msg; public: explicit runtime_error(const string& __arg); virtual ~runtime_error() throw(); virtual const char* what() const throw(); }; class range_error : public runtime_error { public: explicit range_error(const string& __arg); }; class overflow_error : public runtime_error { public: explicit overflow_error(const string& __arg); }; class underflow_error : public runtime_error { public: explicit underflow_error(const string& __arg); }; } # 15 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/memory" 1 3 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/memory" 3 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/memory" 3 # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/memory" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_raw_storage_iter.h" 1 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_raw_storage_iter.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class raw_storage_iterator : public iterator { protected: _OutputIterator _M_iter; public: explicit raw_storage_iterator(_OutputIterator __x) : _M_iter(__x) {} raw_storage_iterator& operator*() { return *this; } raw_storage_iterator& operator=(const _Tp& __element) { std::_Construct(&*_M_iter, __element); return *this; } raw_storage_iterator<_OutputIterator, _Tp>& operator++() { ++_M_iter; return *this; } raw_storage_iterator<_OutputIterator, _Tp> operator++(int) { raw_storage_iterator<_OutputIterator, _Tp> __tmp = *this; ++_M_iter; return __tmp; } }; } # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/memory" 2 3 # 103 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/memory" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 1 3 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 template struct auto_ptr_ref { _Tp1* _M_ptr; explicit auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } } ; # 84 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 template class auto_ptr { private: _Tp* _M_ptr; public: typedef _Tp element_type; explicit auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } # 110 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } # 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 template auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } # 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 auto_ptr& operator=(auto_ptr& __a) throw() { reset(__a.release()); return *this; } # 150 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 template auto_ptr& operator=(auto_ptr<_Tp1>& __a) throw() { reset(__a.release()); return *this; } # 168 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 ~auto_ptr() { delete _M_ptr; } # 178 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 element_type& operator*() const throw() { ; return *_M_ptr; } element_type* operator->() const throw() { ; return _M_ptr; } # 208 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 element_type* get() const throw() { return _M_ptr; } # 222 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 element_type* release() throw() { element_type* __tmp = _M_ptr; _M_ptr = 0; return __tmp; } # 237 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 void reset(element_type* __p = 0) throw() { if (__p != _M_ptr) { delete _M_ptr; _M_ptr = __p; } } # 258 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/backward/auto_ptr.h" 3 auto_ptr(auto_ptr_ref __ref) throw() : _M_ptr(__ref._M_ptr) { } auto_ptr& operator=(auto_ptr_ref __ref) throw() { if (__ref._M_ptr != this->get()) { delete _M_ptr; _M_ptr = __ref._M_ptr; } return *this; } template operator auto_ptr_ref<_Tp1>() throw() { return auto_ptr_ref<_Tp1>(this->release()); } template operator auto_ptr<_Tp1>() throw() { return auto_ptr<_Tp1>(this->release()); } } ; template<> class auto_ptr { public: typedef void element_type; } ; } # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/memory" 2 3 # 17 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/detail/sp_typeinfo.hpp" 1 # 103 "/usr/include/boost-1_42/boost/detail/sp_typeinfo.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/typeinfo" 1 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/typeinfo" 3 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/typeinfo" 3 #pragma GCC visibility push(default) extern "C++" { namespace __cxxabiv1 { class __class_type_info; } # 79 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/typeinfo" 3 namespace std { class type_info { public: virtual ~type_info(); const char* name() const { return __name[0] == '*' ? __name + 1 : __name; } # 114 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/typeinfo" 3 bool before(const type_info& __arg) const { return (__name[0] == '*' && __arg.__name[0] == '*') ? __name < __arg.__name : __builtin_strcmp (__name, __arg.__name) < 0; } bool operator==(const type_info& __arg) const { return ((__name == __arg.__name) || (__name[0] != '*' && __builtin_strcmp (__name, __arg.__name) == 0)); } # 135 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/typeinfo" 3 bool operator!=(const type_info& __arg) const { return !operator==(__arg); } virtual bool __is_pointer_p() const; virtual bool __is_function_p() const; virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, unsigned __outer) const; virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, void **__obj_ptr) const; protected: const char *__name; explicit type_info(const char *__n): __name(__n) { } private: type_info& operator=(const type_info&); type_info(const type_info&); }; class bad_cast : public exception { public: bad_cast() throw() { } virtual ~bad_cast() throw(); virtual const char* what() const throw(); }; class bad_typeid : public exception { public: bad_typeid () throw() { } virtual ~bad_typeid() throw(); virtual const char* what() const throw(); }; } #pragma GCC visibility pop } # 104 "/usr/include/boost-1_42/boost/detail/sp_typeinfo.hpp" 2 namespace boost { namespace detail { typedef std::type_info sp_typeinfo; } } # 20 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/assert.hpp" 1 # 36 "/usr/include/boost-1_42/boost/assert.hpp" # 1 "/usr/include/assert.h" 1 3 4 # 37 "/usr/include/boost-1_42/boost/assert.hpp" 2 # 21 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/integer.hpp" 1 # 18 "/usr/include/boost-1_42/boost/integer.hpp" # 1 "/usr/include/boost-1_42/boost/integer_fwd.hpp" 1 # 12 "/usr/include/boost-1_42/boost/integer_fwd.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 2 3 # 13 "/usr/include/boost-1_42/boost/integer_fwd.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 14 "/usr/include/boost-1_42/boost/integer_fwd.hpp" 2 # 1 "/usr/include/boost-1_42/boost/limits.hpp" 1 # 19 "/usr/include/boost-1_42/boost/limits.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/limits" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/limits" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/limits" 3 # 148 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/limits" 3 namespace std __attribute__ ((__visibility__ ("default"))) { enum float_round_style { round_indeterminate = -1, round_toward_zero = 0, round_to_nearest = 1, round_toward_infinity = 2, round_toward_neg_infinity = 3 }; enum float_denorm_style { denorm_indeterminate = -1, denorm_absent = 0, denorm_present = 1 }; # 190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/limits" 3 struct __numeric_limits_base { static const bool is_specialized = false; static const int digits = 0; static const int digits10 = 0; static const bool is_signed = false; static const bool is_integer = false; static const bool is_exact = false; static const int radix = 0; static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static const bool is_iec559 = false; static const bool is_bounded = false; static const bool is_modulo = false; static const bool traps = false; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; # 283 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/limits" 3 template struct numeric_limits : public __numeric_limits_base { static _Tp min() throw() { return static_cast<_Tp>(0); } static _Tp max() throw() { return static_cast<_Tp>(0); } static _Tp epsilon() throw() { return static_cast<_Tp>(0); } static _Tp round_error() throw() { return static_cast<_Tp>(0); } static _Tp infinity() throw() { return static_cast<_Tp>(0); } static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); } static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); } static _Tp denorm_min() throw() { return static_cast<_Tp>(0); } }; # 334 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/limits" 3 template<> struct numeric_limits { static const bool is_specialized = true; static bool min() throw() { return false; } static bool max() throw() { return true; } static const int digits = 1; static const int digits10 = 0; static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static bool epsilon() throw() { return false; } static bool round_error() throw() { return false; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static bool infinity() throw() { return false; } static bool quiet_NaN() throw() { return false; } static bool signaling_NaN() throw() { return false; } static bool denorm_min() throw() { return false; } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = false; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static char min() throw() { return (((char)(-1) < 0) ? (char)1 << (sizeof(char) * 8 - ((char)(-1) < 0)) : (char)0); } static char max() throw() { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); } static const int digits = (sizeof(char) * 8 - ((char)(-1) < 0)); static const int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643 / 2136); static const bool is_signed = ((char)(-1) < 0); static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static char epsilon() throw() { return 0; } static char round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static char infinity() throw() { return char(); } static char quiet_NaN() throw() { return char(); } static char signaling_NaN() throw() { return char(); } static char denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static signed char min() throw() { return -127 - 1; } static signed char max() throw() { return 127; } static const int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0)); static const int digits10 = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643 / 2136); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static signed char epsilon() throw() { return 0; } static signed char round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static signed char infinity() throw() { return static_cast(0); } static signed char quiet_NaN() throw() { return static_cast(0); } static signed char signaling_NaN() throw() { return static_cast(0); } static signed char denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static unsigned char min() throw() { return 0; } static unsigned char max() throw() { return 127 * 2U + 1; } static const int digits = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)); static const int digits10 = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643 / 2136); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static unsigned char epsilon() throw() { return 0; } static unsigned char round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static unsigned char infinity() throw() { return static_cast(0); } static unsigned char quiet_NaN() throw() { return static_cast(0); } static unsigned char signaling_NaN() throw() { return static_cast(0); } static unsigned char denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static wchar_t min() throw() { return (((wchar_t)(-1) < 0) ? (wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) : (wchar_t)0); } static wchar_t max() throw() { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); } static const int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)); static const int digits10 = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643 / 2136); static const bool is_signed = ((wchar_t)(-1) < 0); static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static wchar_t epsilon() throw() { return 0; } static wchar_t round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static wchar_t infinity() throw() { return wchar_t(); } static wchar_t quiet_NaN() throw() { return wchar_t(); } static wchar_t signaling_NaN() throw() { return wchar_t(); } static wchar_t denorm_min() throw() { return wchar_t(); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; # 744 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/limits" 3 template<> struct numeric_limits { static const bool is_specialized = true; static short min() throw() { return -32767 - 1; } static short max() throw() { return 32767; } static const int digits = (sizeof(short) * 8 - ((short)(-1) < 0)); static const int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643 / 2136); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static short epsilon() throw() { return 0; } static short round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static short infinity() throw() { return short(); } static short quiet_NaN() throw() { return short(); } static short signaling_NaN() throw() { return short(); } static short denorm_min() throw() { return short(); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static unsigned short min() throw() { return 0; } static unsigned short max() throw() { return 32767 * 2U + 1; } static const int digits = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)); static const int digits10 = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643 / 2136); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static unsigned short epsilon() throw() { return 0; } static unsigned short round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static unsigned short infinity() throw() { return static_cast(0); } static unsigned short quiet_NaN() throw() { return static_cast(0); } static unsigned short signaling_NaN() throw() { return static_cast(0); } static unsigned short denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static int min() throw() { return -2147483647 - 1; } static int max() throw() { return 2147483647; } static const int digits = (sizeof(int) * 8 - ((int)(-1) < 0)); static const int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643 / 2136); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static int epsilon() throw() { return 0; } static int round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static int infinity() throw() { return static_cast(0); } static int quiet_NaN() throw() { return static_cast(0); } static int signaling_NaN() throw() { return static_cast(0); } static int denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static unsigned int min() throw() { return 0; } static unsigned int max() throw() { return 2147483647 * 2U + 1; } static const int digits = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)); static const int digits10 = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643 / 2136); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static unsigned int epsilon() throw() { return 0; } static unsigned int round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static unsigned int infinity() throw() { return static_cast(0); } static unsigned int quiet_NaN() throw() { return static_cast(0); } static unsigned int signaling_NaN() throw() { return static_cast(0); } static unsigned int denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static long min() throw() { return -9223372036854775807L - 1; } static long max() throw() { return 9223372036854775807L; } static const int digits = (sizeof(long) * 8 - ((long)(-1) < 0)); static const int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643 / 2136); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static long epsilon() throw() { return 0; } static long round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static long infinity() throw() { return static_cast(0); } static long quiet_NaN() throw() { return static_cast(0); } static long signaling_NaN() throw() { return static_cast(0); } static long denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static unsigned long min() throw() { return 0; } static unsigned long max() throw() { return 9223372036854775807L * 2UL + 1; } static const int digits = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)); static const int digits10 = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643 / 2136); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static unsigned long epsilon() throw() { return 0; } static unsigned long round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static unsigned long infinity() throw() { return static_cast(0); } static unsigned long quiet_NaN() throw() { return static_cast(0); } static unsigned long signaling_NaN() throw() { return static_cast(0); } static unsigned long denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static long long min() throw() { return -9223372036854775807LL - 1; } static long long max() throw() { return 9223372036854775807LL; } static const int digits = (sizeof(long long) * 8 - ((long long)(-1) < 0)); static const int digits10 = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643 / 2136); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static long long epsilon() throw() { return 0; } static long long round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static long long infinity() throw() { return static_cast(0); } static long long quiet_NaN() throw() { return static_cast(0); } static long long signaling_NaN() throw() { return static_cast(0); } static long long denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static unsigned long long min() throw() { return 0; } static unsigned long long max() throw() { return 9223372036854775807LL * 2ULL + 1; } static const int digits = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)); static const int digits10 = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643 / 2136); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static unsigned long long epsilon() throw() { return 0; } static unsigned long long round_error() throw() { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; static unsigned long long infinity() throw() { return static_cast(0); } static unsigned long long quiet_NaN() throw() { return static_cast(0); } static unsigned long long signaling_NaN() throw() { return static_cast(0); } static unsigned long long denorm_min() throw() { return static_cast(0); } static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; static const bool traps = true; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static const bool is_specialized = true; static float min() throw() { return 1.17549435082228750797e-38F; } static float max() throw() { return 3.40282346638528859812e+38F; } static const int digits = 24; static const int digits10 = 6; static const bool is_signed = true; static const bool is_integer = false; static const bool is_exact = false; static const int radix = 2; static float epsilon() throw() { return 1.19209289550781250000e-7F; } static float round_error() throw() { return 0.5F; } static const int min_exponent = (-125); static const int min_exponent10 = (-37); static const int max_exponent = 128; static const int max_exponent10 = 38; static const bool has_infinity = 1; static const bool has_quiet_NaN = 1; static const bool has_signaling_NaN = has_quiet_NaN; static const float_denorm_style has_denorm = bool(1) ? denorm_present : denorm_absent; static const bool has_denorm_loss = false; static float infinity() throw() { return __builtin_huge_valf (); } static float quiet_NaN() throw() { return __builtin_nanf (""); } static float signaling_NaN() throw() { return __builtin_nansf (""); } static float denorm_min() throw() { return 1.40129846432481707092e-45F; } static const bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; static const bool is_bounded = true; static const bool is_modulo = false; static const bool traps = false; static const bool tinyness_before = false; static const float_round_style round_style = round_to_nearest; }; template<> struct numeric_limits { static const bool is_specialized = true; static double min() throw() { return ((double)2.22507385850720138309e-308L); } static double max() throw() { return ((double)1.79769313486231570815e+308L); } static const int digits = 53; static const int digits10 = 15; static const bool is_signed = true; static const bool is_integer = false; static const bool is_exact = false; static const int radix = 2; static double epsilon() throw() { return ((double)2.22044604925031308085e-16L); } static double round_error() throw() { return 0.5; } static const int min_exponent = (-1021); static const int min_exponent10 = (-307); static const int max_exponent = 1024; static const int max_exponent10 = 308; static const bool has_infinity = 1; static const bool has_quiet_NaN = 1; static const bool has_signaling_NaN = has_quiet_NaN; static const float_denorm_style has_denorm = bool(1) ? denorm_present : denorm_absent; static const bool has_denorm_loss = false; static double infinity() throw() { return __builtin_huge_val(); } static double quiet_NaN() throw() { return __builtin_nan (""); } static double signaling_NaN() throw() { return __builtin_nans (""); } static double denorm_min() throw() { return ((double)4.94065645841246544177e-324L); } static const bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; static const bool is_bounded = true; static const bool is_modulo = false; static const bool traps = false; static const bool tinyness_before = false; static const float_round_style round_style = round_to_nearest; }; template<> struct numeric_limits { static const bool is_specialized = true; static long double min() throw() { return 3.36210314311209350626e-4932L; } static long double max() throw() { return 1.18973149535723176502e+4932L; } static const int digits = 64; static const int digits10 = 18; static const bool is_signed = true; static const bool is_integer = false; static const bool is_exact = false; static const int radix = 2; static long double epsilon() throw() { return 1.08420217248550443401e-19L; } static long double round_error() throw() { return 0.5L; } static const int min_exponent = (-16381); static const int min_exponent10 = (-4931); static const int max_exponent = 16384; static const int max_exponent10 = 4932; static const bool has_infinity = 1; static const bool has_quiet_NaN = 1; static const bool has_signaling_NaN = has_quiet_NaN; static const float_denorm_style has_denorm = bool(1) ? denorm_present : denorm_absent; static const bool has_denorm_loss = false; static long double infinity() throw() { return __builtin_huge_vall (); } static long double quiet_NaN() throw() { return __builtin_nanl (""); } static long double signaling_NaN() throw() { return __builtin_nansl (""); } static long double denorm_min() throw() { return 3.64519953188247460253e-4951L; } static const bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; static const bool is_bounded = true; static const bool is_modulo = false; static const bool traps = false; static const bool tinyness_before = false; static const float_round_style round_style = round_to_nearest; }; } # 20 "/usr/include/boost-1_42/boost/limits.hpp" 2 # 17 "/usr/include/boost-1_42/boost/integer_fwd.hpp" 2 # 1 "/usr/include/boost-1_42/boost/cstdint.hpp" 1 # 100 "/usr/include/boost-1_42/boost/cstdint.hpp" namespace boost { using ::int8_t; using ::int_least8_t; using ::int_fast8_t; using ::uint8_t; using ::uint_least8_t; using ::uint_fast8_t; using ::int16_t; using ::int_least16_t; using ::int_fast16_t; using ::uint16_t; using ::uint_least16_t; using ::uint_fast16_t; using ::int32_t; using ::int_least32_t; using ::int_fast32_t; using ::uint32_t; using ::uint_least32_t; using ::uint_fast32_t; using ::int64_t; using ::int_least64_t; using ::int_fast64_t; using ::uint64_t; using ::uint_least64_t; using ::uint_fast64_t; using ::intmax_t; using ::uintmax_t; } # 370 "/usr/include/boost-1_42/boost/cstdint.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 371 "/usr/include/boost-1_42/boost/cstdint.hpp" 2 # 18 "/usr/include/boost-1_42/boost/integer_fwd.hpp" 2 namespace boost { typedef boost::uintmax_t static_min_max_unsigned_type; typedef boost::intmax_t static_min_max_signed_type; typedef boost::uintmax_t static_log2_argument_type; typedef int static_log2_result_type; # 42 "/usr/include/boost-1_42/boost/integer_fwd.hpp" template < class T > class integer_traits; template < > class integer_traits< bool >; template < > class integer_traits< char >; template < > class integer_traits< signed char >; template < > class integer_traits< unsigned char >; template < > class integer_traits< wchar_t >; template < > class integer_traits< short >; template < > class integer_traits< unsigned short >; template < > class integer_traits< int >; template < > class integer_traits< unsigned int >; template < > class integer_traits< long >; template < > class integer_traits< unsigned long >; template < > class integer_traits< ::boost::long_long_type>; template < > class integer_traits< ::boost::ulong_long_type >; template < typename LeastInt > struct int_fast_t; template< int Bits > struct int_t; template< int Bits > struct uint_t; template< boost::long_long_type MaxValue > struct int_max_value_t; template< boost::long_long_type MinValue > struct int_min_value_t; template< boost::ulong_long_type MaxValue > struct uint_value_t; template < std::size_t Bit > struct high_bit_mask_t; template < std::size_t Bits > struct low_bits_mask_t; template < > struct low_bits_mask_t< ::std::numeric_limits::digits >; template < > struct low_bits_mask_t< ::std::numeric_limits::digits >; template < > struct low_bits_mask_t< ::std::numeric_limits::digits >; template < > struct low_bits_mask_t< ::std::numeric_limits::digits >; template struct static_log2; template <> struct static_log2<0u>; template struct static_signed_min; template struct static_signed_max; template struct static_unsigned_min; template struct static_unsigned_max; } # 19 "/usr/include/boost-1_42/boost/integer.hpp" 2 # 1 "/usr/include/boost-1_42/boost/integer_traits.hpp" 1 # 23 "/usr/include/boost-1_42/boost/integer_traits.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 24 "/usr/include/boost-1_42/boost/integer_traits.hpp" 2 # 1 "/usr/include/wchar.h" 1 3 4 # 28 "/usr/include/boost-1_42/boost/integer_traits.hpp" 2 # 39 "/usr/include/boost-1_42/boost/integer_traits.hpp" # 40 "/usr/include/boost-1_42/boost/integer_traits.hpp" 3 namespace boost { template class integer_traits : public std::numeric_limits { public: static const bool is_integral = false; }; namespace detail { template class integer_traits_base { public: static const bool is_integral = true; static const T const_min = min_val; static const T const_max = max_val; }; template const bool integer_traits_base::is_integral; template const T integer_traits_base::const_min; template const T integer_traits_base::const_max; } template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base # 130 "/usr/include/boost-1_42/boost/integer_traits.hpp" 3 { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits< ::boost::long_long_type> : public std::numeric_limits< ::boost::long_long_type>, public detail::integer_traits_base< ::boost::long_long_type, (-9223372036854775807LL -1), 9223372036854775807LL> { }; template<> class integer_traits< ::boost::ulong_long_type> : public std::numeric_limits< ::boost::ulong_long_type>, public detail::integer_traits_base< ::boost::ulong_long_type, 0, (9223372036854775807LL * 2ULL + 1)> { }; # 256 "/usr/include/boost-1_42/boost/integer_traits.hpp" 3 } # 21 "/usr/include/boost-1_42/boost/integer.hpp" 2 # 1 "/usr/include/boost-1_42/boost/cstdint.hpp" 1 # 23 "/usr/include/boost-1_42/boost/integer.hpp" 2 # 33 "/usr/include/boost-1_42/boost/integer.hpp" # 34 "/usr/include/boost-1_42/boost/integer.hpp" 3 namespace boost { template< typename LeastInt > struct int_fast_t { typedef LeastInt fast; typedef fast type; }; namespace detail{ template< int Category > struct int_least_helper {}; template<> struct int_least_helper<1> { typedef boost::long_long_type least; }; template<> struct int_least_helper<2> { typedef long least; }; template<> struct int_least_helper<3> { typedef int least; }; template<> struct int_least_helper<4> { typedef short least; }; template<> struct int_least_helper<5> { typedef signed char least; }; template<> struct int_least_helper<6> { typedef boost::ulong_long_type least; }; template<> struct int_least_helper<7> { typedef unsigned long least; }; template<> struct int_least_helper<8> { typedef unsigned int least; }; template<> struct int_least_helper<9> { typedef unsigned short least; }; template<> struct int_least_helper<10> { typedef unsigned char least; }; template struct exact_signed_base_helper{}; template struct exact_unsigned_base_helper{}; template <> struct exact_signed_base_helper { typedef signed char exact; }; template <> struct exact_unsigned_base_helper { typedef unsigned char exact; }; template <> struct exact_signed_base_helper { typedef short exact; }; template <> struct exact_unsigned_base_helper { typedef unsigned short exact; }; template <> struct exact_signed_base_helper { typedef int exact; }; template <> struct exact_unsigned_base_helper { typedef unsigned int exact; }; template <> struct exact_signed_base_helper { typedef long exact; }; template <> struct exact_unsigned_base_helper { typedef unsigned long exact; }; # 102 "/usr/include/boost-1_42/boost/integer.hpp" 3 } template< int Bits > struct int_t : public detail::exact_signed_base_helper { typedef typename detail::int_least_helper < (Bits-1 <= (int)(sizeof(boost::long_long_type) * 8)) + (Bits-1 <= ::std::numeric_limits::digits) + (Bits-1 <= ::std::numeric_limits::digits) + (Bits-1 <= ::std::numeric_limits::digits) + (Bits-1 <= ::std::numeric_limits::digits) >::least least; typedef typename int_fast_t::type fast; }; template< int Bits > struct uint_t : public detail::exact_unsigned_base_helper { # 139 "/usr/include/boost-1_42/boost/integer.hpp" 3 typedef typename detail::int_least_helper < 5 + (Bits-1 <= (int)(sizeof(boost::long_long_type) * 8)) + (Bits <= ::std::numeric_limits::digits) + (Bits <= ::std::numeric_limits::digits) + (Bits <= ::std::numeric_limits::digits) + (Bits <= ::std::numeric_limits::digits) >::least least; typedef typename int_fast_t::type fast; }; template< boost::long_long_type MaxValue > struct int_max_value_t { typedef typename detail::int_least_helper < (MaxValue <= ::boost::integer_traits::const_max) + (MaxValue <= ::boost::integer_traits::const_max) + (MaxValue <= ::boost::integer_traits::const_max) + (MaxValue <= ::boost::integer_traits::const_max) + (MaxValue <= ::boost::integer_traits::const_max) >::least least; typedef typename int_fast_t::type fast; }; template< boost::long_long_type MinValue > struct int_min_value_t { typedef typename detail::int_least_helper < (MinValue >= ::boost::integer_traits::const_min) + (MinValue >= ::boost::integer_traits::const_min) + (MinValue >= ::boost::integer_traits::const_min) + (MinValue >= ::boost::integer_traits::const_min) + (MinValue >= ::boost::integer_traits::const_min) >::least least; typedef typename int_fast_t::type fast; }; template< boost::ulong_long_type MaxValue > struct uint_value_t { # 233 "/usr/include/boost-1_42/boost/integer.hpp" 3 typedef typename detail::int_least_helper < 5 + (MaxValue <= ::boost::integer_traits::const_max) + (MaxValue <= ::boost::integer_traits::const_max) + (MaxValue <= ::boost::integer_traits::const_max) + (MaxValue <= ::boost::integer_traits::const_max) + (MaxValue <= ::boost::integer_traits::const_max) >::least least; typedef typename int_fast_t::type fast; }; } # 22 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/has_trivial_copy.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/has_trivial_copy.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/intrinsics.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/has_trivial_copy.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_pod.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/is_pod.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_void.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/is_void.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/is_void.hpp" 2 namespace boost { template< typename T > struct is_void : ::boost::integral_constant { }; template<> struct is_void< void > : ::boost::integral_constant { }; template<> struct is_void< void const > : ::boost::integral_constant { }; template<> struct is_void< void volatile > : ::boost::integral_constant { }; template<> struct is_void< void const volatile > : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 37 "/usr/include/boost-1_42/boost/type_traits/is_void.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/is_pod.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_scalar.hpp" 1 # 12 "/usr/include/boost-1_42/boost/type_traits/is_scalar.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_arithmetic.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/is_arithmetic.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_integral.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/is_integral.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/is_integral.hpp" 2 namespace boost { template< typename T > struct is_integral : ::boost::integral_constant { }; template<> struct is_integral< unsigned char > : ::boost::integral_constant { }; template<> struct is_integral< unsigned char const > : ::boost::integral_constant { }; template<> struct is_integral< unsigned char volatile > : ::boost::integral_constant { }; template<> struct is_integral< unsigned char const volatile > : ::boost::integral_constant { }; template<> struct is_integral< unsigned short > : ::boost::integral_constant { }; template<> struct is_integral< unsigned short const > : ::boost::integral_constant { }; template<> struct is_integral< unsigned short volatile > : ::boost::integral_constant { }; template<> struct is_integral< unsigned short const volatile > : ::boost::integral_constant { }; template<> struct is_integral< unsigned int > : ::boost::integral_constant { }; template<> struct is_integral< unsigned int const > : ::boost::integral_constant { }; template<> struct is_integral< unsigned int volatile > : ::boost::integral_constant { }; template<> struct is_integral< unsigned int const volatile > : ::boost::integral_constant { }; template<> struct is_integral< unsigned long > : ::boost::integral_constant { }; template<> struct is_integral< unsigned long const > : ::boost::integral_constant { }; template<> struct is_integral< unsigned long volatile > : ::boost::integral_constant { }; template<> struct is_integral< unsigned long const volatile > : ::boost::integral_constant { }; template<> struct is_integral< signed char > : ::boost::integral_constant { }; template<> struct is_integral< signed char const > : ::boost::integral_constant { }; template<> struct is_integral< signed char volatile > : ::boost::integral_constant { }; template<> struct is_integral< signed char const volatile > : ::boost::integral_constant { }; template<> struct is_integral< signed short > : ::boost::integral_constant { }; template<> struct is_integral< signed short const > : ::boost::integral_constant { }; template<> struct is_integral< signed short volatile > : ::boost::integral_constant { }; template<> struct is_integral< signed short const volatile > : ::boost::integral_constant { }; template<> struct is_integral< signed int > : ::boost::integral_constant { }; template<> struct is_integral< signed int const > : ::boost::integral_constant { }; template<> struct is_integral< signed int volatile > : ::boost::integral_constant { }; template<> struct is_integral< signed int const volatile > : ::boost::integral_constant { }; template<> struct is_integral< signed long > : ::boost::integral_constant { }; template<> struct is_integral< signed long const > : ::boost::integral_constant { }; template<> struct is_integral< signed long volatile > : ::boost::integral_constant { }; template<> struct is_integral< signed long const volatile > : ::boost::integral_constant { }; template<> struct is_integral< bool > : ::boost::integral_constant { }; template<> struct is_integral< bool const > : ::boost::integral_constant { }; template<> struct is_integral< bool volatile > : ::boost::integral_constant { }; template<> struct is_integral< bool const volatile > : ::boost::integral_constant { }; template<> struct is_integral< char > : ::boost::integral_constant { }; template<> struct is_integral< char const > : ::boost::integral_constant { }; template<> struct is_integral< char volatile > : ::boost::integral_constant { }; template<> struct is_integral< char const volatile > : ::boost::integral_constant { }; template<> struct is_integral< wchar_t > : ::boost::integral_constant { }; template<> struct is_integral< wchar_t const > : ::boost::integral_constant { }; template<> struct is_integral< wchar_t volatile > : ::boost::integral_constant { }; template<> struct is_integral< wchar_t const volatile > : ::boost::integral_constant { }; # 65 "/usr/include/boost-1_42/boost/type_traits/is_integral.hpp" template<> struct is_integral< ::boost::ulong_long_type > : ::boost::integral_constant { }; template<> struct is_integral< ::boost::ulong_long_type const > : ::boost::integral_constant { }; template<> struct is_integral< ::boost::ulong_long_type volatile > : ::boost::integral_constant { }; template<> struct is_integral< ::boost::ulong_long_type const volatile > : ::boost::integral_constant { }; template<> struct is_integral< ::boost::long_long_type > : ::boost::integral_constant { }; template<> struct is_integral< ::boost::long_long_type const > : ::boost::integral_constant { }; template<> struct is_integral< ::boost::long_long_type volatile > : ::boost::integral_constant { }; template<> struct is_integral< ::boost::long_long_type const volatile > : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 77 "/usr/include/boost-1_42/boost/type_traits/is_integral.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/is_arithmetic.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_float.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/is_float.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/is_float.hpp" 2 namespace boost { template< typename T > struct is_float : ::boost::integral_constant { }; template<> struct is_float< float > : ::boost::integral_constant { }; template<> struct is_float< float const > : ::boost::integral_constant { }; template<> struct is_float< float volatile > : ::boost::integral_constant { }; template<> struct is_float< float const volatile > : ::boost::integral_constant { }; template<> struct is_float< double > : ::boost::integral_constant { }; template<> struct is_float< double const > : ::boost::integral_constant { }; template<> struct is_float< double volatile > : ::boost::integral_constant { }; template<> struct is_float< double const volatile > : ::boost::integral_constant { }; template<> struct is_float< long double > : ::boost::integral_constant { }; template<> struct is_float< long double const > : ::boost::integral_constant { }; template<> struct is_float< long double volatile > : ::boost::integral_constant { }; template<> struct is_float< long double const volatile > : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 26 "/usr/include/boost-1_42/boost/type_traits/is_float.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/is_arithmetic.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/ice_or.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/detail/ice_or.hpp" namespace boost { namespace type_traits { template struct ice_or; template struct ice_or { static const bool value = true; }; template <> struct ice_or { static const bool value = false; }; } } # 16 "/usr/include/boost-1_42/boost/type_traits/is_arithmetic.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 21 "/usr/include/boost-1_42/boost/type_traits/is_arithmetic.hpp" 2 namespace boost { namespace detail { template< typename T > struct is_arithmetic_impl { static const bool value = (::boost::type_traits::ice_or< ::boost::is_integral::value, ::boost::is_float::value >::value) ; }; } template< typename T > struct is_arithmetic : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 50 "/usr/include/boost-1_42/boost/type_traits/is_arithmetic.hpp" 2 # 13 "/usr/include/boost-1_42/boost/type_traits/is_scalar.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_enum.hpp" 1 # 32 "/usr/include/boost-1_42/boost/type_traits/is_enum.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 33 "/usr/include/boost-1_42/boost/type_traits/is_enum.hpp" 2 namespace boost { # 181 "/usr/include/boost-1_42/boost/type_traits/is_enum.hpp" template< typename T > struct is_enum : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 188 "/usr/include/boost-1_42/boost/type_traits/is_enum.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/is_scalar.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" 1 # 24 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_member_pointer.hpp" 1 # 28 "/usr/include/boost-1_42/boost/type_traits/is_member_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_member_function_pointer.hpp" 1 # 24 "/usr/include/boost-1_42/boost/type_traits/is_member_function_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" 1 # 25 "/usr/include/boost-1_42/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" namespace boost { namespace type_traits { template struct is_mem_fun_pointer_impl { static const bool value = false; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; template struct is_mem_fun_pointer_impl { static const bool value = true; }; # 776 "/usr/include/boost-1_42/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" } } # 25 "/usr/include/boost-1_42/boost/type_traits/is_member_function_pointer.hpp" 2 # 36 "/usr/include/boost-1_42/boost/type_traits/is_member_function_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 37 "/usr/include/boost-1_42/boost/type_traits/is_member_function_pointer.hpp" 2 namespace boost { template< typename T > struct is_member_function_pointer : ::boost::integral_constant::type>::value> { }; # 132 "/usr/include/boost-1_42/boost/type_traits/is_member_function_pointer.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 135 "/usr/include/boost-1_42/boost/type_traits/is_member_function_pointer.hpp" 2 # 29 "/usr/include/boost-1_42/boost/type_traits/is_member_pointer.hpp" 2 # 39 "/usr/include/boost-1_42/boost/type_traits/is_member_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 40 "/usr/include/boost-1_42/boost/type_traits/is_member_pointer.hpp" 2 namespace boost { # 50 "/usr/include/boost-1_42/boost/type_traits/is_member_pointer.hpp" template< typename T > struct is_member_pointer : ::boost::integral_constant::value> { }; template< typename T, typename U > struct is_member_pointer< U T::* > : ::boost::integral_constant { }; template< typename T, typename U > struct is_member_pointer< U T::*const > : ::boost::integral_constant { }; template< typename T, typename U > struct is_member_pointer< U T::*volatile > : ::boost::integral_constant { }; template< typename T, typename U > struct is_member_pointer< U T::*const volatile > : ::boost::integral_constant { }; # 112 "/usr/include/boost-1_42/boost/type_traits/is_member_pointer.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 115 "/usr/include/boost-1_42/boost/type_traits/is_member_pointer.hpp" 2 # 25 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/ice_and.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/ice_and.hpp" namespace boost { namespace type_traits { template struct ice_and; template struct ice_and { static const bool value = false; }; template <> struct ice_and { static const bool value = true; }; } } # 26 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/ice_not.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/detail/ice_not.hpp" namespace boost { namespace type_traits { template struct ice_not { static const bool value = true; }; template <> struct ice_not { static const bool value = false; }; } } # 27 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" 2 # 41 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 42 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" 2 namespace boost { namespace detail { template< typename T > struct is_pointer_helper { static const bool value = false; }; # 63 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" template< typename T > struct is_pointer_helper { static const bool value = true; }; template< typename T > struct is_pointer_impl { # 80 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" static const bool value = (::boost::type_traits::ice_and< ::boost::detail::is_pointer_helper::type>::value , ::boost::type_traits::ice_not< ::boost::is_member_pointer::value >::value >::value) ; }; } template< typename T > struct is_pointer : ::boost::integral_constant::value> { }; # 158 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 161 "/usr/include/boost-1_42/boost/type_traits/is_pointer.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/is_scalar.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 21 "/usr/include/boost-1_42/boost/type_traits/is_scalar.hpp" 2 namespace boost { namespace detail { template struct is_scalar_impl { static const bool value = (::boost::type_traits::ice_or< ::boost::is_arithmetic::value, ::boost::is_enum::value, ::boost::is_pointer::value, ::boost::is_member_pointer::value >::value) ; }; template <> struct is_scalar_impl{ static const bool value = false; }; template <> struct is_scalar_impl{ static const bool value = false; }; template <> struct is_scalar_impl{ static const bool value = false; }; template <> struct is_scalar_impl{ static const bool value = false; }; } template< typename T > struct is_scalar : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 54 "/usr/include/boost-1_42/boost/type_traits/is_scalar.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/is_pod.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 19 "/usr/include/boost-1_42/boost/type_traits/is_pod.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/is_pod.hpp" 2 namespace boost { template< typename T > struct is_POD; namespace detail { template struct is_pod_impl { static const bool value = (::boost::type_traits::ice_or< ::boost::is_scalar::value, ::boost::is_void::value, __is_pod(T) >::value) ; }; template struct is_pod_impl : is_pod_impl { }; # 118 "/usr/include/boost-1_42/boost/type_traits/is_pod.hpp" template<> struct is_pod_impl< void > { static const bool value = (true); }; template<> struct is_pod_impl< void const > { static const bool value = (true); }; template<> struct is_pod_impl< void volatile > { static const bool value = (true); }; template<> struct is_pod_impl< void const volatile > { static const bool value = (true); }; } template< typename T > struct is_POD : ::boost::integral_constant::value> { }; template< typename T > struct is_pod : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 134 "/usr/include/boost-1_42/boost/type_traits/is_pod.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/has_trivial_copy.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/has_trivial_copy.hpp" 2 namespace boost { namespace detail { template struct has_trivial_copy_impl { static const bool value = (::boost::type_traits::ice_and< ::boost::type_traits::ice_or< ::boost::is_pod::value, (__has_trivial_copy(T) && !is_reference::value) >::value, ::boost::type_traits::ice_not< ::boost::is_volatile::value >::value >::value) ; }; } template< typename T > struct has_trivial_copy : ::boost::integral_constant::value> { }; template< typename T > struct has_trivial_copy_constructor : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 48 "/usr/include/boost-1_42/boost/type_traits/has_trivial_copy.hpp" 2 # 23 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/has_trivial_destructor.hpp" 1 # 18 "/usr/include/boost-1_42/boost/type_traits/has_trivial_destructor.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 19 "/usr/include/boost-1_42/boost/type_traits/has_trivial_destructor.hpp" 2 namespace boost { namespace detail { template struct has_trivial_dtor_impl { static const bool value = (::boost::type_traits::ice_or< ::boost::is_pod::value, __has_trivial_destructor(T) >::value) ; }; } template< typename T > struct has_trivial_destructor : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 41 "/usr/include/boost-1_42/boost/type_traits/has_trivial_destructor.hpp" 2 # 24 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/composite_traits.hpp" 1 # 16 "/usr/include/boost-1_42/boost/type_traits/composite_traits.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_array.hpp" 1 # 24 "/usr/include/boost-1_42/boost/type_traits/is_array.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 25 "/usr/include/boost-1_42/boost/type_traits/is_array.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 28 "/usr/include/boost-1_42/boost/type_traits/is_array.hpp" 2 namespace boost { template< typename T > struct is_array : ::boost::integral_constant { }; template< typename T, std::size_t N > struct is_array< T[N] > : ::boost::integral_constant { }; template< typename T, std::size_t N > struct is_array< T const[N] > : ::boost::integral_constant { }; template< typename T, std::size_t N > struct is_array< T volatile[N] > : ::boost::integral_constant { }; template< typename T, std::size_t N > struct is_array< T const volatile[N] > : ::boost::integral_constant { }; template< typename T > struct is_array< T[] > : ::boost::integral_constant { }; template< typename T > struct is_array< T const[] > : ::boost::integral_constant { }; template< typename T > struct is_array< T volatile[] > : ::boost::integral_constant { }; template< typename T > struct is_array< T const volatile[] > : ::boost::integral_constant { }; # 87 "/usr/include/boost-1_42/boost/type_traits/is_array.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 90 "/usr/include/boost-1_42/boost/type_traits/is_array.hpp" 2 # 17 "/usr/include/boost-1_42/boost/type_traits/composite_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_union.hpp" 1 # 19 "/usr/include/boost-1_42/boost/type_traits/is_union.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 20 "/usr/include/boost-1_42/boost/type_traits/is_union.hpp" 2 namespace boost { namespace detail { # 36 "/usr/include/boost-1_42/boost/type_traits/is_union.hpp" template struct is_union_impl { static const bool value = __is_union(T); }; } template< typename T > struct is_union : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 48 "/usr/include/boost-1_42/boost/type_traits/is_union.hpp" 2 # 23 "/usr/include/boost-1_42/boost/type_traits/composite_traits.hpp" 2 # 28 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/ice.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/ice.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/yes_no_type.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/yes_no_type.hpp" namespace boost { namespace type_traits { typedef char yes_type; struct no_type { char padding[8]; }; } } # 15 "/usr/include/boost-1_42/boost/type_traits/ice.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/ice_eq.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/detail/ice_eq.hpp" namespace boost { namespace type_traits { template struct ice_eq { static const bool value = (b1 == b2); }; template struct ice_ne { static const bool value = (b1 != b2); }; template bool const ice_eq::value; template bool const ice_ne::value; } } # 19 "/usr/include/boost-1_42/boost/type_traits/ice.hpp" 2 # 29 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/ref.hpp" 1 # 11 "/usr/include/boost-1_42/boost/ref.hpp" # 1 "/usr/include/boost-1_42/boost/utility/addressof.hpp" 1 # 18 "/usr/include/boost-1_42/boost/utility/addressof.hpp" namespace boost { namespace detail { template struct addr_impl_ref { T & v_; inline addr_impl_ref( T & v ): v_( v ) {} inline operator T& () const { return v_; } private: addr_impl_ref & operator=(const addr_impl_ref &); }; template struct addressof_impl { static inline T * f( T & v, long ) { return reinterpret_cast( &const_cast(reinterpret_cast(v))); } static inline T * f( T * v, int ) { return v; } }; } template T * addressof( T & v ) { return boost::detail::addressof_impl::f( boost::detail::addr_impl_ref( v ), 0 ); } # 100 "/usr/include/boost-1_42/boost/utility/addressof.hpp" } # 12 "/usr/include/boost-1_42/boost/ref.hpp" 2 # 29 "/usr/include/boost-1_42/boost/ref.hpp" namespace boost { template class reference_wrapper { public: typedef T type; explicit reference_wrapper(T& t): t_(boost::addressof(t)) {} operator T& () const { return *t_; } T& get() const { return *t_; } T* get_pointer() const { return t_; } private: T* t_; }; template inline reference_wrapper const ref(T & t) { return reference_wrapper(t); } template inline reference_wrapper const cref(T const & t) { return reference_wrapper(t); } template class is_reference_wrapper : public mpl::false_ { }; template class unwrap_reference { public: typedef T type; }; # 106 "/usr/include/boost-1_42/boost/ref.hpp" template class is_reference_wrapper< reference_wrapper > : public mpl::true_ { }; template class unwrap_reference< reference_wrapper > { public: typedef T type; }; template class is_reference_wrapper< reference_wrapper const > : public mpl::true_ { }; template class unwrap_reference< reference_wrapper const > { public: typedef T type; }; template class is_reference_wrapper< reference_wrapper volatile > : public mpl::true_ { }; template class unwrap_reference< reference_wrapper volatile > { public: typedef T type; }; template class is_reference_wrapper< reference_wrapper const volatile > : public mpl::true_ { }; template class unwrap_reference< reference_wrapper const volatile > { public: typedef T type; }; # 176 "/usr/include/boost-1_42/boost/ref.hpp" template inline typename unwrap_reference::type& unwrap_ref(T& t) { return t; } template inline T* get_pointer( reference_wrapper const & r ) { return r.get_pointer(); } } # 30 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/if.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/if.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/value_wknd.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/value_wknd.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/integral.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/value_wknd.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/eti.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/value_wknd.hpp" 2 # 73 "/usr/include/boost-1_42/boost/mpl/aux_/value_wknd.hpp" namespace boost { namespace mpl { namespace aux { template< typename T > struct value_type_wknd { typedef typename T::value_type type; }; # 87 "/usr/include/boost-1_42/boost/mpl/aux_/value_wknd.hpp" }}} # 18 "/usr/include/boost-1_42/boost/mpl/if.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/na_spec.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/na_spec.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/lambda_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/lambda_fwd.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/void_fwd.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/void_fwd.hpp" namespace mpl_ { struct void_; } namespace boost { namespace mpl { using ::mpl_::void_; } } # 18 "/usr/include/boost-1_42/boost/mpl/lambda_fwd.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/na.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/na.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/na_fwd.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/na_fwd.hpp" namespace mpl_ { struct na { typedef na type; enum { value = 0 }; }; } namespace boost { namespace mpl { using ::mpl_::na; } } # 19 "/usr/include/boost-1_42/boost/mpl/aux_/na.hpp" 2 namespace boost { namespace mpl { template< typename T > struct is_na : false_ { }; template<> struct is_na : true_ { }; template< typename T > struct is_not_na : true_ { }; template<> struct is_not_na : false_ { }; template< typename T, typename U > struct if_na { typedef T type; }; template< typename U > struct if_na { typedef U type; }; # 93 "/usr/include/boost-1_42/boost/mpl/aux_/na.hpp" }} # 19 "/usr/include/boost-1_42/boost/mpl/lambda_fwd.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/lambda_arity_param.hpp" 1 # 25 "/usr/include/boost-1_42/boost/mpl/lambda_fwd.hpp" 2 namespace boost { namespace mpl { template< typename T = na , typename Tag = void_ , typename Arity = int_< aux::template_arity::value > > struct lambda; }} # 19 "/usr/include/boost-1_42/boost/mpl/aux_/na_spec.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/arity.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/arity.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/dtp.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/arity.hpp" 2 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/na_spec.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/enum.hpp" 1 # 28 "/usr/include/boost-1_42/boost/mpl/aux_/na_spec.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/limits/arity.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/logical/and.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/logical/and.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/logical/bitand.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/logical/and.hpp" 2 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/identity.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/identity.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/facilities/identity.hpp" 1 # 16 "/usr/include/boost-1_42/boost/preprocessor/identity.hpp" 2 # 24 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/empty.hpp" 1 # 25 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 66 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/add.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/add.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/dec.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/add.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/control/while.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/control/while.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/usr/include/boost-1_42/boost/preprocessor/control/while.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/list/fold_left.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/list/fold_left.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/control/while.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/list/fold_left.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/usr/include/boost-1_42/boost/preprocessor/list/fold_left.hpp" 2 # 41 "/usr/include/boost-1_42/boost/preprocessor/list/fold_left.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/list/detail/fold_left.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/list/detail/fold_left.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/control/expr_iif.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/list/detail/fold_left.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/list/adt.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/list/adt.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/is_binary.hpp" 1 # 16 "/usr/include/boost-1_42/boost/preprocessor/detail/is_binary.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/check.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/detail/is_binary.hpp" 2 # 19 "/usr/include/boost-1_42/boost/preprocessor/list/adt.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/logical/compl.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/list/adt.hpp" 2 # 20 "/usr/include/boost-1_42/boost/preprocessor/list/detail/fold_left.hpp" 2 # 42 "/usr/include/boost-1_42/boost/preprocessor/list/fold_left.hpp" 2 # 22 "/usr/include/boost-1_42/boost/preprocessor/control/while.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/list/fold_right.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/list/fold_right.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/usr/include/boost-1_42/boost/preprocessor/list/fold_right.hpp" 2 # 37 "/usr/include/boost-1_42/boost/preprocessor/list/fold_right.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/list/detail/fold_right.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/list/detail/fold_right.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/list/reverse.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/list/detail/fold_right.hpp" 2 # 38 "/usr/include/boost-1_42/boost/preprocessor/list/fold_right.hpp" 2 # 23 "/usr/include/boost-1_42/boost/preprocessor/control/while.hpp" 2 # 48 "/usr/include/boost-1_42/boost/preprocessor/control/while.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/control/detail/while.hpp" 1 # 49 "/usr/include/boost-1_42/boost/preprocessor/control/while.hpp" 2 # 21 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/add.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/tuple/elem.hpp" 1 # 22 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/add.hpp" 2 # 67 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/sub.hpp" 1 # 68 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 29 "/usr/include/boost-1_42/boost/mpl/aux_/na_spec.hpp" 2 # 20 "/usr/include/boost-1_42/boost/mpl/if.hpp" 2 namespace boost { namespace mpl { template< bool C , typename T1 , typename T2 > struct if_c { typedef T1 type; }; template< typename T1 , typename T2 > struct if_c { typedef T2 type; }; template< typename T1 = na , typename T2 = na , typename T3 = na > struct if_ { private: typedef if_c< static_cast(T1::value) , T2 , T3 > almost_type_; public: typedef typename almost_type_::type type; }; # 131 "/usr/include/boost-1_42/boost/mpl/if.hpp" template<> struct if_< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : if_< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< if_< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef if_< na , na , na > result_; typedef if_< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< if_< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< if_< na , na , na > > : int_<-1> { }; } }} # 31 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 14 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/size_t.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/size_t.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/size_t_fwd.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/size_t_fwd.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 20 "/usr/include/boost-1_42/boost/mpl/size_t_fwd.hpp" 2 namespace mpl_ { template< std::size_t N > struct size_t; } namespace boost { namespace mpl { using ::mpl_::size_t; } } # 18 "/usr/include/boost-1_42/boost/mpl/size_t.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" 1 # 40 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" namespace mpl_ { template< std::size_t N > struct size_t { static const std::size_t value = N; typedef size_t type; typedef std::size_t value_type; typedef integral_c_tag tag; # 72 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" typedef mpl_::size_t< static_cast((value + 1)) > next; typedef mpl_::size_t< static_cast((value - 1)) > prior; operator std::size_t() const { return static_cast(this->value); } }; template< std::size_t N > std::size_t const mpl_::size_t< N >::value; } # 24 "/usr/include/boost-1_42/boost/mpl/size_t.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 20 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" 2 # 27 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" namespace boost { template struct alignment_of; namespace detail { template struct alignment_of_hack { char c; T t; alignment_of_hack(); }; template struct alignment_logic { static const std::size_t value = A < S ? A : S; }; template< typename T > struct alignment_of_impl { # 83 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" static const std::size_t value = __alignof__(T); }; } template< typename T > struct alignment_of : ::boost::integral_constant::value> { }; template struct alignment_of : alignment_of { }; # 109 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" template<> struct alignment_of : ::boost::integral_constant { }; template<> struct alignment_of : ::boost::integral_constant { }; template<> struct alignment_of : ::boost::integral_constant { }; template<> struct alignment_of : ::boost::integral_constant { }; } # 125 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_undef.hpp" 1 # 126 "/usr/include/boost-1_42/boost/type_traits/alignment_of.hpp" 2 # 33 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/utility/enable_if.hpp" 1 # 24 "/usr/include/boost-1_42/boost/utility/enable_if.hpp" namespace boost { template struct enable_if_c { typedef T type; }; template struct enable_if_c {}; template struct enable_if : public enable_if_c {}; template struct lazy_enable_if_c { typedef typename T::type type; }; template struct lazy_enable_if_c {}; template struct lazy_enable_if : public lazy_enable_if_c {}; template struct disable_if_c { typedef T type; }; template struct disable_if_c {}; template struct disable_if : public disable_if_c {}; template struct lazy_disable_if_c { typedef typename T::type type; }; template struct lazy_disable_if_c {}; template struct lazy_disable_if : public lazy_disable_if_c {}; } # 35 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/function_equal.hpp" 1 # 13 "/usr/include/boost-1_42/boost/function_equal.hpp" namespace boost { template bool function_equal_impl(const F& f, const G& g, long) { return f == g; } template bool function_equal(const F& f, const G& g) { return function_equal_impl(f, g, 0); } } # 39 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 1 "/usr/include/boost-1_42/boost/function/function_fwd.hpp" 1 # 28 "/usr/include/boost-1_42/boost/function/function_fwd.hpp" namespace boost { class bad_function_call; template class function; template inline void swap(function& f1, function& f2) { f1.swap(f2); } template class function0; template class function1; template class function2; template class function3; template class function4; template class function5; template class function6; template class function7; template class function8; template class function9; template class function10; } # 40 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 62 "/usr/include/boost-1_42/boost/function/function_base.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 2 3 # 74 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::memchr; using ::memcmp; using ::memcpy; using ::memmove; using ::memset; using ::strcat; using ::strcmp; using ::strcoll; using ::strcpy; using ::strcspn; using ::strerror; using ::strlen; using ::strncat; using ::strncmp; using ::strncpy; using ::strspn; using ::strtok; using ::strxfrm; using ::strchr; using ::strpbrk; using ::strrchr; using ::strstr; # 121 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 3 } # 63 "/usr/include/boost-1_42/boost/function/function_base.hpp" 2 # 89 "/usr/include/boost-1_42/boost/function/function_base.hpp" namespace boost { namespace detail { namespace function { class X; union function_buffer { mutable void* obj_ptr; struct type_t { const detail::sp_typeinfo* type; bool const_qualified; bool volatile_qualified; } type; mutable void (*func_ptr)(); struct bound_memfunc_ptr_t { void (X::*memfunc_ptr)(int); void* obj_ptr; } bound_memfunc_ptr; struct obj_ref_t { mutable void* obj_ptr; bool is_const_qualified; bool is_volatile_qualified; } obj_ref; mutable char data; }; struct unusable { unusable() {} template unusable(const T&) {} }; template struct function_return_type { typedef T type; }; template<> struct function_return_type { typedef unusable type; }; enum functor_manager_operation_type { clone_functor_tag, move_functor_tag, destroy_functor_tag, check_functor_type_tag, get_functor_type_tag }; struct function_ptr_tag {}; struct function_obj_tag {}; struct member_ptr_tag {}; struct function_obj_ref_tag {}; template class get_function_tag { typedef typename mpl::if_c<(is_pointer::value), function_ptr_tag, function_obj_tag>::type ptr_or_obj_tag; typedef typename mpl::if_c<(is_member_pointer::value), member_ptr_tag, ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag; typedef typename mpl::if_c<(is_reference_wrapper::value), function_obj_ref_tag, ptr_or_obj_or_mem_tag>::type or_ref_tag; public: typedef or_ref_tag type; }; template struct reference_manager { static inline void manage(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op) { switch (op) { case clone_functor_tag: out_buffer.obj_ref.obj_ptr = in_buffer.obj_ref.obj_ptr; return; case move_functor_tag: out_buffer.obj_ref.obj_ptr = in_buffer.obj_ref.obj_ptr; in_buffer.obj_ref.obj_ptr = 0; return; case destroy_functor_tag: out_buffer.obj_ref.obj_ptr = 0; return; case check_functor_type_tag: { const detail::sp_typeinfo& check_type = *out_buffer.type.type; if ((std::strcmp((check_type).name(),(typeid(F)).name()) == 0) && (!in_buffer.obj_ref.is_const_qualified || out_buffer.type.const_qualified) && (!in_buffer.obj_ref.is_volatile_qualified || out_buffer.type.volatile_qualified)) out_buffer.obj_ptr = in_buffer.obj_ref.obj_ptr; else out_buffer.obj_ptr = 0; } return; case get_functor_type_tag: out_buffer.type.type = &typeid(F); out_buffer.type.const_qualified = in_buffer.obj_ref.is_const_qualified; out_buffer.type.volatile_qualified = in_buffer.obj_ref.is_volatile_qualified; return; } } }; template struct function_allows_small_object_optimization { static const bool value = ((sizeof(F) <= sizeof(function_buffer) && (alignment_of::value % alignment_of::value == 0))) ; }; template struct functor_wrapper: public F, public A { functor_wrapper( F f, A a ): F(f), A(a) { } functor_wrapper(const functor_wrapper& f) : F(static_cast(f)), A(static_cast(f)) { } }; template struct functor_manager_common { typedef Functor functor_type; static inline void manage_ptr(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op) { if (op == clone_functor_tag) out_buffer.func_ptr = in_buffer.func_ptr; else if (op == move_functor_tag) { out_buffer.func_ptr = in_buffer.func_ptr; in_buffer.func_ptr = 0; } else if (op == destroy_functor_tag) out_buffer.func_ptr = 0; else if (op == check_functor_type_tag) { const detail::sp_typeinfo& check_type = *out_buffer.type.type; if ((std::strcmp((check_type).name(),(typeid(Functor)).name()) == 0)) out_buffer.obj_ptr = &in_buffer.func_ptr; else out_buffer.obj_ptr = 0; } else { out_buffer.type.type = &typeid(Functor); out_buffer.type.const_qualified = false; out_buffer.type.volatile_qualified = false; } } static inline void manage_small(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op) { if (op == clone_functor_tag || op == move_functor_tag) { const functor_type* in_functor = reinterpret_cast(&in_buffer.data); new ((void*)&out_buffer.data) functor_type(*in_functor); if (op == move_functor_tag) { reinterpret_cast(&in_buffer.data)->~Functor(); } } else if (op == destroy_functor_tag) { reinterpret_cast(&out_buffer.data)->~Functor(); } else if (op == check_functor_type_tag) { const detail::sp_typeinfo& check_type = *out_buffer.type.type; if ((std::strcmp((check_type).name(),(typeid(Functor)).name()) == 0)) out_buffer.obj_ptr = &in_buffer.data; else out_buffer.obj_ptr = 0; } else { out_buffer.type.type = &typeid(Functor); out_buffer.type.const_qualified = false; out_buffer.type.volatile_qualified = false; } } }; template struct functor_manager { private: typedef Functor functor_type; static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, function_ptr_tag) { functor_manager_common::manage_ptr(in_buffer,out_buffer,op); } static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, mpl::true_) { functor_manager_common::manage_small(in_buffer,out_buffer,op); } static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, mpl::false_) { if (op == clone_functor_tag) { const functor_type* f = (const functor_type*)(in_buffer.obj_ptr); functor_type* new_f = new functor_type(*f); out_buffer.obj_ptr = new_f; } else if (op == move_functor_tag) { out_buffer.obj_ptr = in_buffer.obj_ptr; in_buffer.obj_ptr = 0; } else if (op == destroy_functor_tag) { functor_type* f = static_cast(out_buffer.obj_ptr); delete f; out_buffer.obj_ptr = 0; } else if (op == check_functor_type_tag) { const detail::sp_typeinfo& check_type = *out_buffer.type.type; if ((std::strcmp((check_type).name(),(typeid(Functor)).name()) == 0)) out_buffer.obj_ptr = in_buffer.obj_ptr; else out_buffer.obj_ptr = 0; } else { out_buffer.type.type = &typeid(Functor); out_buffer.type.const_qualified = false; out_buffer.type.volatile_qualified = false; } } static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, function_obj_tag) { manager(in_buffer, out_buffer, op, mpl::bool_<(function_allows_small_object_optimization::value)>()); } static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, member_ptr_tag) { manager(in_buffer, out_buffer, op, mpl::true_()); } public: static inline void manage(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op) { typedef typename get_function_tag::type tag_type; switch (op) { case get_functor_type_tag: out_buffer.type.type = &typeid(functor_type); out_buffer.type.const_qualified = false; out_buffer.type.volatile_qualified = false; return; default: manager(in_buffer, out_buffer, op, tag_type()); return; } } }; template struct functor_manager_a { private: typedef Functor functor_type; static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, function_ptr_tag) { functor_manager_common::manage_ptr(in_buffer,out_buffer,op); } static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, mpl::true_) { functor_manager_common::manage_small(in_buffer,out_buffer,op); } static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, mpl::false_) { typedef functor_wrapper functor_wrapper_type; typedef typename Allocator::template rebind::other wrapper_allocator_type; typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type; if (op == clone_functor_tag) { const functor_wrapper_type* f = (const functor_wrapper_type*)(in_buffer.obj_ptr); wrapper_allocator_type wrapper_allocator(static_cast(*f)); wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1); wrapper_allocator.construct(copy, *f); functor_wrapper_type* new_f = static_cast(copy); out_buffer.obj_ptr = new_f; } else if (op == move_functor_tag) { out_buffer.obj_ptr = in_buffer.obj_ptr; in_buffer.obj_ptr = 0; } else if (op == destroy_functor_tag) { functor_wrapper_type* victim = static_cast(in_buffer.obj_ptr); wrapper_allocator_type wrapper_allocator(static_cast(*victim)); wrapper_allocator.destroy(victim); wrapper_allocator.deallocate(victim,1); out_buffer.obj_ptr = 0; } else if (op == check_functor_type_tag) { const detail::sp_typeinfo& check_type = *out_buffer.type.type; if ((std::strcmp((check_type).name(),(typeid(Functor)).name()) == 0)) out_buffer.obj_ptr = in_buffer.obj_ptr; else out_buffer.obj_ptr = 0; } else { out_buffer.type.type = &typeid(Functor); out_buffer.type.const_qualified = false; out_buffer.type.volatile_qualified = false; } } static inline void manager(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op, function_obj_tag) { manager(in_buffer, out_buffer, op, mpl::bool_<(function_allows_small_object_optimization::value)>()); } public: static inline void manage(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op) { typedef typename get_function_tag::type tag_type; switch (op) { case get_functor_type_tag: out_buffer.type.type = &typeid(functor_type); out_buffer.type.const_qualified = false; out_buffer.type.volatile_qualified = false; return; default: manager(in_buffer, out_buffer, op, tag_type()); return; } } }; struct useless_clear_type {}; # 609 "/usr/include/boost-1_42/boost/function/function_base.hpp" struct vtable_base { void (*manager)(const function_buffer& in_buffer, function_buffer& out_buffer, functor_manager_operation_type op); }; } } class function_base { public: function_base() : vtable(0) { } bool empty() const { return !vtable; } const detail::sp_typeinfo& target_type() const { if (!vtable) return typeid(void); detail::function::function_buffer type; get_vtable()->manager(functor, type, detail::function::get_functor_type_tag); return *type.type.type; } template Functor* target() { if (!vtable) return 0; detail::function::function_buffer type_result; type_result.type.type = &typeid(Functor); type_result.type.const_qualified = is_const::value; type_result.type.volatile_qualified = is_volatile::value; get_vtable()->manager(functor, type_result, detail::function::check_functor_type_tag); return static_cast(type_result.obj_ptr); } template const Functor* target() const { if (!vtable) return 0; detail::function::function_buffer type_result; type_result.type.type = &typeid(Functor); type_result.type.const_qualified = true; type_result.type.volatile_qualified = is_volatile::value; get_vtable()->manager(functor, type_result, detail::function::check_functor_type_tag); return (const Functor*)(type_result.obj_ptr); } template bool contains(const F& f) const { if (const F* fp = this->template target()) { return function_equal(*fp, f); } else { return false; } } # 715 "/usr/include/boost-1_42/boost/function/function_base.hpp" public: detail::function::vtable_base* get_vtable() const { return reinterpret_cast( reinterpret_cast(vtable) & ~(std::size_t)0x01); } bool has_trivial_copy_and_destroy() const { return reinterpret_cast(vtable) & 0x01; } detail::function::vtable_base* vtable; mutable detail::function::function_buffer functor; }; class bad_function_call : public std::runtime_error { public: bad_function_call() : std::runtime_error("call to empty boost::function") {} }; inline bool operator==(const function_base& f, detail::function::useless_clear_type*) { return f.empty(); } inline bool operator!=(const function_base& f, detail::function::useless_clear_type*) { return !f.empty(); } inline bool operator==(detail::function::useless_clear_type*, const function_base& f) { return f.empty(); } inline bool operator!=(detail::function::useless_clear_type*, const function_base& f) { return !f.empty(); } # 800 "/usr/include/boost-1_42/boost/function/function_base.hpp" template typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral::value)>::value), bool>::type operator==(const function_base& f, Functor g) { if (const Functor* fp = f.template target()) return function_equal(*fp, g); else return false; } template typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral::value)>::value), bool>::type operator==(Functor g, const function_base& f) { if (const Functor* fp = f.template target()) return function_equal(g, *fp); else return false; } template typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral::value)>::value), bool>::type operator!=(const function_base& f, Functor g) { if (const Functor* fp = f.template target()) return !function_equal(*fp, g); else return true; } template typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral::value)>::value), bool>::type operator!=(Functor g, const function_base& f) { if (const Functor* fp = f.template target()) return !function_equal(g, *fp); else return true; } template typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral::value)>::value), bool>::type operator==(const function_base& f, reference_wrapper g) { if (const Functor* fp = f.template target()) return fp == g.get_pointer(); else return false; } template typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral::value)>::value), bool>::type operator==(reference_wrapper g, const function_base& f) { if (const Functor* fp = f.template target()) return g.get_pointer() == fp; else return false; } template typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral::value)>::value), bool>::type operator!=(const function_base& f, reference_wrapper g) { if (const Functor* fp = f.template target()) return fp != g.get_pointer(); else return true; } template typename ::boost::enable_if_c<(::boost::type_traits::ice_not< (::boost::is_integral::value)>::value), bool>::type operator!=(reference_wrapper g, const function_base& f) { if (const Functor* fp = f.template target()) return g.get_pointer() != fp; else return true; } namespace detail { namespace function { inline bool has_empty_target(const function_base* f) { return f->empty(); } inline bool has_empty_target(...) { return false; } } } } # 18 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mem_fn.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mem_fn.hpp" # 1 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" 1 # 25 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" # 1 "/usr/include/boost-1_42/boost/get_pointer.hpp" 1 # 12 "/usr/include/boost-1_42/boost/get_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/config/no_tr1/memory.hpp" 1 # 13 "/usr/include/boost-1_42/boost/get_pointer.hpp" 2 namespace boost { template T * get_pointer(T * p) { return p; } template T * get_pointer(std::auto_ptr const& p) { return p.get(); } } # 26 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" 2 namespace boost { # 207 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" namespace _mfi { # 1 "/usr/include/boost-1_42/boost/bind/mem_fn_template.hpp" 1 # 21 "/usr/include/boost-1_42/boost/bind/mem_fn_template.hpp" template class mf0 { public: typedef R result_type; typedef T * argument_type; private: typedef R ( T::*F) (); F f_; template R call(U & u, T const *) const { return (u.*f_)(); } template R call(U & u, void const *) const { return (get_pointer(u)->*f_)(); } public: explicit mf0(F f): f_(f) {} R operator()(T * p) const { return (p->*f_)(); } template R operator()(U & u) const { U const * p = 0; return call(u, p); } template R operator()(U const & u) const { U const * p = 0; return call(u, p); } R operator()(T & t) const { return (t.*f_)(); } bool operator==(mf0 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf0 const & rhs) const { return f_ != rhs.f_; } }; template class cmf0 { public: typedef R result_type; typedef T const * argument_type; private: typedef R ( T::*F) () const; F f_; template R call(U & u, T const *) const { return (u.*f_)(); } template R call(U & u, void const *) const { return (get_pointer(u)->*f_)(); } public: explicit cmf0(F f): f_(f) {} template R operator()(U const & u) const { U const * p = 0; return call(u, p); } R operator()(T const & t) const { return (t.*f_)(); } bool operator==(cmf0 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf0 const & rhs) const { return f_ != rhs.f_; } }; template class mf1 { public: typedef R result_type; typedef T * first_argument_type; typedef A1 second_argument_type; private: typedef R ( T::*F) (A1); F f_; template R call(U & u, T const *, B1 & b1) const { return (u.*f_)(b1); } template R call(U & u, void const *, B1 & b1) const { return (get_pointer(u)->*f_)(b1); } public: explicit mf1(F f): f_(f) {} R operator()(T * p, A1 a1) const { return (p->*f_)(a1); } template R operator()(U & u, A1 a1) const { U const * p = 0; return call(u, p, a1); } template R operator()(U const & u, A1 a1) const { U const * p = 0; return call(u, p, a1); } R operator()(T & t, A1 a1) const { return (t.*f_)(a1); } bool operator==(mf1 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf1 const & rhs) const { return f_ != rhs.f_; } }; template class cmf1 { public: typedef R result_type; typedef T const * first_argument_type; typedef A1 second_argument_type; private: typedef R ( T::*F) (A1) const; F f_; template R call(U & u, T const *, B1 & b1) const { return (u.*f_)(b1); } template R call(U & u, void const *, B1 & b1) const { return (get_pointer(u)->*f_)(b1); } public: explicit cmf1(F f): f_(f) {} template R operator()(U const & u, A1 a1) const { U const * p = 0; return call(u, p, a1); } R operator()(T const & t, A1 a1) const { return (t.*f_)(a1); } bool operator==(cmf1 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf1 const & rhs) const { return f_ != rhs.f_; } }; template class mf2 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2); F f_; template R call(U & u, T const *, B1 & b1, B2 & b2) const { return (u.*f_)(b1, b2); } template R call(U & u, void const *, B1 & b1, B2 & b2) const { return (get_pointer(u)->*f_)(b1, b2); } public: explicit mf2(F f): f_(f) {} R operator()(T * p, A1 a1, A2 a2) const { return (p->*f_)(a1, a2); } template R operator()(U & u, A1 a1, A2 a2) const { U const * p = 0; return call(u, p, a1, a2); } template R operator()(U const & u, A1 a1, A2 a2) const { U const * p = 0; return call(u, p, a1, a2); } R operator()(T & t, A1 a1, A2 a2) const { return (t.*f_)(a1, a2); } bool operator==(mf2 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf2 const & rhs) const { return f_ != rhs.f_; } }; template class cmf2 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2) const; F f_; template R call(U & u, T const *, B1 & b1, B2 & b2) const { return (u.*f_)(b1, b2); } template R call(U & u, void const *, B1 & b1, B2 & b2) const { return (get_pointer(u)->*f_)(b1, b2); } public: explicit cmf2(F f): f_(f) {} template R operator()(U const & u, A1 a1, A2 a2) const { U const * p = 0; return call(u, p, a1, a2); } R operator()(T const & t, A1 a1, A2 a2) const { return (t.*f_)(a1, a2); } bool operator==(cmf2 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf2 const & rhs) const { return f_ != rhs.f_; } }; template class mf3 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3); F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const { return (u.*f_)(b1, b2, b3); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const { return (get_pointer(u)->*f_)(b1, b2, b3); } public: explicit mf3(F f): f_(f) {} R operator()(T * p, A1 a1, A2 a2, A3 a3) const { return (p->*f_)(a1, a2, a3); } template R operator()(U & u, A1 a1, A2 a2, A3 a3) const { U const * p = 0; return call(u, p, a1, a2, a3); } template R operator()(U const & u, A1 a1, A2 a2, A3 a3) const { U const * p = 0; return call(u, p, a1, a2, a3); } R operator()(T & t, A1 a1, A2 a2, A3 a3) const { return (t.*f_)(a1, a2, a3); } bool operator==(mf3 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf3 const & rhs) const { return f_ != rhs.f_; } }; template class cmf3 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3) const; F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const { return (u.*f_)(b1, b2, b3); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const { return (get_pointer(u)->*f_)(b1, b2, b3); } public: explicit cmf3(F f): f_(f) {} template R operator()(U const & u, A1 a1, A2 a2, A3 a3) const { U const * p = 0; return call(u, p, a1, a2, a3); } R operator()(T const & t, A1 a1, A2 a2, A3 a3) const { return (t.*f_)(a1, a2, a3); } bool operator==(cmf3 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf3 const & rhs) const { return f_ != rhs.f_; } }; template class mf4 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4); F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const { return (u.*f_)(b1, b2, b3, b4); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4); } public: explicit mf4(F f): f_(f) {} R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4) const { return (p->*f_)(a1, a2, a3, a4); } template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const { U const * p = 0; return call(u, p, a1, a2, a3, a4); } template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const { U const * p = 0; return call(u, p, a1, a2, a3, a4); } R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4) const { return (t.*f_)(a1, a2, a3, a4); } bool operator==(mf4 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf4 const & rhs) const { return f_ != rhs.f_; } }; template class cmf4 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4) const; F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const { return (u.*f_)(b1, b2, b3, b4); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4); } public: explicit cmf4(F f): f_(f) {} template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const { U const * p = 0; return call(u, p, a1, a2, a3, a4); } R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const { return (t.*f_)(a1, a2, a3, a4); } bool operator==(cmf4 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf4 const & rhs) const { return f_ != rhs.f_; } }; template class mf5 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4, A5); F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const { return (u.*f_)(b1, b2, b3, b4, b5); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5); } public: explicit mf5(F f): f_(f) {} R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const { return (p->*f_)(a1, a2, a3, a4, a5); } template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5); } template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5); } R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const { return (t.*f_)(a1, a2, a3, a4, a5); } bool operator==(mf5 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf5 const & rhs) const { return f_ != rhs.f_; } }; template class cmf5 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4, A5) const; F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const { return (u.*f_)(b1, b2, b3, b4, b5); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5); } public: explicit cmf5(F f): f_(f) {} template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5); } R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const { return (t.*f_)(a1, a2, a3, a4, a5); } bool operator==(cmf5 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf5 const & rhs) const { return f_ != rhs.f_; } }; template class mf6 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4, A5, A6); F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const { return (u.*f_)(b1, b2, b3, b4, b5, b6); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6); } public: explicit mf6(F f): f_(f) {} R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const { return (p->*f_)(a1, a2, a3, a4, a5, a6); } template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6); } template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6); } R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const { return (t.*f_)(a1, a2, a3, a4, a5, a6); } bool operator==(mf6 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf6 const & rhs) const { return f_ != rhs.f_; } }; template class cmf6 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4, A5, A6) const; F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const { return (u.*f_)(b1, b2, b3, b4, b5, b6); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6); } public: explicit cmf6(F f): f_(f) {} template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6); } R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const { return (t.*f_)(a1, a2, a3, a4, a5, a6); } bool operator==(cmf6 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf6 const & rhs) const { return f_ != rhs.f_; } }; template class mf7 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4, A5, A6, A7); F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const { return (u.*f_)(b1, b2, b3, b4, b5, b6, b7); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7); } public: explicit mf7(F f): f_(f) {} R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const { return (p->*f_)(a1, a2, a3, a4, a5, a6, a7); } template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6, a7); } template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6, a7); } R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const { return (t.*f_)(a1, a2, a3, a4, a5, a6, a7); } bool operator==(mf7 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf7 const & rhs) const { return f_ != rhs.f_; } }; template class cmf7 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4, A5, A6, A7) const; F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const { return (u.*f_)(b1, b2, b3, b4, b5, b6, b7); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7); } public: explicit cmf7(F f): f_(f) {} template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6, a7); } R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const { return (t.*f_)(a1, a2, a3, a4, a5, a6, a7); } bool operator==(cmf7 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf7 const & rhs) const { return f_ != rhs.f_; } }; template class mf8 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4, A5, A6, A7, A8); F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const { return (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8); } public: explicit mf8(F f): f_(f) {} R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const { return (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8); } template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); } template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); } R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const { return (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8); } bool operator==(mf8 const & rhs) const { return f_ == rhs.f_; } bool operator!=(mf8 const & rhs) const { return f_ != rhs.f_; } }; template class cmf8 { public: typedef R result_type; private: typedef R ( T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const; F f_; template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const { return (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8); } template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const { return (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8); } public: explicit cmf8(F f): f_(f) {} R operator()(T const * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const { return (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8); } template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const { U const * p = 0; return call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); } R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const { return (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8); } bool operator==(cmf8 const & rhs) const { return f_ == rhs.f_; } bool operator!=(cmf8 const & rhs) const { return f_ != rhs.f_; } }; # 216 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" 2 # 258 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" } # 268 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" # 1 "/usr/include/boost-1_42/boost/bind/mem_fn_cc.hpp" 1 # 15 "/usr/include/boost-1_42/boost/bind/mem_fn_cc.hpp" template _mfi::mf0 mem_fn(R ( T::*f) ()) { return _mfi::mf0(f); } template _mfi::cmf0 mem_fn(R ( T::*f) () const) { return _mfi::cmf0(f); } template _mfi::mf1 mem_fn(R ( T::*f) (A1)) { return _mfi::mf1(f); } template _mfi::cmf1 mem_fn(R ( T::*f) (A1) const) { return _mfi::cmf1(f); } template _mfi::mf2 mem_fn(R ( T::*f) (A1, A2)) { return _mfi::mf2(f); } template _mfi::cmf2 mem_fn(R ( T::*f) (A1, A2) const) { return _mfi::cmf2(f); } template _mfi::mf3 mem_fn(R ( T::*f) (A1, A2, A3)) { return _mfi::mf3(f); } template _mfi::cmf3 mem_fn(R ( T::*f) (A1, A2, A3) const) { return _mfi::cmf3(f); } template _mfi::mf4 mem_fn(R ( T::*f) (A1, A2, A3, A4)) { return _mfi::mf4(f); } template _mfi::cmf4 mem_fn(R ( T::*f) (A1, A2, A3, A4) const) { return _mfi::cmf4(f); } template _mfi::mf5 mem_fn(R ( T::*f) (A1, A2, A3, A4, A5)) { return _mfi::mf5(f); } template _mfi::cmf5 mem_fn(R ( T::*f) (A1, A2, A3, A4, A5) const) { return _mfi::cmf5(f); } template _mfi::mf6 mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6)) { return _mfi::mf6(f); } template _mfi::cmf6 mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6) const) { return _mfi::cmf6(f); } template _mfi::mf7 mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6, A7)) { return _mfi::mf7(f); } template _mfi::cmf7 mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6, A7) const) { return _mfi::cmf7(f); } template _mfi::mf8 mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6, A7, A8)) { return _mfi::mf8(f); } template _mfi::cmf8 mem_fn(R ( T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const) { return _mfi::cmf8(f); } # 269 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" 2 # 311 "/usr/include/boost-1_42/boost/bind/mem_fn.hpp" namespace _mfi { template class dm { public: typedef R const & result_type; typedef T const * argument_type; private: typedef R (T::*F); F f_; template R const & call(U & u, T const *) const { return (u.*f_); } template R const & call(U & u, void const *) const { return (get_pointer(u)->*f_); } public: explicit dm(F f): f_(f) {} R & operator()(T * p) const { return (p->*f_); } R const & operator()(T const * p) const { return (p->*f_); } template R const & operator()(U const & u) const { return call(u, &u); } R & operator()(T & t) const { return (t.*f_); } R const & operator()(T const & t) const { return (t.*f_); } bool operator==(dm const & rhs) const { return f_ == rhs.f_; } bool operator!=(dm const & rhs) const { return f_ != rhs.f_; } }; } template _mfi::dm mem_fn(R T::*f) { return _mfi::dm(f); } } # 23 "/usr/include/boost-1_42/boost/mem_fn.hpp" 2 # 19 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/enum.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/enum.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/tuple/rem.hpp" 1 # 25 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum.hpp" 2 # 16 "/usr/include/boost-1_42/boost/preprocessor/enum.hpp" 2 # 21 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/enum_params.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/enum_params.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_params.hpp" 1 # 16 "/usr/include/boost-1_42/boost/preprocessor/enum_params.hpp" 2 # 22 "/usr/include/boost-1_42/boost/function/detail/prologue.hpp" 2 # 14 "/usr/include/boost-1_42/boost/function/function_template.hpp" 2 # 1 "/usr/include/boost-1_42/boost/detail/no_exceptions_support.hpp" 1 # 15 "/usr/include/boost-1_42/boost/function/function_template.hpp" 2 # 81 "/usr/include/boost-1_42/boost/function/function_template.hpp" namespace boost { namespace detail { namespace function { template< typename FunctionPtr, typename R > struct function_invoker0 { static R invoke(function_buffer& function_ptr ) { FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); return f(); } }; template< typename FunctionPtr, typename R > struct void_function_invoker0 { static void invoke(function_buffer& function_ptr ) { FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); f(); } }; template< typename FunctionObj, typename R > struct function_obj_invoker0 { static R invoke(function_buffer& function_obj_ptr ) { FunctionObj* f; if (function_allows_small_object_optimization::value) f = reinterpret_cast(&function_obj_ptr.data); else f = reinterpret_cast(function_obj_ptr.obj_ptr); return (*f)(); } }; template< typename FunctionObj, typename R > struct void_function_obj_invoker0 { static void invoke(function_buffer& function_obj_ptr ) { FunctionObj* f; if (function_allows_small_object_optimization::value) f = reinterpret_cast(&function_obj_ptr.data); else f = reinterpret_cast(function_obj_ptr.obj_ptr); (*f)(); } }; template< typename FunctionObj, typename R > struct function_ref_invoker0 { static R invoke(function_buffer& function_obj_ptr ) { FunctionObj* f = reinterpret_cast(function_obj_ptr.obj_ptr); return (*f)(); } }; template< typename FunctionObj, typename R > struct void_function_ref_invoker0 { static void invoke(function_buffer& function_obj_ptr ) { FunctionObj* f = reinterpret_cast(function_obj_ptr.obj_ptr); (*f)(); } }; # 230 "/usr/include/boost-1_42/boost/function/function_template.hpp" template< typename FunctionPtr, typename R > struct get_function_invoker0 { typedef typename mpl::if_c<(is_void::value), void_function_invoker0< FunctionPtr, R >, function_invoker0< FunctionPtr, R > >::type type; }; template< typename FunctionObj, typename R > struct get_function_obj_invoker0 { typedef typename mpl::if_c<(is_void::value), void_function_obj_invoker0< FunctionObj, R >, function_obj_invoker0< FunctionObj, R > >::type type; }; template< typename FunctionObj, typename R > struct get_function_ref_invoker0 { typedef typename mpl::if_c<(is_void::value), void_function_ref_invoker0< FunctionObj, R >, function_ref_invoker0< FunctionObj, R > >::type type; }; # 326 "/usr/include/boost-1_42/boost/function/function_template.hpp" template struct get_invoker0 { }; template<> struct get_invoker0 { template struct apply { typedef typename get_function_invoker0< FunctionPtr, R >::type invoker_type; typedef functor_manager manager_type; }; template struct apply_a { typedef typename get_function_invoker0< FunctionPtr, R >::type invoker_type; typedef functor_manager manager_type; }; }; # 400 "/usr/include/boost-1_42/boost/function/function_template.hpp" template<> struct get_invoker0 { template struct apply { typedef typename get_function_obj_invoker0< FunctionObj, R >::type invoker_type; typedef functor_manager manager_type; }; template struct apply_a { typedef typename get_function_obj_invoker0< FunctionObj, R >::type invoker_type; typedef functor_manager_a manager_type; }; }; template<> struct get_invoker0 { template struct apply { typedef typename get_function_ref_invoker0< typename RefWrapper::type, R >::type invoker_type; typedef reference_manager manager_type; }; template struct apply_a { typedef typename get_function_ref_invoker0< typename RefWrapper::type, R >::type invoker_type; typedef reference_manager manager_type; }; }; # 475 "/usr/include/boost-1_42/boost/function/function_template.hpp" template struct basic_vtable0 { typedef R result_type; typedef result_type (*invoker_type)(function_buffer& ); template bool assign_to(F f, function_buffer& functor) { typedef typename get_function_tag::type tag; return assign_to(f, functor, tag()); } template bool assign_to_a(F f, function_buffer& functor, Allocator a) { typedef typename get_function_tag::type tag; return assign_to_a(f, functor, a, tag()); } void clear(function_buffer& functor) { if (base.manager) base.manager(functor, functor, destroy_functor_tag); } private: template bool assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag) { this->clear(functor); if (f) { functor.func_ptr = (void (*)())(f); return true; } else { return false; } } template bool assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag) { return assign_to(f,functor,function_ptr_tag()); } # 562 "/usr/include/boost-1_42/boost/function/function_template.hpp" template void assign_functor(FunctionObj f, function_buffer& functor, mpl::true_) { new ((void*)&functor.data) FunctionObj(f); } template void assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_) { assign_functor(f,functor,mpl::true_()); } template void assign_functor(FunctionObj f, function_buffer& functor, mpl::false_) { functor.obj_ptr = new FunctionObj(f); } template void assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_) { typedef functor_wrapper functor_wrapper_type; typedef typename Allocator::template rebind::other wrapper_allocator_type; typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type; wrapper_allocator_type wrapper_allocator(a); wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1); wrapper_allocator.construct(copy, functor_wrapper_type(f,a)); functor_wrapper_type* new_f = static_cast(copy); functor.obj_ptr = new_f; } template bool assign_to(FunctionObj f, function_buffer& functor, function_obj_tag) { if (!boost::detail::function::has_empty_target(boost::addressof(f))) { assign_functor(f, functor, mpl::bool_<(function_allows_small_object_optimization::value)>()); return true; } else { return false; } } template bool assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag) { if (!boost::detail::function::has_empty_target(boost::addressof(f))) { assign_functor_a(f, functor, a, mpl::bool_<(function_allows_small_object_optimization::value)>()); return true; } else { return false; } } template bool assign_to(const reference_wrapper& f, function_buffer& functor, function_obj_ref_tag) { functor.obj_ref.obj_ptr = (void *)f.get_pointer(); functor.obj_ref.is_const_qualified = is_const::value; functor.obj_ref.is_volatile_qualified = is_volatile::value; return true; } template bool assign_to_a(const reference_wrapper& f, function_buffer& functor, Allocator, function_obj_ref_tag) { return assign_to(f,functor,function_obj_ref_tag()); } public: vtable_base base; invoker_type invoker; }; } } template< typename R > class function0 : public function_base # 664 "/usr/include/boost-1_42/boost/function/function_template.hpp" { public: typedef R result_type; private: typedef boost::detail::function::basic_vtable0< R > vtable_type; vtable_type* get_vtable() const { return reinterpret_cast( reinterpret_cast(vtable) & ~(std::size_t)0x01); } struct clear_type {}; public: static const int args = 0; template struct sig { typedef result_type type; }; # 702 "/usr/include/boost-1_42/boost/function/function_template.hpp" static const int arity = 0; typedef function0 self_type; function0() : function_base() { } template function0(Functor f ,typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), int>::type = 0 ) : function_base() { this->assign_to(f); } template function0(Functor f, Allocator a ,typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), int>::type = 0 ) : function_base() { this->assign_to_a(f,a); } function0(clear_type*) : function_base() { } function0(const function0& f) : function_base() { this->assign_to_own(f); } ~function0() { clear(); } # 766 "/usr/include/boost-1_42/boost/function/function_template.hpp" result_type operator()() const; template typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), function0&>::type operator=(Functor f) { this->clear(); { try { this->assign_to(f); } catch(...) { vtable = 0; throw;; } } return *this; } template void assign(Functor f, Allocator a) { this->clear(); { try{ this->assign_to_a(f,a); } catch(...) { vtable = 0; throw;; } } } function0& operator=(clear_type*) { this->clear(); return *this; } # 824 "/usr/include/boost-1_42/boost/function/function_template.hpp" function0& operator=(const function0& f) { if (&f == this) return *this; this->clear(); { try { this->assign_to_own(f); } catch(...) { vtable = 0; throw;; } } return *this; } void swap(function0& other) { if (&other == this) return; function0 tmp; tmp.move_assign(*this); this->move_assign(other); other.move_assign(tmp); } void clear() { if (vtable) { if (!this->has_trivial_copy_and_destroy()) get_vtable()->clear(this->functor); vtable = 0; } } private: struct dummy { void nonnull() {}; }; typedef void (dummy::*safe_bool)(); public: operator safe_bool () const { return (this->empty())? 0 : &dummy::nonnull; } bool operator!() const { return this->empty(); } private: void assign_to_own(const function0& f) { if (!f.empty()) { this->vtable = f.vtable; if (this->has_trivial_copy_and_destroy()) this->functor = f.functor; else get_vtable()->base.manager(f.functor, this->functor, boost::detail::function::clone_functor_tag); } } template void assign_to(Functor f) { using detail::function::vtable_base; typedef typename detail::function::get_function_tag::type tag; typedef detail::function::get_invoker0 get_invoker; typedef typename get_invoker:: template apply handler_type; typedef typename handler_type::invoker_type invoker_type; typedef typename handler_type::manager_type manager_type; static vtable_type stored_vtable = { { &manager_type::manage }, &invoker_type::invoke }; if (stored_vtable.assign_to(f, functor)) { std::size_t value = reinterpret_cast(&stored_vtable.base); if (boost::has_trivial_copy_constructor::value && boost::has_trivial_destructor::value && detail::function::function_allows_small_object_optimization::value) value |= (std::size_t)0x01; vtable = reinterpret_cast(value); } else vtable = 0; } template void assign_to_a(Functor f,Allocator a) { using detail::function::vtable_base; typedef typename detail::function::get_function_tag::type tag; typedef detail::function::get_invoker0 get_invoker; typedef typename get_invoker:: template apply_a handler_type; typedef typename handler_type::invoker_type invoker_type; typedef typename handler_type::manager_type manager_type; static vtable_type stored_vtable = { { &manager_type::manage }, &invoker_type::invoke }; if (stored_vtable.assign_to_a(f, functor, a)) { std::size_t value = reinterpret_cast(&stored_vtable.base); if (boost::has_trivial_copy_constructor::value && boost::has_trivial_destructor::value && detail::function::function_allows_small_object_optimization::value) value |= (std::size_t)0x01; vtable = reinterpret_cast(value); } else vtable = 0; } void move_assign(function0& f) { if (&f == this) return; { try { if (!f.empty()) { this->vtable = f.vtable; if (this->has_trivial_copy_and_destroy()) this->functor = f.functor; else get_vtable()->base.manager(f.functor, this->functor, boost::detail::function::move_functor_tag); f.vtable = 0; } else { clear(); } } catch(...) { vtable = 0; throw;; } } } }; template inline void swap(function0< R >& f1, function0< R >& f2) { f1.swap(f2); } template typename function0< R >::result_type inline function0 ::operator()() const { if (this->empty()) boost::throw_exception(bad_function_call()); return get_vtable()->invoker (this->functor ); } template void operator==(const function0< R >&, const function0< R >&); template void operator!=(const function0< R >&, const function0< R >& ); # 1041 "/usr/include/boost-1_42/boost/function/function_template.hpp" template class function : public function0 { typedef function0 base_type; typedef function self_type; struct clear_type {}; public: function() : base_type() {} template function(Functor f ,typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), int>::type = 0 ) : base_type(f) { } template function(Functor f, Allocator a ,typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), int>::type = 0 ) : base_type(f,a) { } function(clear_type*) : base_type() {} function(const self_type& f) : base_type(static_cast(f)){} function(const base_type& f) : base_type(static_cast(f)){} self_type& operator=(const self_type& f) { self_type(f).swap(*this); return *this; } template typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), self_type&>::type operator=(Functor f) { self_type(f).swap(*this); return *this; } self_type& operator=(clear_type*) { this->clear(); return *this; } self_type& operator=(const base_type& f) { self_type(f).swap(*this); return *this; } }; } # 14 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" 2 # 12 "/usr/include/boost-1_42/boost/function/function0.hpp" 2 # 14 "/usr/include/boost-1_42/boost/python/errors.hpp" 2 namespace boost { namespace python { struct __attribute__ ((visibility("default"))) error_already_set { virtual ~error_already_set(); }; bool handle_exception_impl(function0); template bool handle_exception(T f) { return handle_exception_impl(function0(boost::ref(f))); } namespace detail { inline void rethrow() { throw; } } inline void handle_exception() { handle_exception(detail::rethrow); } void throw_error_already_set(); template inline T* expect_non_null(T* x) { if (x == 0) throw_error_already_set(); return x; } PyObject* pytype_check(PyTypeObject* pytype, PyObject* source); }} # 12 "/usr/include/boost-1_42/boost/python/handle.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/borrowed.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/borrowed.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/borrowed_ptr.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/detail/borrowed_ptr.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 1 # 17 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/has_trivial_assign.hpp" 1 # 22 "/usr/include/boost-1_42/boost/type_traits/has_trivial_assign.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 23 "/usr/include/boost-1_42/boost/type_traits/has_trivial_assign.hpp" 2 namespace boost { namespace detail { template struct has_trivial_assign_impl { static const bool value = (::boost::type_traits::ice_and< ::boost::type_traits::ice_or< ::boost::is_pod::value, __has_trivial_assign(T) >::value, ::boost::type_traits::ice_not< ::boost::is_const::value >::value, ::boost::type_traits::ice_not< ::boost::is_volatile::value >::value >::value) ; }; } template< typename T > struct has_trivial_assign : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 49 "/usr/include/boost-1_42/boost/type_traits/has_trivial_assign.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/has_trivial_constructor.hpp" 1 # 18 "/usr/include/boost-1_42/boost/type_traits/has_trivial_constructor.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 19 "/usr/include/boost-1_42/boost/type_traits/has_trivial_constructor.hpp" 2 namespace boost { namespace detail { template struct has_trivial_ctor_impl { static const bool value = (::boost::type_traits::ice_or< ::boost::is_pod::value, __has_trivial_constructor(T) >::value) ; }; } template< typename T > struct has_trivial_constructor : ::boost::integral_constant::value> { }; template< typename T > struct has_trivial_default_constructor : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 42 "/usr/include/boost-1_42/boost/type_traits/has_trivial_constructor.hpp" 2 # 19 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_constructor.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_constructor.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_constructor.hpp" 2 namespace boost { namespace detail{ template struct has_nothrow_constructor_imp{ static const bool value = (::boost::type_traits::ice_or< ::boost::has_trivial_constructor::value, __has_nothrow_constructor(T) >::value) ; }; } template< typename T > struct has_nothrow_constructor : ::boost::integral_constant::value> { }; template< typename T > struct has_nothrow_default_constructor : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 38 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_constructor.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_copy.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_copy.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_copy.hpp" 2 namespace boost { namespace detail{ template struct has_nothrow_copy_imp{ static const bool value = (::boost::type_traits::ice_or< ::boost::has_trivial_copy::value, (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value) >::value) ; }; } template< typename T > struct has_nothrow_copy : ::boost::integral_constant::value> { }; template< typename T > struct has_nothrow_copy_constructor : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 38 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_copy.hpp" 2 # 23 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_assign.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_assign.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_assign.hpp" 2 namespace boost { namespace detail{ template struct has_nothrow_assign_imp{ static const bool value = (::boost::type_traits::ice_or< ::boost::has_trivial_assign::value, (__has_nothrow_assign(T) && !is_volatile::value) >::value) ; }; } template< typename T > struct has_nothrow_assign : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 37 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_assign.hpp" 2 # 24 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_base_and_derived.hpp" 1 # 24 "/usr/include/boost-1_42/boost/type_traits/is_base_and_derived.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 25 "/usr/include/boost-1_42/boost/type_traits/is_base_and_derived.hpp" 2 namespace boost { namespace detail { # 222 "/usr/include/boost-1_42/boost/type_traits/is_base_and_derived.hpp" template struct is_base_and_derived_impl { typedef typename remove_cv::type ncvB; typedef typename remove_cv::type ncvD; static const bool value = ((__is_base_of(B,D) && !is_same::value) && ! ::boost::is_same::value); }; } template< typename Base, typename Derived > struct is_base_and_derived : ::boost::integral_constant::value)> { }; template< typename Base, typename Derived > struct is_base_and_derived< Base&,Derived > : ::boost::integral_constant { }; template< typename Base, typename Derived > struct is_base_and_derived< Base,Derived& > : ::boost::integral_constant { }; template< typename Base, typename Derived > struct is_base_and_derived< Base&,Derived& > : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 253 "/usr/include/boost-1_42/boost/type_traits/is_base_and_derived.hpp" 2 # 25 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_class.hpp" 1 # 37 "/usr/include/boost-1_42/boost/type_traits/is_class.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 38 "/usr/include/boost-1_42/boost/type_traits/is_class.hpp" 2 namespace boost { namespace detail { # 120 "/usr/include/boost-1_42/boost/type_traits/is_class.hpp" template struct is_class_impl { static const bool value = __is_class(T); }; } template< typename T > struct is_class : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 139 "/usr/include/boost-1_42/boost/type_traits/is_class.hpp" 2 # 26 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_compound.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/is_compound.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_fundamental.hpp" 1 # 17 "/usr/include/boost-1_42/boost/type_traits/is_fundamental.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/is_fundamental.hpp" 2 namespace boost { namespace detail { template struct is_fundamental_impl : ::boost::type_traits::ice_or< ::boost::is_arithmetic::value , ::boost::is_void::value > { }; } template< typename T > struct is_fundamental : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 44 "/usr/include/boost-1_42/boost/type_traits/is_fundamental.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/is_compound.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/is_compound.hpp" 2 namespace boost { namespace detail { template struct is_compound_impl { static const bool value = (::boost::type_traits::ice_not< ::boost::is_fundamental::value >::value) ; }; } template< typename T > struct is_compound : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 45 "/usr/include/boost-1_42/boost/type_traits/is_compound.hpp" 2 # 27 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_empty.hpp" 1 # 12 "/usr/include/boost-1_42/boost/type_traits/is_empty.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" 1 # 20 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/add_reference.hpp" 1 # 17 "/usr/include/boost-1_42/boost/type_traits/add_reference.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/add_reference.hpp" 2 namespace boost { namespace detail { # 55 "/usr/include/boost-1_42/boost/type_traits/add_reference.hpp" template struct add_reference_impl { typedef T& type; }; template< typename T > struct add_reference_impl { typedef T& type; }; template<> struct add_reference_impl { typedef void type; }; template<> struct add_reference_impl { typedef void const type; }; template<> struct add_reference_impl { typedef void volatile type; }; template<> struct add_reference_impl { typedef void const volatile type; }; } template< typename T > struct add_reference { typedef typename boost::detail::add_reference_impl::type type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 88 "/usr/include/boost-1_42/boost/type_traits/add_reference.hpp" 2 # 21 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_abstract.hpp" 1 # 62 "/usr/include/boost-1_42/boost/type_traits/is_abstract.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 63 "/usr/include/boost-1_42/boost/type_traits/is_abstract.hpp" 2 namespace boost { namespace detail{ template struct is_abstract_imp { static const bool value = __is_abstract(T); }; # 141 "/usr/include/boost-1_42/boost/type_traits/is_abstract.hpp" } template< typename T > struct is_abstract : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 152 "/usr/include/boost-1_42/boost/type_traits/is_abstract.hpp" 2 # 26 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" 2 # 36 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 37 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" 2 namespace boost { # 52 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" namespace detail { # 119 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" struct any_conversion { template any_conversion(const volatile T&); template any_conversion(T&); }; template struct checker { static boost::type_traits::no_type _m_check(any_conversion ...); static boost::type_traits::yes_type _m_check(T, int); }; template struct is_convertible_basic_impl { static From _m_from; static bool const value = sizeof( detail::checker::_m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type); }; # 291 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" template struct is_convertible_impl { typedef typename add_reference::type ref_type; static const bool value = (::boost::type_traits::ice_and< ::boost::type_traits::ice_or< ::boost::detail::is_convertible_basic_impl::value, ::boost::is_void::value >::value, ::boost::type_traits::ice_not< ::boost::is_array::value >::value >::value) # 305 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" ; }; template struct is_convertible_impl_select { template struct rebind { typedef is_convertible_impl type; }; }; template <> struct is_convertible_impl_select { template struct rebind { typedef true_type type; }; }; template <> struct is_convertible_impl_select { template struct rebind { typedef false_type type; }; }; template <> struct is_convertible_impl_select { template struct rebind { typedef false_type type; }; }; template struct is_convertible_impl_dispatch_base { typedef is_convertible_impl_select< ::boost::is_arithmetic::value, ::boost::is_arithmetic::value, ::boost::is_abstract::value > selector; typedef typename selector::template rebind isc_binder; typedef typename isc_binder::type type; }; template struct is_convertible_impl_dispatch : public is_convertible_impl_dispatch_base::type {}; # 394 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" template<> struct is_convertible_impl< void,void > { static const bool value = (true); }; template<> struct is_convertible_impl< void,void const > { static const bool value = (true); }; template<> struct is_convertible_impl< void,void volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void,void const volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void const,void > { static const bool value = (true); }; template<> struct is_convertible_impl< void const,void const > { static const bool value = (true); }; template<> struct is_convertible_impl< void const,void volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void const,void const volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void volatile,void > { static const bool value = (true); }; template<> struct is_convertible_impl< void volatile,void const > { static const bool value = (true); }; template<> struct is_convertible_impl< void volatile,void volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void volatile,void const volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void const volatile,void > { static const bool value = (true); }; template<> struct is_convertible_impl< void const volatile,void const > { static const bool value = (true); }; template<> struct is_convertible_impl< void const volatile,void volatile > { static const bool value = (true); }; template<> struct is_convertible_impl< void const volatile,void const volatile > { static const bool value = (true); }; # 404 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" template< typename To > struct is_convertible_impl< void,To > { static const bool value = (false); }; template< typename From > struct is_convertible_impl< From,void > { static const bool value = (true); }; template< typename To > struct is_convertible_impl< void const,To > { static const bool value = (false); }; template< typename To > struct is_convertible_impl< void volatile,To > { static const bool value = (false); }; template< typename To > struct is_convertible_impl< void const volatile,To > { static const bool value = (false); }; template< typename From > struct is_convertible_impl< From,void const > { static const bool value = (true); }; template< typename From > struct is_convertible_impl< From,void volatile > { static const bool value = (true); }; template< typename From > struct is_convertible_impl< From,void const volatile > { static const bool value = (true); }; } template< typename From, typename To > struct is_convertible : ::boost::integral_constant::value)> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 429 "/usr/include/boost-1_42/boost/type_traits/is_convertible.hpp" 2 # 13 "/usr/include/boost-1_42/boost/type_traits/is_empty.hpp" 2 # 32 "/usr/include/boost-1_42/boost/type_traits/is_empty.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 33 "/usr/include/boost-1_42/boost/type_traits/is_empty.hpp" 2 namespace boost { namespace detail { template struct empty_helper_t1 : public T { empty_helper_t1(); int i[256]; private: empty_helper_t1(const empty_helper_t1&); empty_helper_t1& operator=(const empty_helper_t1&); }; struct empty_helper_t2 { int i[256]; }; template struct empty_helper { static const bool value = false; }; template struct empty_helper { static const bool value = (sizeof(empty_helper_t1) == sizeof(empty_helper_t2)) ; }; template struct is_empty_impl { typedef typename remove_cv::type cvt; static const bool value = ( ::boost::type_traits::ice_or< ::boost::detail::empty_helper::value>::value , __is_empty(cvt) >::value ) ; }; # 195 "/usr/include/boost-1_42/boost/type_traits/is_empty.hpp" template<> struct is_empty_impl< void > { static const bool value = (false); }; template<> struct is_empty_impl< void const > { static const bool value = (false); }; template<> struct is_empty_impl< void volatile > { static const bool value = (false); }; template<> struct is_empty_impl< void const volatile > { static const bool value = (false); }; } template< typename T > struct is_empty : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 209 "/usr/include/boost-1_42/boost/type_traits/is_empty.hpp" 2 # 28 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_object.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/is_object.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_function.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/is_function.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/false_result.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/false_result.hpp" namespace boost { namespace type_traits { struct false_result { template struct result_ { static const bool value = false; }; }; }} # 16 "/usr/include/boost-1_42/boost/type_traits/is_function.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/is_function_ptr_helper.hpp" 1 # 26 "/usr/include/boost-1_42/boost/type_traits/detail/is_function_ptr_helper.hpp" namespace boost { namespace type_traits { template struct is_function_ptr_helper { static const bool value = false; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; template struct is_function_ptr_helper { static const bool value = true; }; # 203 "/usr/include/boost-1_42/boost/type_traits/detail/is_function_ptr_helper.hpp" } } # 20 "/usr/include/boost-1_42/boost/type_traits/is_function.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 27 "/usr/include/boost-1_42/boost/type_traits/is_function.hpp" 2 namespace boost { namespace detail { template struct is_function_chooser : ::boost::type_traits::false_result { }; template <> struct is_function_chooser { template< typename T > struct result_ : ::boost::type_traits::is_function_ptr_helper { }; }; template struct is_function_impl : is_function_chooser< ::boost::is_reference::value > ::template result_ { }; # 90 "/usr/include/boost-1_42/boost/type_traits/is_function.hpp" } template< typename T > struct is_function : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 102 "/usr/include/boost-1_42/boost/type_traits/is_function.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/is_object.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 21 "/usr/include/boost-1_42/boost/type_traits/is_object.hpp" 2 namespace boost { namespace detail { template struct is_object_impl { static const bool value = (::boost::type_traits::ice_and< ::boost::type_traits::ice_not< ::boost::is_reference::value>::value, ::boost::type_traits::ice_not< ::boost::is_void::value>::value, ::boost::type_traits::ice_not< ::boost::is_function::value>::value >::value) ; }; } template< typename T > struct is_object : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 52 "/usr/include/boost-1_42/boost/type_traits/is_object.hpp" 2 # 29 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_stateless.hpp" 1 # 21 "/usr/include/boost-1_42/boost/type_traits/is_stateless.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/is_stateless.hpp" 2 namespace boost { namespace detail { template struct is_stateless_impl { static const bool value = (::boost::type_traits::ice_and< ::boost::has_trivial_constructor::value, ::boost::has_trivial_copy::value, ::boost::has_trivial_destructor::value, ::boost::is_class::value, ::boost::is_empty::value >::value) ; }; } template< typename T > struct is_stateless : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 47 "/usr/include/boost-1_42/boost/type_traits/is_stateless.hpp" 2 # 32 "/usr/include/boost-1_42/boost/type_traits/object_traits.hpp" 2 # 12 "/usr/include/boost-1_42/boost/python/detail/borrowed_ptr.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/tag.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/tag.hpp" namespace boost { namespace python { enum tag_t { tag }; }} # 14 "/usr/include/boost-1_42/boost/python/detail/borrowed_ptr.hpp" 2 namespace boost { namespace python { namespace detail { template class borrowed { typedef T type; }; template struct is_borrowed_ptr { static const bool value = false; }; template struct is_borrowed_ptr*> { static const bool value = true; }; template struct is_borrowed_ptr const*> { static const bool value = true; }; template struct is_borrowed_ptr volatile*> { static const bool value = true; }; template struct is_borrowed_ptr const volatile*> { static const bool value = true; }; # 101 "/usr/include/boost-1_42/boost/python/detail/borrowed_ptr.hpp" } template inline T* get_managed_object(detail::borrowed const volatile* p, tag_t) { return (T*)p; } }} # 10 "/usr/include/boost-1_42/boost/python/borrowed.hpp" 2 namespace boost { namespace python { template inline python::detail::borrowed* borrowed(T* p) { return (detail::borrowed*)p; } }} # 13 "/usr/include/boost-1_42/boost/python/handle.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/handle_fwd.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/handle_fwd.hpp" namespace boost { namespace python { template class handle; }} # 14 "/usr/include/boost-1_42/boost/python/handle.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/refcount.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/refcount.hpp" namespace boost { namespace python { template inline T* incref(T* p) { ( ((PyObject*)(python::upcast(p)))->ob_refcnt++); return p; } template inline T* xincref(T* p) { if ((python::upcast(p)) == __null) ; else ( ((PyObject*)(python::upcast(p)))->ob_refcnt++); return p; } template inline void decref(T* p) { if ( --((PyObject*)(python::upcast(p)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(python::upcast(p))))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(python::upcast(p))))); } template inline void xdecref(T* p) { if ((python::upcast(p)) == __null) ; else if ( --((PyObject*)(python::upcast(p)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(python::upcast(p))))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(python::upcast(p))))); } }} # 15 "/usr/include/boost-1_42/boost/python/handle.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/raw_pyobject.hpp" 1 namespace boost { namespace python { namespace detail { # 19 "/usr/include/boost-1_42/boost/python/detail/raw_pyobject.hpp" struct new_reference_t; typedef new_reference_t* new_reference; struct borrowed_reference_t; typedef borrowed_reference_t* borrowed_reference; struct new_non_null_reference_t; typedef new_non_null_reference_t* new_non_null_reference; }}} # 17 "/usr/include/boost-1_42/boost/python/handle.hpp" 2 namespace boost { namespace python { template struct null_ok; template inline null_ok* allow_null(T* p) { return (null_ok*)p; } namespace detail { template inline T* manage_ptr(detail::borrowed >* p, int) { return python::xincref((T*)p); } template inline T* manage_ptr(null_ok >* p, int) { return python::xincref((T*)p); } template inline T* manage_ptr(detail::borrowed* p, long) { return python::incref(expect_non_null((T*)p)); } template inline T* manage_ptr(null_ok* p, long) { return (T*)p; } template inline T* manage_ptr(T* p, ...) { return expect_non_null(p); } } template class handle { typedef T* (handle::* bool_type )() const; public: typedef T element_type; public: handle(); ~handle(); template explicit handle(Y* p) : m_p( python::upcast( detail::manage_ptr(p, 0) ) ) { } handle& operator=(handle const& r) { python::xdecref(m_p); m_p = python::xincref(r.m_p); return *this; } template handle& operator=(handle const & r) { python::xdecref(m_p); m_p = python::xincref(python::upcast(r.get())); return *this; } template handle(handle const& r) : m_p(python::xincref(python::upcast(r.get()))) { } handle(handle const& r) : m_p(python::xincref(r.m_p)) { } T* operator-> () const; T& operator* () const; T* get() const; T* release(); void reset(); operator bool_type() const { return m_p ? &handle::get : 0; } bool operator! () const; public: inline handle(detail::borrowed_reference x) : m_p( python::incref( downcast((PyObject*)x) )) { } private: T* m_p; }; template inline T * get_pointer(python::handle const & p) { return p.get(); } using boost::get_pointer; typedef handle type_handle; template class is_handle { public: static const bool value = false; }; template class is_handle > { public: static const bool value = true; }; # 202 "/usr/include/boost-1_42/boost/python/handle.hpp" template inline handle::handle() : m_p(0) { } template inline handle::~handle() { python::xdecref(m_p); } template inline T* handle::operator->() const { return m_p; } template inline T& handle::operator*() const { return *m_p; } template inline T* handle::get() const { return m_p; } template inline bool handle::operator!() const { return m_p == 0; } template inline T* handle::release() { T* result = m_p; m_p = 0; return result; } template inline void handle::reset() { python::xdecref(m_p); m_p = 0; } template inline PyObject* get_managed_object(handle const& h, tag_t) { return h.get() ? python::upcast(h.get()) : (&_Py_NoneStruct); } }} # 11 "/usr/include/boost-1_42/boost/python/args_fwd.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 13 "/usr/include/boost-1_42/boost/python/args_fwd.hpp" 2 namespace boost { namespace python { namespace detail { struct keyword { keyword(char const* name_=0) : name(name_) {} char const* name; handle<> default_value; }; template struct keywords; typedef std::pair keyword_range; template <> struct keywords<0> { static const std::size_t size = 0; static keyword_range range() { return keyword_range(); } }; namespace error { template struct more_keywords_than_function_arguments { typedef char too_many_keywords[keywords > function_args ? -1 : 1]; }; } } }} # 11 "/usr/include/boost-1_42/boost/python/args.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/preprocessor.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/args.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list.hpp" 1 # 28 "/usr/include/boost-1_42/boost/python/detail/type_list.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/vector20.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/vector/vector20.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/vector10.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/vector/vector10.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/at.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/at.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/at_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/at_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct at_impl; template< typename Sequence, typename N > struct at; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/at.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/tag.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/tag.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/typeof.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/tag.hpp" 2 namespace boost { namespace mpl { namespace aux { struct v_iter_tag; struct vector_tag; }}} # 19 "/usr/include/boost-1_42/boost/mpl/vector/aux_/at.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/long.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/long.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/long_fwd.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/long_fwd.hpp" namespace mpl_ { template< long N > struct long_; } namespace boost { namespace mpl { using ::mpl_::long_; } } # 18 "/usr/include/boost-1_42/boost/mpl/long.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" 1 # 40 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" namespace mpl_ { template< long N > struct long_ { static const long value = N; typedef long_ type; typedef long value_type; typedef integral_c_tag tag; # 72 "/usr/include/boost-1_42/boost/mpl/aux_/integral_wrapper.hpp" typedef mpl_::long_< static_cast((value + 1)) > next; typedef mpl_::long_< static_cast((value - 1)) > prior; operator long() const { return static_cast(this->value); } }; template< long N > long const mpl_::long_< N >::value; } # 21 "/usr/include/boost-1_42/boost/mpl/long.hpp" 2 # 20 "/usr/include/boost-1_42/boost/mpl/vector/aux_/at.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/void.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/void.hpp" namespace mpl_ { struct void_ { typedef void_ type; }; } namespace boost { namespace mpl { template< typename T > struct is_void_ : false_ { }; template<> struct is_void_ : true_ { }; template< typename T > struct is_not_void_ : true_ { }; template<> struct is_not_void_ : false_ { }; template<> struct is_void_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : is_void_< T1 > { }; }; template< typename Tag > struct lambda< is_void_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef is_void_< na > result_; typedef is_void_< na > type; }; namespace aux { template< typename T1 > struct template_arity< is_void_< T1 > > : int_<1> { }; template<> struct template_arity< is_void_< na > > : int_<-1> { }; } template<> struct is_not_void_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : is_not_void_< T1 > { }; }; template< typename Tag > struct lambda< is_not_void_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef is_not_void_< na > result_; typedef is_not_void_< na > type; }; namespace aux { template< typename T1 > struct template_arity< is_not_void_< T1 > > : int_<1> { }; template<> struct template_arity< is_not_void_< na > > : int_<-1> { }; } }} # 21 "/usr/include/boost-1_42/boost/mpl/vector/aux_/at.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/type_wrapper.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/type_wrapper.hpp" namespace boost { namespace mpl { namespace aux { template< typename T > struct type_wrapper { typedef T type; }; template< typename T > struct wrapped_type; template< typename T > struct wrapped_type< type_wrapper > { typedef T type; }; }}} # 23 "/usr/include/boost-1_42/boost/mpl/vector/aux_/at.hpp" 2 namespace boost { namespace mpl { template< typename Vector, long n_ > struct v_at_impl { typedef long_< (Vector::lower_bound_::value + n_) > index_; typedef __typeof__( Vector::item_(index_()) ) type; }; template< typename Vector, long n_ > struct v_at : aux::wrapped_type< typename v_at_impl::type > { }; template<> struct at_impl< aux::vector_tag > { template< typename Vector, typename N > struct apply : v_at< Vector , N::value > { }; }; # 114 "/usr/include/boost-1_42/boost/mpl/vector/aux_/at.hpp" }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/front.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/front.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/front_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/front_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct front_impl; template< typename Sequence > struct front; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/front.hpp" 2 namespace boost { namespace mpl { template<> struct front_impl< aux::vector_tag > { template< typename Vector > struct apply : v_at { }; }; # 54 "/usr/include/boost-1_42/boost/mpl/vector/aux_/front.hpp" }} # 19 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/push_front.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/push_front.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/push_front_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/push_front_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct push_front_impl; template< typename Sequence, typename T > struct push_front; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/push_front.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/item.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/vector/aux_/item.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/next_prior.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/next_prior.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/common_name_wknd.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/next_prior.hpp" 2 namespace boost { namespace mpl { template< typename T = na > struct next { typedef typename T::next type; }; template< typename T = na > struct prior { typedef typename T::prior type; }; template<> struct next< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : next< T1 > { }; }; template< typename Tag > struct lambda< next< na > , Tag , int_<-1> > { typedef false_ is_le; typedef next< na > result_; typedef next< na > type; }; namespace aux { template< typename T1 > struct template_arity< next< T1 > > : int_<1> { }; template<> struct template_arity< next< na > > : int_<-1> { }; } template<> struct prior< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : prior< T1 > { }; }; template< typename Tag > struct lambda< prior< na > , Tag , int_<-1> > { typedef false_ is_le; typedef prior< na > result_; typedef prior< na > type; }; namespace aux { template< typename T1 > struct template_arity< prior< T1 > > : int_<1> { }; template<> struct template_arity< prior< na > > : int_<-1> { }; } }} # 20 "/usr/include/boost-1_42/boost/mpl/vector/aux_/item.hpp" 2 namespace boost { namespace mpl { template< typename T , typename Base , int at_front = 0 > struct v_item : Base { typedef typename Base::upper_bound_ index_; typedef typename next::type upper_bound_; typedef typename next::type size; typedef Base base; typedef v_item type; static aux::type_wrapper item_(index_); using Base::item_; }; template< typename T , typename Base > struct v_item : Base { typedef typename prior::type index_; typedef index_ lower_bound_; typedef typename next::type size; typedef Base base; typedef v_item type; static aux::type_wrapper item_(index_); using Base::item_; }; template< typename Base , int at_front > struct v_mask : Base { typedef typename prior::type index_; typedef index_ upper_bound_; typedef typename prior::type size; typedef Base base; typedef v_mask type; static aux::type_wrapper item_(index_); using Base::item_; }; template< typename Base > struct v_mask : Base { typedef typename Base::lower_bound_ index_; typedef typename next::type lower_bound_; typedef typename prior::type size; typedef Base base; typedef v_mask type; static aux::type_wrapper item_(index_); using Base::item_; }; }} # 23 "/usr/include/boost-1_42/boost/mpl/vector/aux_/push_front.hpp" 2 namespace boost { namespace mpl { template<> struct push_front_impl< aux::vector_tag > { template< typename Vector, typename T > struct apply { typedef v_item type; }; }; }} # 20 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/pop_front.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/pop_front.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/pop_front_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/pop_front_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct pop_front_impl; template< typename Sequence > struct pop_front; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/pop_front.hpp" 2 namespace boost { namespace mpl { template<> struct pop_front_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef v_mask type; }; }; }} # 21 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/push_back.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/push_back.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/push_back_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/push_back_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct push_back_impl; template< typename Sequence, typename T > struct push_back; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/push_back.hpp" 2 namespace boost { namespace mpl { template<> struct push_back_impl< aux::vector_tag > { template< typename Vector, typename T > struct apply { typedef v_item type; }; }; }} # 22 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/pop_back.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/pop_back.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/pop_back_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/pop_back_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct pop_back_impl; template< typename Sequence > struct pop_back; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/pop_back.hpp" 2 namespace boost { namespace mpl { template<> struct pop_back_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef v_mask type; }; }; }} # 23 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/back.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/back.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/back_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/back_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct back_impl; template< typename Sequence > struct back; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/back.hpp" 2 namespace boost { namespace mpl { template<> struct back_impl< aux::vector_tag > { template< typename Vector > struct apply : v_at< Vector , prior::type::value > { }; }; # 57 "/usr/include/boost-1_42/boost/mpl/vector/aux_/back.hpp" }} # 24 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/clear.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/clear.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/clear_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/clear_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct clear_impl; template< typename Sequence > struct clear; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/clear.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/vector0.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/vector/aux_/vector0.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/iterator_tags.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/iterator_tags.hpp" namespace boost { namespace mpl { struct forward_iterator_tag : int_<0> { typedef forward_iterator_tag type; }; struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; }; struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; }; }} # 19 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/plus.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/plus.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/largest_int.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/largest_int.hpp" namespace boost { namespace mpl { namespace aux { template< typename T > struct integral_rank; template<> struct integral_rank : int_<1> {}; template<> struct integral_rank : int_<2> {}; template<> struct integral_rank : int_<3> {}; template<> struct integral_rank : int_<4> {}; template<> struct integral_rank : int_<5> {}; template<> struct integral_rank : int_<6> {}; template<> struct integral_rank : int_<7> {}; template<> struct integral_rank : int_<8> {}; template<> struct integral_rank : int_<9> {}; template<> struct integral_rank : int_<10> {}; template<> struct integral_rank : int_<11> {}; template<> struct integral_rank : int_<12> {}; template<> struct integral_rank: int_<13> {}; template< typename T1, typename T2 > struct largest_int : if_c< ( integral_rank::value >= integral_rank::value ) , T1 , T2 > { }; }}} # 19 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/numeric_cast.hpp" 1 # 30 "/usr/include/boost-1_42/boost/mpl/numeric_cast.hpp" namespace boost { namespace mpl { template< typename SourceTag, typename TargetTag > struct numeric_cast { template< typename N > struct apply; }; }} # 22 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/has_apply.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/has_apply.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/has_xxx.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/has_xxx.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/yes_no.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/yes_no.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/arrays.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/yes_no.hpp" 2 namespace boost { namespace mpl { namespace aux { typedef char (&no_tag)[1]; typedef char (&yes_tag)[2]; template< bool C_ > struct yes_no_tag { typedef no_tag type; }; template<> struct yes_no_tag { typedef yes_tag type; }; template< long n > struct weighted_tag { typedef char (&type)[n]; }; # 56 "/usr/include/boost-1_42/boost/mpl/aux_/yes_no.hpp" }}} # 21 "/usr/include/boost-1_42/boost/mpl/has_xxx.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/has_xxx.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/has_xxx.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/msvc_typename.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/has_xxx.hpp" 2 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/has_apply.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/has_apply.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/has_apply.hpp" 2 namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_ > struct has_apply { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper const volatile* , boost::mpl::aux::type_wrapper* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_ type; }; }}} # 24 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/msvc_never_true.hpp" 1 # 26 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/use_preprocessed.hpp" 1 # 29 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 16 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/compiler.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/stringize.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp" namespace boost { namespace mpl { template< typename F , typename has_apply_ = typename aux::has_apply::type > struct apply_wrap0 : F::template apply< > { }; template< typename F > struct apply_wrap0< F,true_ > : F::apply { }; template< typename F, typename T1 > struct apply_wrap1 : F::template apply { }; template< typename F, typename T1, typename T2 > struct apply_wrap2 : F::template apply< T1,T2 > { }; template< typename F, typename T1, typename T2, typename T3 > struct apply_wrap3 : F::template apply< T1,T2,T3 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct apply_wrap4 : F::template apply< T1,T2,T3,T4 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct apply_wrap5 : F::template apply< T1,T2,T3,T4,T5 > { }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 35 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 2 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/tag.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/tag.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/eval_if.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/eval_if.hpp" namespace boost { namespace mpl { template< typename C = na , typename F1 = na , typename F2 = na > struct eval_if { typedef typename if_::type f_; typedef typename f_::type type; }; template< bool C , typename F1 , typename F2 > struct eval_if_c { typedef typename if_c::type f_; typedef typename f_::type type; }; template<> struct eval_if< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : eval_if< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< eval_if< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef eval_if< na , na , na > result_; typedef eval_if< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< eval_if< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< eval_if< na , na , na > > : int_<-1> { }; } }} # 18 "/usr/include/boost-1_42/boost/mpl/tag.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/has_tag.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/has_tag.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_ > struct has_tag { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper const volatile* , boost::mpl::aux::type_wrapper* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_ type; }; }}} # 20 "/usr/include/boost-1_42/boost/mpl/tag.hpp" 2 namespace boost { namespace mpl { namespace aux { template< typename T > struct tag_impl { typedef typename T::tag type; }; } template< typename T, typename Default = void_ > struct tag : if_< aux::has_tag , aux::tag_impl , Default >::type { # 48 "/usr/include/boost-1_42/boost/mpl/tag.hpp" }; }} # 25 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_cast_utils.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_cast_utils.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_cast_utils.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/forwarding.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_cast_utils.hpp" 2 namespace boost { namespace mpl { namespace aux { template< typename F , typename Tag1 , typename Tag2 > struct cast1st_impl { template< typename N1, typename N2 > struct apply : apply_wrap2< F , typename apply_wrap1< numeric_cast,N1 >::type , N2 > { # 46 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_cast_utils.hpp" }; }; template< typename F , typename Tag1 , typename Tag2 > struct cast2nd_impl { template< typename N1, typename N2 > struct apply : apply_wrap2< F , N1 , typename apply_wrap1< numeric_cast,N2 >::type > { # 72 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_cast_utils.hpp" }; }; }}} # 26 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/msvc_eti_base.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/msvc_eti_base.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/is_msvc_eti_arg.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/aux_/is_msvc_eti_arg.hpp" namespace boost { namespace mpl { namespace aux { # 62 "/usr/include/boost-1_42/boost/mpl/aux_/is_msvc_eti_arg.hpp" }}} # 18 "/usr/include/boost-1_42/boost/mpl/aux_/msvc_eti_base.hpp" 2 namespace boost { namespace mpl { namespace aux { # 55 "/usr/include/boost-1_42/boost/mpl/aux_/msvc_eti_base.hpp" template< typename T > struct msvc_eti_base : T { msvc_eti_base(); typedef T type; }; template<> struct msvc_eti_base { typedef msvc_eti_base type; typedef msvc_eti_base first; typedef msvc_eti_base second; typedef msvc_eti_base tag; enum { value = 0 }; }; }}} # 30 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 27 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/plus.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/plus.hpp" namespace boost { namespace mpl { template< typename Tag1 , typename Tag2 > struct plus_impl : if_c< ( Tag1::value > Tag2::value ) , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > >::type { }; template<> struct plus_impl< na,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct plus_impl< na,Tag > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct plus_impl< Tag,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename T > struct plus_tag { typedef typename T::tag type; }; template< typename N1 = na , typename N2 = na , typename N3 = na, typename N4 = na, typename N5 = na > struct plus : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> { }; template< typename N1, typename N2, typename N3, typename N4 > struct plus< N1,N2,N3,N4,na > : plus< plus< plus< N1,N2 >, N3>, N4> { }; template< typename N1, typename N2, typename N3 > struct plus< N1,N2,N3,na,na > : plus< plus< N1,N2 >, N3> { }; template< typename N1, typename N2 > struct plus< N1,N2,na,na,na > : plus_impl< typename plus_tag::type , typename plus_tag::type >::template apply< N1,N2 >::type { }; template<> struct plus< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : plus< T1 , T2 > { }; }; template< typename Tag > struct lambda< plus< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef plus< na , na > result_; typedef plus< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< plus< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< plus< na , na > > : int_<-1> { }; } }} namespace boost { namespace mpl { template<> struct plus_impl< integral_c_tag,integral_c_tag > { template< typename N1, typename N2 > struct apply : integral_c< typename aux::largest_int< typename N1::value_type , typename N2::value_type >::type , ( N1::value + N2::value ) > { }; }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 35 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 2 # 20 "/usr/include/boost-1_42/boost/mpl/plus.hpp" 2 # 20 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/minus.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/minus.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 1 # 26 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 27 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/minus.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/minus.hpp" namespace boost { namespace mpl { template< typename Tag1 , typename Tag2 > struct minus_impl : if_c< ( Tag1::value > Tag2::value ) , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > >::type { }; template<> struct minus_impl< na,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct minus_impl< na,Tag > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct minus_impl< Tag,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename T > struct minus_tag { typedef typename T::tag type; }; template< typename N1 = na , typename N2 = na , typename N3 = na, typename N4 = na, typename N5 = na > struct minus : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> { }; template< typename N1, typename N2, typename N3, typename N4 > struct minus< N1,N2,N3,N4,na > : minus< minus< minus< N1,N2 >, N3>, N4> { }; template< typename N1, typename N2, typename N3 > struct minus< N1,N2,N3,na,na > : minus< minus< N1,N2 >, N3> { }; template< typename N1, typename N2 > struct minus< N1,N2,na,na,na > : minus_impl< typename minus_tag::type , typename minus_tag::type >::template apply< N1,N2 >::type { }; template<> struct minus< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : minus< T1 , T2 > { }; }; template< typename Tag > struct lambda< minus< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef minus< na , na > result_; typedef minus< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< minus< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< minus< na , na > > : int_<-1> { }; } }} namespace boost { namespace mpl { template<> struct minus_impl< integral_c_tag,integral_c_tag > { template< typename N1, typename N2 > struct apply : integral_c< typename aux::largest_int< typename N1::value_type , typename N2::value_type >::type , ( N1::value - N2::value ) > { }; }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 35 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 2 # 20 "/usr/include/boost-1_42/boost/mpl/minus.hpp" 2 # 21 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/advance_fwd.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/advance_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct advance_impl; template< typename Iterator, typename N > struct advance; }} # 22 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/distance_fwd.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/distance_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct distance_impl; template< typename First, typename Last > struct distance; }} # 23 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/next.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/prior.hpp" 1 # 25 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" 2 namespace boost { namespace mpl { template< typename Vector , long n_ > struct v_iter { typedef aux::v_iter_tag tag; typedef random_access_iterator_tag category; typedef typename v_at::type type; typedef Vector vector_; typedef mpl::long_ pos; # 56 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" }; template< typename Vector , long n_ > struct next< v_iter > { typedef v_iter type; }; template< typename Vector , long n_ > struct prior< v_iter > { typedef v_iter type; }; template< typename Vector , long n_ , typename Distance > struct advance< v_iter,Distance> { typedef v_iter< Vector , (n_ + Distance::value) > type; }; template< typename Vector , long n_ , long m_ > struct distance< v_iter, v_iter > : mpl::long_<(m_ - n_)> { }; # 128 "/usr/include/boost-1_42/boost/mpl/vector/aux_/iterator.hpp" }} # 23 "/usr/include/boost-1_42/boost/mpl/vector/aux_/vector0.hpp" 2 namespace boost { namespace mpl { template< typename Dummy = na > struct vector0; template<> struct vector0 { typedef aux::vector_tag tag; typedef vector0 type; typedef long_<32768> lower_bound_; typedef lower_bound_ upper_bound_; typedef long_<0> size; static aux::type_wrapper item_(...); # 48 "/usr/include/boost-1_42/boost/mpl/vector/aux_/vector0.hpp" }; }} # 19 "/usr/include/boost-1_42/boost/mpl/vector/aux_/clear.hpp" 2 namespace boost { namespace mpl { template<> struct clear_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef vector0<> type; }; }; # 53 "/usr/include/boost-1_42/boost/mpl/vector/aux_/clear.hpp" }} # 25 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/O1_size.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/O1_size.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/O1_size_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/O1_size_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct O1_size_impl; template< typename Sequence > struct O1_size; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/O1_size.hpp" 2 namespace boost { namespace mpl { template<> struct O1_size_impl< aux::vector_tag > { template< typename Vector > struct apply : Vector::size { }; }; # 54 "/usr/include/boost-1_42/boost/mpl/vector/aux_/O1_size.hpp" }} # 26 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/size.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/size.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/size_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/size_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct size_impl; template< typename Sequence > struct size; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/size.hpp" 2 namespace boost { namespace mpl { template<> struct size_impl< aux::vector_tag > : O1_size_impl< aux::vector_tag > { }; # 47 "/usr/include/boost-1_42/boost/mpl/vector/aux_/size.hpp" }} # 27 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/empty.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/vector/aux_/empty.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/empty_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/empty_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct empty_impl; template< typename Sequence > struct empty; }} # 18 "/usr/include/boost-1_42/boost/mpl/vector/aux_/empty.hpp" 2 namespace boost { namespace mpl { template<> struct empty_impl< aux::vector_tag > { template< typename Vector > struct apply : is_same< typename Vector::lower_bound_ , typename Vector::upper_bound_ > { }; }; # 66 "/usr/include/boost-1_42/boost/mpl/vector/aux_/empty.hpp" }} # 28 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/begin_end.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/vector/aux_/begin_end.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/begin_end_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/begin_end_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct begin_impl; template< typename Tag > struct end_impl; template< typename Sequence > struct begin; template< typename Sequence > struct end; }} # 22 "/usr/include/boost-1_42/boost/mpl/vector/aux_/begin_end.hpp" 2 namespace boost { namespace mpl { template<> struct begin_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef v_iter type; }; }; template<> struct end_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef v_iter type; }; }; }} # 32 "/usr/include/boost-1_42/boost/mpl/vector/vector0.hpp" 2 # 19 "/usr/include/boost-1_42/boost/mpl/vector/vector10.hpp" 2 # 27 "/usr/include/boost-1_42/boost/mpl/vector/vector10.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/include_preprocessed.hpp" 1 # 49 "/usr/include/boost-1_42/boost/mpl/vector/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp" namespace boost { namespace mpl { template< typename T0 > struct vector1 : v_item< T0 , vector0< > > { typedef vector1 type; }; template< typename T0, typename T1 > struct vector2 : v_item< T1 , vector1 > { typedef vector2 type; }; template< typename T0, typename T1, typename T2 > struct vector3 : v_item< T2 , vector2< T0,T1 > > { typedef vector3 type; }; template< typename T0, typename T1, typename T2, typename T3 > struct vector4 : v_item< T3 , vector3< T0,T1,T2 > > { typedef vector4 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 > struct vector5 : v_item< T4 , vector4< T0,T1,T2,T3 > > { typedef vector5 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct vector6 : v_item< T5 , vector5< T0,T1,T2,T3,T4 > > { typedef vector6 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6 > struct vector7 : v_item< T6 , vector6< T0,T1,T2,T3,T4,T5 > > { typedef vector7 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7 > struct vector8 : v_item< T7 , vector7< T0,T1,T2,T3,T4,T5,T6 > > { typedef vector8 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8 > struct vector9 : v_item< T8 , vector8< T0,T1,T2,T3,T4,T5,T6,T7 > > { typedef vector9 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 > struct vector10 : v_item< T9 , vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > > { typedef vector10 type; }; }} # 50 "/usr/include/boost-1_42/boost/mpl/vector/aux_/include_preprocessed.hpp" 2 # 28 "/usr/include/boost-1_42/boost/mpl/vector/vector10.hpp" 2 # 19 "/usr/include/boost-1_42/boost/mpl/vector/vector20.hpp" 2 # 27 "/usr/include/boost-1_42/boost/mpl/vector/vector20.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/include_preprocessed.hpp" 1 # 49 "/usr/include/boost-1_42/boost/mpl/vector/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp" namespace boost { namespace mpl { template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10 > struct vector11 : v_item< T10 , vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > > { typedef vector11 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11 > struct vector12 : v_item< T11 , vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > > { typedef vector12 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12 > struct vector13 : v_item< T12 , vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > > { typedef vector13 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13 > struct vector14 : v_item< T13 , vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > > { typedef vector14 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 > struct vector15 : v_item< T14 , vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > > { typedef vector15 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15 > struct vector16 : v_item< T15 , vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 > > { typedef vector16 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15, typename T16 > struct vector17 : v_item< T16 , vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 > > { typedef vector17 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15, typename T16, typename T17 > struct vector18 : v_item< T17 , vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 > > { typedef vector18 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15, typename T16, typename T17, typename T18 > struct vector19 : v_item< T18 , vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 > > { typedef vector19 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15, typename T16, typename T17, typename T18, typename T19 > struct vector20 : v_item< T19 , vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 > > { typedef vector20 type; }; }} # 50 "/usr/include/boost-1_42/boost/mpl/vector/aux_/include_preprocessed.hpp" 2 # 28 "/usr/include/boost-1_42/boost/mpl/vector/vector20.hpp" 2 # 29 "/usr/include/boost-1_42/boost/python/detail/type_list.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/type_list.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/enum_params_with_a_default.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/enum_params_with_a_default.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_params_with_a_default.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_params_with_a_default.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/facilities/intercept.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_params_with_a_default.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_binary_params.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_params_with_a_default.hpp" 2 # 16 "/usr/include/boost-1_42/boost/preprocessor/enum_params_with_a_default.hpp" 2 # 13 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iterate.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/iterate.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/iterate.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/iteration/iterate.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/array/elem.hpp" 1 # 15 "/usr/include/boost-1_42/boost/preprocessor/array/elem.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/array/data.hpp" 1 # 16 "/usr/include/boost-1_42/boost/preprocessor/array/elem.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/array/size.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/array/elem.hpp" 2 # 18 "/usr/include/boost-1_42/boost/preprocessor/iteration/iterate.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/slot.hpp" 1 # 16 "/usr/include/boost-1_42/boost/preprocessor/slot/slot.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/def.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/slot/slot.hpp" 2 # 21 "/usr/include/boost-1_42/boost/preprocessor/iteration/iterate.hpp" 2 # 16 "/usr/include/boost-1_42/boost/preprocessor/iterate.hpp" 2 # 17 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_trailing.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_trailing.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_trailing.hpp" 2 # 18 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 2 namespace boost { namespace python { namespace detail { template < class T0 = mpl::void_ , class T1 = mpl::void_ , class T2 = mpl::void_ , class T3 = mpl::void_ , class T4 = mpl::void_ , class T5 = mpl::void_ , class T6 = mpl::void_ , class T7 = mpl::void_ , class T8 = mpl::void_ , class T9 = mpl::void_ , class T10 = mpl::void_ , class T11 = mpl::void_ , class T12 = mpl::void_ , class T13 = mpl::void_ , class T14 = mpl::void_ , class T15 = mpl::void_ , class T16 = mpl::void_ > struct type_list : mpl::vector17< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> { }; # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < > struct type_list< mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector0<> { }; # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 > struct type_list< T0 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector1< T0> { }; # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 > struct type_list< T0 , T1 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector2< T0 , T1> { }; # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 > struct type_list< T0 , T1 , T2 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector3< T0 , T1 , T2> { }; # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 > struct type_list< T0 , T1 , T2 , T3 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector4< T0 , T1 , T2 , T3> { }; # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 > struct type_list< T0 , T1 , T2 , T3 , T4 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector5< T0 , T1 , T2 , T3 , T4> { }; # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector6< T0 , T1 , T2 , T3 , T4 , T5> { }; # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector7< T0 , T1 , T2 , T3 , T4 , T5 , T6> { }; # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector8< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> { }; # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector9< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> { }; # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector10< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> { }; # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector11< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> { }; # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector12< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> { }; # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , mpl::void_ , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector13< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> { }; # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , mpl::void_ , mpl::void_ , mpl::void_ > : mpl::vector14< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> { }; # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , mpl::void_ , mpl::void_ > : mpl::vector15< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> { }; # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 1 # 41 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 > struct type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , mpl::void_ > : mpl::vector16< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> { }; # 128 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 30 "/usr/include/boost-1_42/boost/python/detail/type_list_impl.hpp" 2 }}} # 35 "/usr/include/boost-1_42/boost/python/detail/type_list.hpp" 2 # 14 "/usr/include/boost-1_42/boost/python/args.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/remove_reference.hpp" 1 # 21 "/usr/include/boost-1_42/boost/type_traits/remove_reference.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/remove_reference.hpp" 2 namespace boost { template< typename T > struct remove_reference { typedef T type; }; template< typename T > struct remove_reference { typedef T type; }; # 46 "/usr/include/boost-1_42/boost/type_traits/remove_reference.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 49 "/usr/include/boost-1_42/boost/type_traits/remove_reference.hpp" 2 # 17 "/usr/include/boost-1_42/boost/python/args.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/local.hpp" 1 # 23 "/usr/include/boost-1_42/boost/python/args.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/mpl_lambda.hpp" 1 # 25 "/usr/include/boost-1_42/boost/python/args.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_core.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/object_core.hpp" # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/call.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/ptr.hpp" 1 # 21 "/usr/include/boost-1_42/boost/python/ptr.hpp" namespace boost { namespace python { template class pointer_wrapper { public: typedef Ptr type; explicit pointer_wrapper(Ptr x): p_(x) {} operator Ptr() const { return p_; } Ptr get() const { return p_; } private: Ptr p_; }; template inline pointer_wrapper ptr(T t) { return pointer_wrapper(t); } template class is_pointer_wrapper : public mpl::false_ { }; template class is_pointer_wrapper > : public mpl::true_ { }; template class unwrap_pointer { public: typedef T type; }; template class unwrap_pointer > { public: typedef T type; }; # 126 "/usr/include/boost-1_42/boost/python/ptr.hpp" }} # 9 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/to_python_indirect.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/to_python_indirect.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" # 1 "/usr/include/boost-1_42/boost/python/instance_holder.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/instance_holder.hpp" # 1 "/usr/include/boost-1_42/boost/utility.hpp" 1 # 13 "/usr/include/boost-1_42/boost/utility.hpp" # 1 "/usr/include/boost-1_42/boost/utility/base_from_member.hpp" 1 # 16 "/usr/include/boost-1_42/boost/utility/base_from_member.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/repeat_from_to.hpp" 1 # 23 "/usr/include/boost-1_42/boost/preprocessor/repetition/repeat_from_to.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/repetition/repeat_from_to.hpp" 2 # 17 "/usr/include/boost-1_42/boost/utility/base_from_member.hpp" 2 # 53 "/usr/include/boost-1_42/boost/utility/base_from_member.hpp" namespace boost { # 65 "/usr/include/boost-1_42/boost/utility/base_from_member.hpp" template < typename MemberType, int UniqueID = 0 > class base_from_member { protected: MemberType member; base_from_member() : member() {} template < typename T0 > explicit base_from_member( T0 x0 ) : member( x0 ) {} template < typename T0 , typename T1 > explicit base_from_member( T0 x0 , T1 x1 ) : member( x0 , x1 ) {} template < typename T0 , typename T1 , typename T2 > explicit base_from_member( T0 x0 , T1 x1 , T2 x2 ) : member( x0 , x1 , x2 ) {} template < typename T0 , typename T1 , typename T2 , typename T3 > explicit base_from_member( T0 x0 , T1 x1 , T2 x2 , T3 x3 ) : member( x0 , x1 , x2 , x3 ) {} template < typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > explicit base_from_member( T0 x0 , T1 x1 , T2 x2 , T3 x3 , T4 x4 ) : member( x0 , x1 , x2 , x3 , x4 ) {} template < typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > explicit base_from_member( T0 x0 , T1 x1 , T2 x2 , T3 x3 , T4 x4 , T5 x5 ) : member( x0 , x1 , x2 , x3 , x4 , x5 ) {} template < typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > explicit base_from_member( T0 x0 , T1 x1 , T2 x2 , T3 x3 , T4 x4 , T5 x5 , T6 x6 ) : member( x0 , x1 , x2 , x3 , x4 , x5 , x6 ) {} template < typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > explicit base_from_member( T0 x0 , T1 x1 , T2 x2 , T3 x3 , T4 x4 , T5 x5 , T6 x6 , T7 x7 ) : member( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 ) {} template < typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > explicit base_from_member( T0 x0 , T1 x1 , T2 x2 , T3 x3 , T4 x4 , T5 x5 , T6 x6 , T7 x7 , T8 x8 ) : member( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 ) {} template < typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > explicit base_from_member( T0 x0 , T1 x1 , T2 x2 , T3 x3 , T4 x4 , T5 x5 , T6 x6 , T7 x7 , T8 x8 , T9 x9 ) : member( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 ) {} }; } # 14 "/usr/include/boost-1_42/boost/utility.hpp" 2 # 1 "/usr/include/boost-1_42/boost/utility/binary.hpp" 1 # 26 "/usr/include/boost-1_42/boost/utility/binary.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/control/deduce_d.hpp" 1 # 16 "/usr/include/boost-1_42/boost/preprocessor/control/deduce_d.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/control/deduce_d.hpp" 2 # 27 "/usr/include/boost-1_42/boost/utility/binary.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/seq/cat.hpp" 1 # 18 "/usr/include/boost-1_42/boost/preprocessor/seq/cat.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/seq/fold_left.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/seq/fold_left.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/seq/fold_left.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/seq/seq.hpp" 1 # 16 "/usr/include/boost-1_42/boost/preprocessor/seq/seq.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/seq/elem.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/seq/seq.hpp" 2 # 21 "/usr/include/boost-1_42/boost/preprocessor/seq/fold_left.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/seq/size.hpp" 1 # 22 "/usr/include/boost-1_42/boost/preprocessor/seq/fold_left.hpp" 2 # 19 "/usr/include/boost-1_42/boost/preprocessor/seq/cat.hpp" 2 # 30 "/usr/include/boost-1_42/boost/utility/binary.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/seq/transform.hpp" 1 # 31 "/usr/include/boost-1_42/boost/utility/binary.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/mod.hpp" 1 # 17 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/mod.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/detail/div_base.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/detail/div_base.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/comparison/less_equal.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/comparison/less_equal.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/logical/not.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/comparison/less_equal.hpp" 2 # 20 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/detail/div_base.hpp" 2 # 18 "/usr/include/boost-1_42/boost/preprocessor/arithmetic/mod.hpp" 2 # 32 "/usr/include/boost-1_42/boost/utility/binary.hpp" 2 # 15 "/usr/include/boost-1_42/boost/utility.hpp" 2 # 1 "/usr/include/boost-1_42/boost/checked_delete.hpp" 1 # 24 "/usr/include/boost-1_42/boost/checked_delete.hpp" namespace boost { template inline void checked_delete(T * x) { typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; (void) sizeof(type_must_be_complete); delete x; } template inline void checked_array_delete(T * x) { typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; (void) sizeof(type_must_be_complete); delete [] x; } template struct checked_deleter { typedef void result_type; typedef T * argument_type; void operator()(T * x) const { boost::checked_delete(x); } }; template struct checked_array_deleter { typedef void result_type; typedef T * argument_type; void operator()(T * x) const { boost::checked_array_delete(x); } }; } # 17 "/usr/include/boost-1_42/boost/utility.hpp" 2 # 1 "/usr/include/boost-1_42/boost/next_prior.hpp" 1 # 17 "/usr/include/boost-1_42/boost/next_prior.hpp" namespace boost { # 29 "/usr/include/boost-1_42/boost/next_prior.hpp" template inline T next(T x) { return ++x; } template inline T next(T x, Distance n) { std::advance(x, n); return x; } template inline T prior(T x) { return --x; } template inline T prior(T x, Distance n) { std::advance(x, -n); return x; } } # 18 "/usr/include/boost-1_42/boost/utility.hpp" 2 # 1 "/usr/include/boost-1_42/boost/noncopyable.hpp" 1 # 12 "/usr/include/boost-1_42/boost/noncopyable.hpp" namespace boost { namespace noncopyable_ { class noncopyable { protected: noncopyable() {} ~noncopyable() {} private: noncopyable( const noncopyable& ); const noncopyable& operator=( const noncopyable& ); }; } typedef noncopyable_::noncopyable noncopyable; } # 19 "/usr/include/boost-1_42/boost/utility.hpp" 2 # 11 "/usr/include/boost-1_42/boost/python/instance_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/type_id.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/type_id.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/msvc_typeinfo.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/type_id.hpp" 2 # 1 "/usr/include/boost-1_42/boost/operators.hpp" 1 # 84 "/usr/include/boost-1_42/boost/operators.hpp" # 1 "/usr/include/boost-1_42/boost/iterator.hpp" 1 # 18 "/usr/include/boost-1_42/boost/iterator.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 19 "/usr/include/boost-1_42/boost/iterator.hpp" 2 namespace boost { # 39 "/usr/include/boost-1_42/boost/iterator.hpp" namespace detail { template struct iterator_base : std::iterator {}; # 51 "/usr/include/boost-1_42/boost/iterator.hpp" } template struct iterator : boost::detail::iterator_base {}; } # 85 "/usr/include/boost-1_42/boost/operators.hpp" 2 # 95 "/usr/include/boost-1_42/boost/operators.hpp" namespace boost { namespace detail { template class empty_base { }; } } # 118 "/usr/include/boost-1_42/boost/operators.hpp" namespace boost { template > struct less_than_comparable2 : B { friend bool operator<=(const T& x, const U& y) { return !static_cast(x > y); } friend bool operator>=(const T& x, const U& y) { return !static_cast(x < y); } friend bool operator>(const U& x, const T& y) { return y < x; } friend bool operator<(const U& x, const T& y) { return y > x; } friend bool operator<=(const U& x, const T& y) { return !static_cast(y < x); } friend bool operator>=(const U& x, const T& y) { return !static_cast(y > x); } }; template > struct less_than_comparable1 : B { friend bool operator>(const T& x, const T& y) { return y < x; } friend bool operator<=(const T& x, const T& y) { return !static_cast(y < x); } friend bool operator>=(const T& x, const T& y) { return !static_cast(x < y); } }; template > struct equality_comparable2 : B { friend bool operator==(const U& y, const T& x) { return x == y; } friend bool operator!=(const U& y, const T& x) { return !static_cast(x == y); } friend bool operator!=(const T& y, const U& x) { return !static_cast(y == x); } }; template > struct equality_comparable1 : B { friend bool operator!=(const T& x, const T& y) { return !static_cast(x == y); } }; # 254 "/usr/include/boost-1_42/boost/operators.hpp" template > struct multipliable2 : B { friend T operator *( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv *= rhs; return nrv; } friend T operator *( const U& lhs, const T& rhs ) { T nrv( rhs ); nrv *= lhs; return nrv; } }; template > struct multipliable1 : B { friend T operator *( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv *= rhs; return nrv; } }; template > struct addable2 : B { friend T operator +( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv += rhs; return nrv; } friend T operator +( const U& lhs, const T& rhs ) { T nrv( rhs ); nrv += lhs; return nrv; } }; template > struct addable1 : B { friend T operator +( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv += rhs; return nrv; } }; template > struct subtractable2 : B { friend T operator -( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv -= rhs; return nrv; } }; template > struct subtractable2_left : B { friend T operator -( const U& lhs, const T& rhs ) { T nrv( lhs ); nrv -= rhs; return nrv; } }; template > struct subtractable1 : B { friend T operator -( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv -= rhs; return nrv; } }; template > struct dividable2 : B { friend T operator /( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv /= rhs; return nrv; } }; template > struct dividable2_left : B { friend T operator /( const U& lhs, const T& rhs ) { T nrv( lhs ); nrv /= rhs; return nrv; } }; template > struct dividable1 : B { friend T operator /( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv /= rhs; return nrv; } }; template > struct modable2 : B { friend T operator %( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv %= rhs; return nrv; } }; template > struct modable2_left : B { friend T operator %( const U& lhs, const T& rhs ) { T nrv( lhs ); nrv %= rhs; return nrv; } }; template > struct modable1 : B { friend T operator %( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv %= rhs; return nrv; } }; template > struct xorable2 : B { friend T operator ^( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv ^= rhs; return nrv; } friend T operator ^( const U& lhs, const T& rhs ) { T nrv( rhs ); nrv ^= lhs; return nrv; } }; template > struct xorable1 : B { friend T operator ^( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv ^= rhs; return nrv; } }; template > struct andable2 : B { friend T operator &( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv &= rhs; return nrv; } friend T operator &( const U& lhs, const T& rhs ) { T nrv( rhs ); nrv &= lhs; return nrv; } }; template > struct andable1 : B { friend T operator &( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv &= rhs; return nrv; } }; template > struct orable2 : B { friend T operator |( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv |= rhs; return nrv; } friend T operator |( const U& lhs, const T& rhs ) { T nrv( rhs ); nrv |= lhs; return nrv; } }; template > struct orable1 : B { friend T operator |( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv |= rhs; return nrv; } }; template > struct incrementable : B { friend T operator++(T& x, int) { incrementable_type nrv(x); ++x; return nrv; } private: typedef T incrementable_type; }; template > struct decrementable : B { friend T operator--(T& x, int) { decrementable_type nrv(x); --x; return nrv; } private: typedef T decrementable_type; }; template > struct dereferenceable : B { P operator->() const { return &*static_cast(*this); } }; template > struct indexable : B { R operator[](I n) const { return *(static_cast(*this) + n); } }; # 352 "/usr/include/boost-1_42/boost/operators.hpp" template > struct left_shiftable2 : B { friend T operator <<( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv <<= rhs; return nrv; } }; template > struct left_shiftable1 : B { friend T operator <<( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv <<= rhs; return nrv; } }; template > struct right_shiftable2 : B { friend T operator >>( const T& lhs, const U& rhs ) { T nrv( lhs ); nrv >>= rhs; return nrv; } }; template > struct right_shiftable1 : B { friend T operator >>( const T& lhs, const T& rhs ) { T nrv( lhs ); nrv >>= rhs; return nrv; } }; template > struct equivalent2 : B { friend bool operator==(const T& x, const U& y) { return !static_cast(x < y) && !static_cast(x > y); } }; template > struct equivalent1 : B { friend bool operator==(const T&x, const T&y) { return !static_cast(x < y) && !static_cast(y < x); } }; template > struct partially_ordered2 : B { friend bool operator<=(const T& x, const U& y) { return static_cast(x < y) || static_cast(x == y); } friend bool operator>=(const T& x, const U& y) { return static_cast(x > y) || static_cast(x == y); } friend bool operator>(const U& x, const T& y) { return y < x; } friend bool operator<(const U& x, const T& y) { return y > x; } friend bool operator<=(const U& x, const T& y) { return static_cast(y > x) || static_cast(y == x); } friend bool operator>=(const U& x, const T& y) { return static_cast(y < x) || static_cast(y == x); } }; template > struct partially_ordered1 : B { friend bool operator>(const T& x, const T& y) { return y < x; } friend bool operator<=(const T& x, const T& y) { return static_cast(x < y) || static_cast(x == y); } friend bool operator>=(const T& x, const T& y) { return static_cast(y < x) || static_cast(x == y); } }; template > struct totally_ordered2 : less_than_comparable2 > {}; template > struct totally_ordered1 : less_than_comparable1 > {}; template > struct additive2 : addable2 > {}; template > struct additive1 : addable1 > {}; template > struct multiplicative2 : multipliable2 > {}; template > struct multiplicative1 : multipliable1 > {}; template > struct integer_multiplicative2 : multiplicative2 > {}; template > struct integer_multiplicative1 : multiplicative1 > {}; template > struct arithmetic2 : additive2 > {}; template > struct arithmetic1 : additive1 > {}; template > struct integer_arithmetic2 : additive2 > {}; template > struct integer_arithmetic1 : additive1 > {}; template > struct bitwise2 : xorable2 > > {}; template > struct bitwise1 : xorable1 > > {}; template > struct unit_steppable : incrementable > {}; template > struct shiftable2 : left_shiftable2 > {}; template > struct shiftable1 : left_shiftable1 > {}; template > struct ring_operators2 : additive2 > > {}; template > struct ring_operators1 : additive1 > {}; template > struct ordered_ring_operators2 : ring_operators2 > {}; template > struct ordered_ring_operators1 : ring_operators1 > {}; template > struct field_operators2 : ring_operators2 > > {}; template > struct field_operators1 : ring_operators1 > {}; template > struct ordered_field_operators2 : field_operators2 > {}; template > struct ordered_field_operators1 : field_operators1 > {}; template > struct euclidian_ring_operators2 : ring_operators2 > > > > {}; template > struct euclidian_ring_operators1 : ring_operators1 > > {}; template > struct ordered_euclidian_ring_operators2 : totally_ordered2 > {}; template > struct ordered_euclidian_ring_operators1 : totally_ordered1 > {}; template > struct euclidean_ring_operators2 : ring_operators2 > > > > {}; template > struct euclidean_ring_operators1 : ring_operators1 > > {}; template > struct ordered_euclidean_ring_operators2 : totally_ordered2 > {}; template > struct ordered_euclidean_ring_operators1 : totally_ordered1 > {}; template > struct input_iteratable : equality_comparable1 > > {}; template > struct output_iteratable : incrementable {}; template > struct forward_iteratable : input_iteratable {}; template > struct bidirectional_iteratable : forward_iteratable > {}; template > struct random_access_iteratable : bidirectional_iteratable > > > {}; } # 718 "/usr/include/boost-1_42/boost/operators.hpp" namespace boost { namespace detail { struct true_t {}; struct false_t {}; } template struct is_chained_base { typedef ::boost::detail::false_t value; }; } # 829 "/usr/include/boost-1_42/boost/operators.hpp" namespace boost { template ,class O = typename is_chained_base::value > struct less_than_comparable : less_than_comparable2 {}; template struct less_than_comparable : less_than_comparable1 {}; template struct less_than_comparable : less_than_comparable1 {}; template struct is_chained_base< ::boost::less_than_comparable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::less_than_comparable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::less_than_comparable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct equality_comparable : equality_comparable2 {}; template struct equality_comparable : equality_comparable1 {}; template struct equality_comparable : equality_comparable1 {}; template struct is_chained_base< ::boost::equality_comparable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::equality_comparable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::equality_comparable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct multipliable : multipliable2 {}; template struct multipliable : multipliable1 {}; template struct multipliable : multipliable1 {}; template struct is_chained_base< ::boost::multipliable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::multipliable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::multipliable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct addable : addable2 {}; template struct addable : addable1 {}; template struct addable : addable1 {}; template struct is_chained_base< ::boost::addable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::addable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::addable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct subtractable : subtractable2 {}; template struct subtractable : subtractable1 {}; template struct subtractable : subtractable1 {}; template struct is_chained_base< ::boost::subtractable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::subtractable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::subtractable1 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::subtractable2_left > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct dividable : dividable2 {}; template struct dividable : dividable1 {}; template struct dividable : dividable1 {}; template struct is_chained_base< ::boost::dividable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::dividable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::dividable1 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::dividable2_left > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct modable : modable2 {}; template struct modable : modable1 {}; template struct modable : modable1 {}; template struct is_chained_base< ::boost::modable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::modable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::modable1 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::modable2_left > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct xorable : xorable2 {}; template struct xorable : xorable1 {}; template struct xorable : xorable1 {}; template struct is_chained_base< ::boost::xorable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::xorable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::xorable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct andable : andable2 {}; template struct andable : andable1 {}; template struct andable : andable1 {}; template struct is_chained_base< ::boost::andable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::andable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::andable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct orable : orable2 {}; template struct orable : orable1 {}; template struct orable : orable1 {}; template struct is_chained_base< ::boost::orable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::orable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::orable1 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::incrementable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::decrementable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::dereferenceable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::indexable > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct left_shiftable : left_shiftable2 {}; template struct left_shiftable : left_shiftable1 {}; template struct left_shiftable : left_shiftable1 {}; template struct is_chained_base< ::boost::left_shiftable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::left_shiftable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::left_shiftable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct right_shiftable : right_shiftable2 {}; template struct right_shiftable : right_shiftable1 {}; template struct right_shiftable : right_shiftable1 {}; template struct is_chained_base< ::boost::right_shiftable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::right_shiftable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::right_shiftable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct equivalent : equivalent2 {}; template struct equivalent : equivalent1 {}; template struct equivalent : equivalent1 {}; template struct is_chained_base< ::boost::equivalent > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::equivalent2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::equivalent1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct partially_ordered : partially_ordered2 {}; template struct partially_ordered : partially_ordered1 {}; template struct partially_ordered : partially_ordered1 {}; template struct is_chained_base< ::boost::partially_ordered > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::partially_ordered2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::partially_ordered1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct totally_ordered : totally_ordered2 {}; template struct totally_ordered : totally_ordered1 {}; template struct totally_ordered : totally_ordered1 {}; template struct is_chained_base< ::boost::totally_ordered > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::totally_ordered2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::totally_ordered1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct additive : additive2 {}; template struct additive : additive1 {}; template struct additive : additive1 {}; template struct is_chained_base< ::boost::additive > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::additive2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::additive1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct multiplicative : multiplicative2 {}; template struct multiplicative : multiplicative1 {}; template struct multiplicative : multiplicative1 {}; template struct is_chained_base< ::boost::multiplicative > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::multiplicative2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::multiplicative1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct integer_multiplicative : integer_multiplicative2 {}; template struct integer_multiplicative : integer_multiplicative1 {}; template struct integer_multiplicative : integer_multiplicative1 {}; template struct is_chained_base< ::boost::integer_multiplicative > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::integer_multiplicative2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::integer_multiplicative1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct arithmetic : arithmetic2 {}; template struct arithmetic : arithmetic1 {}; template struct arithmetic : arithmetic1 {}; template struct is_chained_base< ::boost::arithmetic > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::arithmetic2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::arithmetic1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct integer_arithmetic : integer_arithmetic2 {}; template struct integer_arithmetic : integer_arithmetic1 {}; template struct integer_arithmetic : integer_arithmetic1 {}; template struct is_chained_base< ::boost::integer_arithmetic > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::integer_arithmetic2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::integer_arithmetic1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct bitwise : bitwise2 {}; template struct bitwise : bitwise1 {}; template struct bitwise : bitwise1 {}; template struct is_chained_base< ::boost::bitwise > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::bitwise2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::bitwise1 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::unit_steppable > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct shiftable : shiftable2 {}; template struct shiftable : shiftable1 {}; template struct shiftable : shiftable1 {}; template struct is_chained_base< ::boost::shiftable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::shiftable2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::shiftable1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct ring_operators : ring_operators2 {}; template struct ring_operators : ring_operators1 {}; template struct ring_operators : ring_operators1 {}; template struct is_chained_base< ::boost::ring_operators > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ring_operators2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ring_operators1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct ordered_ring_operators : ordered_ring_operators2 {}; template struct ordered_ring_operators : ordered_ring_operators1 {}; template struct ordered_ring_operators : ordered_ring_operators1 {}; template struct is_chained_base< ::boost::ordered_ring_operators > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ordered_ring_operators2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ordered_ring_operators1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct field_operators : field_operators2 {}; template struct field_operators : field_operators1 {}; template struct field_operators : field_operators1 {}; template struct is_chained_base< ::boost::field_operators > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::field_operators2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::field_operators1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct ordered_field_operators : ordered_field_operators2 {}; template struct ordered_field_operators : ordered_field_operators1 {}; template struct ordered_field_operators : ordered_field_operators1 {}; template struct is_chained_base< ::boost::ordered_field_operators > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ordered_field_operators2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ordered_field_operators1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct euclidian_ring_operators : euclidian_ring_operators2 {}; template struct euclidian_ring_operators : euclidian_ring_operators1 {}; template struct euclidian_ring_operators : euclidian_ring_operators1 {}; template struct is_chained_base< ::boost::euclidian_ring_operators > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::euclidian_ring_operators2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::euclidian_ring_operators1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct ordered_euclidian_ring_operators : ordered_euclidian_ring_operators2 {}; template struct ordered_euclidian_ring_operators : ordered_euclidian_ring_operators1 {}; template struct ordered_euclidian_ring_operators : ordered_euclidian_ring_operators1 {}; template struct is_chained_base< ::boost::ordered_euclidian_ring_operators > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ordered_euclidian_ring_operators2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ordered_euclidian_ring_operators1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct euclidean_ring_operators : euclidean_ring_operators2 {}; template struct euclidean_ring_operators : euclidean_ring_operators1 {}; template struct euclidean_ring_operators : euclidean_ring_operators1 {}; template struct is_chained_base< ::boost::euclidean_ring_operators > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::euclidean_ring_operators2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::euclidean_ring_operators1 > { typedef ::boost::detail::true_t value; }; template ,class O = typename is_chained_base::value > struct ordered_euclidean_ring_operators : ordered_euclidean_ring_operators2 {}; template struct ordered_euclidean_ring_operators : ordered_euclidean_ring_operators1 {}; template struct ordered_euclidean_ring_operators : ordered_euclidean_ring_operators1 {}; template struct is_chained_base< ::boost::ordered_euclidean_ring_operators > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ordered_euclidean_ring_operators2 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::ordered_euclidean_ring_operators1 > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::input_iteratable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::output_iteratable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::forward_iteratable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::bidirectional_iteratable > { typedef ::boost::detail::true_t value; }; template struct is_chained_base< ::boost::random_access_iteratable > { typedef ::boost::detail::true_t value; }; # 891 "/usr/include/boost-1_42/boost/operators.hpp" template struct operators2 : totally_ordered2 > > {}; template struct operators : operators2 {}; template struct operators : totally_ordered > > > {}; template struct input_iterator_helper : input_iteratable > {}; template struct output_iterator_helper : output_iteratable > { T& operator*() { return static_cast(*this); } T& operator++() { return static_cast(*this); } }; template struct forward_iterator_helper : forward_iteratable > {}; template struct bidirectional_iterator_helper : bidirectional_iteratable > {}; template struct random_access_iterator_helper : random_access_iteratable > { friend D requires_difference_operator(const T& x, const T& y) { return x - y; } }; } # 12 "/usr/include/boost-1_42/boost/python/type_id.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 2 3 # 14 "/usr/include/boost-1_42/boost/python/type_id.hpp" 2 # 1 "/usr/include/boost-1_42/boost/static_assert.hpp" 1 # 45 "/usr/include/boost-1_42/boost/static_assert.hpp" namespace boost{ template struct STATIC_ASSERTION_FAILURE; template <> struct STATIC_ASSERTION_FAILURE { enum { value = 1 }; }; template struct static_assert_test{}; } # 16 "/usr/include/boost-1_42/boost/python/type_id.hpp" 2 # 28 "/usr/include/boost-1_42/boost/python/type_id.hpp" namespace boost { namespace python { # 44 "/usr/include/boost-1_42/boost/python/type_id.hpp" bool cxxabi_cxa_demangle_is_broken(); struct type_info : private totally_ordered { inline type_info(std::type_info const& = typeid(void)); inline bool operator<(type_info const& rhs) const; inline bool operator==(type_info const& rhs) const; char const* name() const; friend std::ostream& operator<<( std::ostream&, type_info const&); private: typedef char const* base_id_t; base_id_t m_base_type; }; template inline type_info type_id() { return type_info( typeid(T) ); } # 119 "/usr/include/boost-1_42/boost/python/type_id.hpp" inline type_info::type_info(std::type_info const& id) : m_base_type( id.name() ) { } inline bool type_info::operator<(type_info const& rhs) const { return std::strcmp(m_base_type, rhs.m_base_type) < 0; } inline bool type_info::operator==(type_info const& rhs) const { return !std::strcmp(m_base_type, rhs.m_base_type); } namespace detail { char const* gcc_demangle(char const*); } inline char const* type_info::name() const { char const* raw_name = m_base_type ; return detail::gcc_demangle(raw_name); } std::ostream& operator<<(std::ostream&, type_info const&); template<> inline type_info type_id() { return type_info (typeid (void *)); } template<> inline type_info type_id() { return type_info (typeid (void *)); } }} # 12 "/usr/include/boost-1_42/boost/python/instance_holder.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 13 "/usr/include/boost-1_42/boost/python/instance_holder.hpp" 2 namespace boost { namespace python { struct instance_holder : private noncopyable { public: instance_holder(); virtual ~instance_holder(); instance_holder* next() const; virtual void* holds(type_info, bool null_ptr_only) = 0; void install(PyObject* inst) throw(); static void* allocate(PyObject*, std::size_t offset, std::size_t size); static void deallocate(PyObject*, void* storage) throw(); private: instance_holder* m_next; }; inline instance_holder* instance_holder::next() const { return m_next; } }} # 15 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/inheritance_query.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/object/inheritance_query.hpp" namespace boost { namespace python { namespace objects { void* find_static_type(void* p, type_info src, type_info dst); void* find_dynamic_type(void* p, type_info src, type_info dst); }}} # 16 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/forward.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object/forward.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/value_arg.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/copy_ctor_mutates_rhs.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/is_auto_ptr.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/detail/is_auto_ptr.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/is_xxx.hpp" 1 # 1 "/usr/include/boost-1_42/boost/detail/is_xxx.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/detail/is_xxx.hpp" 2 # 10 "/usr/include/boost-1_42/boost/python/detail/is_auto_ptr.hpp" 2 namespace boost { namespace python { namespace detail { template struct is_auto_ptr : mpl::false_ { }; template < class T0 > struct is_auto_ptr< std::auto_ptr< T0 > > : mpl::true_ { }; # 28 "/usr/include/boost-1_42/boost/python/detail/is_auto_ptr.hpp" }}} # 9 "/usr/include/boost-1_42/boost/python/detail/copy_ctor_mutates_rhs.hpp" 2 namespace boost { namespace python { namespace detail { template struct copy_ctor_mutates_rhs : is_auto_ptr { }; }}} # 8 "/usr/include/boost-1_42/boost/python/detail/value_arg.hpp" 2 namespace boost { namespace python { namespace detail { template struct value_arg : mpl::if_< copy_ctor_mutates_rhs , T , typename add_reference< typename add_const::type >::type > {}; }}} # 14 "/usr/include/boost-1_42/boost/python/object/forward.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/or.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/or.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/nested_type_wknd.hpp" 1 # 25 "/usr/include/boost-1_42/boost/mpl/aux_/nested_type_wknd.hpp" namespace boost { namespace mpl { namespace aux { template< typename T > struct nested_type_wknd : T::type { }; }}} # 24 "/usr/include/boost-1_42/boost/mpl/or.hpp" 2 # 43 "/usr/include/boost-1_42/boost/mpl/or.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/or.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/or.hpp" namespace boost { namespace mpl { namespace aux { template< bool C_, typename T1, typename T2, typename T3, typename T4 > struct or_impl : true_ { }; template< typename T1, typename T2, typename T3, typename T4 > struct or_impl< false,T1,T2,T3,T4 > : or_impl< ::boost::mpl::aux::nested_type_wknd::value , T2, T3, T4 , false_ > { }; template<> struct or_impl< false , false_, false_, false_, false_ > : false_ { }; } template< typename T1 = na , typename T2 = na , typename T3 = false_, typename T4 = false_, typename T5 = false_ > struct or_ : aux::or_impl< ::boost::mpl::aux::nested_type_wknd::value , T2, T3, T4, T5 > { }; template<> struct or_< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : or_< T1 , T2 > { }; }; template< typename Tag > struct lambda< or_< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef or_< na , na > result_; typedef or_< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< or_< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< or_< na , na > > : int_<-1> { }; } }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 44 "/usr/include/boost-1_42/boost/mpl/or.hpp" 2 # 21 "/usr/include/boost-1_42/boost/python/object/forward.hpp" 2 namespace boost { namespace python { namespace objects { template struct reference_to_value { typedef typename add_reference::type>::type reference; reference_to_value(reference x) : m_value(x) {} reference get() const { return m_value; } private: reference m_value; }; template struct forward : mpl::if_< # 54 "/usr/include/boost-1_42/boost/python/object/forward.hpp" mpl::or_, is_scalar > , T , reference_to_value > { }; template struct unforward { typedef typename unwrap_reference::type& type; }; template struct unforward > { typedef T type; }; template struct unforward_cref : python::detail::value_arg< typename unwrap_reference::type > { }; template struct unforward_cref > : add_reference::type> { }; # 172 "/usr/include/boost-1_42/boost/python/object/forward.hpp" template typename reference_to_value::reference do_unforward(reference_to_value const& x, int) { return x.get(); } template typename reference_wrapper::type& do_unforward(reference_wrapper const& x, int) { return x.get(); } template T const& do_unforward(T const& x, ...) { return x; } }}} # 17 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/pointee.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/pointee.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/remove_pointer.hpp" 1 # 21 "/usr/include/boost-1_42/boost/type_traits/remove_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/remove_pointer.hpp" 2 namespace boost { template< typename T > struct remove_pointer { typedef T type; }; template< typename T > struct remove_pointer { typedef T type; }; template< typename T > struct remove_pointer { typedef T type; }; template< typename T > struct remove_pointer { typedef T type; }; template< typename T > struct remove_pointer { typedef T type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 42 "/usr/include/boost-1_42/boost/type_traits/remove_pointer.hpp" 2 # 12 "/usr/include/boost-1_42/boost/python/pointee.hpp" 2 namespace boost { namespace python { namespace detail { template struct pointee_impl { template struct apply : remove_pointer {}; }; template <> struct pointee_impl { template struct apply { typedef typename T::element_type type; }; }; } template struct pointee : detail::pointee_impl< ::boost::is_pointer::value >::template apply { }; }} # 19 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/wrapper_base.hpp" 1 # 1 "/usr/include/boost-1_42/boost/type_traits/is_polymorphic.hpp" 1 # 17 "/usr/include/boost-1_42/boost/type_traits/is_polymorphic.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/is_polymorphic.hpp" 2 namespace boost{ # 106 "/usr/include/boost-1_42/boost/type_traits/is_polymorphic.hpp" template< typename T > struct is_polymorphic : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 113 "/usr/include/boost-1_42/boost/type_traits/is_polymorphic.hpp" 2 # 9 "/usr/include/boost-1_42/boost/python/detail/wrapper_base.hpp" 2 namespace boost { namespace python { class override; namespace detail { class wrapper_base; namespace wrapper_base_ { inline PyObject* get_owner(wrapper_base const volatile& w); inline PyObject* owner_impl(void const volatile* , mpl::false_) { return 0; } template inline PyObject* owner_impl(T const volatile* x, mpl::true_); template inline PyObject* owner(T const volatile* x) { return wrapper_base_::owner_impl(x,is_polymorphic()); } } class wrapper_base { friend void initialize_wrapper(PyObject* self, wrapper_base* w); friend PyObject* wrapper_base_::get_owner(wrapper_base const volatile& w); protected: wrapper_base() : m_self(0) {} override get_override( char const* name, PyTypeObject* class_object) const; private: void detach(); private: PyObject* m_self; }; namespace wrapper_base_ { template inline PyObject* owner_impl(T const volatile* x, mpl::true_) { if (wrapper_base const volatile* w = dynamic_cast(x)) { return wrapper_base_::get_owner(*w); } return 0; } inline PyObject* get_owner(wrapper_base const volatile& w) { return w.m_self; } } inline void initialize_wrapper(PyObject* self, wrapper_base* w) { w->m_self = self; } inline void initialize_wrapper(PyObject* , ...) {} } }} # 22 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/force_instantiate.hpp" 1 namespace boost { namespace python { namespace detail { template inline void force_instantiate(T const&) {} # 30 "/usr/include/boost-1_42/boost/python/detail/force_instantiate.hpp" }}} # 23 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/apply.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply_fwd.hpp" 1 # 31 "/usr/include/boost-1_42/boost/mpl/apply_fwd.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp" namespace boost { namespace mpl { template< typename F, typename T1 = na, typename T2 = na, typename T3 = na , typename T4 = na, typename T5 = na > struct apply; template< typename F > struct apply0; template< typename F, typename T1 > struct apply1; template< typename F, typename T1, typename T2 > struct apply2; template< typename F, typename T1, typename T2, typename T3 > struct apply3; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct apply4; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct apply5; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 32 "/usr/include/boost-1_42/boost/mpl/apply_fwd.hpp" 2 # 23 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/placeholders.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/placeholders.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/arg.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/arg.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/arg_fwd.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/arg_fwd.hpp" namespace mpl_ { template< int N > struct arg; } namespace boost { namespace mpl { using ::mpl_::arg; } } # 24 "/usr/include/boost-1_42/boost/mpl/arg.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/na_assert.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/na_assert.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/assert.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/assert.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/not.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/not.hpp" namespace boost { namespace mpl { namespace aux { template< long C_ > struct not_impl : bool_ { }; } template< typename T = na > struct not_ : aux::not_impl< ::boost::mpl::aux::nested_type_wknd::value > { }; template<> struct not_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : not_< T1 > { }; }; template< typename Tag > struct lambda< not_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef not_< na > result_; typedef not_< na > type; }; namespace aux { template< typename T1 > struct template_arity< not_< T1 > > : int_<1> { }; template<> struct template_arity< not_< na > > : int_<-1> { }; } }} # 18 "/usr/include/boost-1_42/boost/mpl/assert.hpp" 2 # 29 "/usr/include/boost-1_42/boost/mpl/assert.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/pp_counter.hpp" 1 # 30 "/usr/include/boost-1_42/boost/mpl/assert.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 36 "/usr/include/boost-1_42/boost/mpl/assert.hpp" 2 # 62 "/usr/include/boost-1_42/boost/mpl/assert.hpp" namespace mpl_ { struct failed {}; # 75 "/usr/include/boost-1_42/boost/mpl/assert.hpp" template< bool C > struct assert { typedef void* type; }; template<> struct assert { typedef assert type; }; template< bool C > int assertion_failed( typename assert::type ); template< bool C > struct assertion { static int failed( assert ); }; template<> struct assertion { static int failed( void* ); }; struct assert_ { template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {}; static assert_ const arg; enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal }; }; # 123 "/usr/include/boost-1_42/boost/mpl/assert.hpp" boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ ); boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ ); boost::mpl::aux::weighted_tag<3>::type operator>( assert_, assert_ ); boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ ); boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ ); boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ ); template< assert_::relations r, long x, long y > struct assert_relation {}; template< bool > struct assert_arg_pred_impl { typedef int type; }; template<> struct assert_arg_pred_impl { typedef void* type; }; template< typename P > struct assert_arg_pred { typedef typename P::type p_type; typedef typename assert_arg_pred_impl< p_type::value >::type type; }; template< typename P > struct assert_arg_pred_not { typedef typename P::type p_type; enum { p = !p_type::value }; typedef typename assert_arg_pred_impl

::type type; }; template< typename Pred > failed ************ (Pred::************ assert_arg( void (*)(Pred), typename assert_arg_pred::type ) ); template< typename Pred > failed ************ (boost::mpl::not_::************ assert_not_arg( void (*)(Pred), typename assert_arg_pred_not::type ) ); template< typename Pred > assert assert_arg( void (*)(Pred), typename assert_arg_pred_not::type ); template< typename Pred > assert assert_not_arg( void (*)(Pred), typename assert_arg_pred::type ); # 212 "/usr/include/boost-1_42/boost/mpl/assert.hpp" } # 24 "/usr/include/boost-1_42/boost/mpl/aux_/na_assert.hpp" 2 # 26 "/usr/include/boost-1_42/boost/mpl/arg.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/arity_spec.hpp" 1 # 27 "/usr/include/boost-1_42/boost/mpl/arg.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/arg_typedef.hpp" 1 # 28 "/usr/include/boost-1_42/boost/mpl/arg.hpp" 2 # 37 "/usr/include/boost-1_42/boost/mpl/arg.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/arg.hpp" 1 # 13 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/arg.hpp" namespace mpl_ { template<> struct arg< -1 > { static const int value = -1; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U1 type; enum { mpl_assertion_in_line_27 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na))0, 1 ) ) ) }; }; }; template<> struct arg<1> { static const int value = 1; typedef arg<2> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U1 type; enum { mpl_assertion_in_line_45 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na))0, 1 ) ) ) }; }; }; template<> struct arg<2> { static const int value = 2; typedef arg<3> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U2 type; enum { mpl_assertion_in_line_63 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na))0, 1 ) ) ) }; }; }; template<> struct arg<3> { static const int value = 3; typedef arg<4> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U3 type; enum { mpl_assertion_in_line_81 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na))0, 1 ) ) ) }; }; }; template<> struct arg<4> { static const int value = 4; typedef arg<5> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U4 type; enum { mpl_assertion_in_line_99 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na))0, 1 ) ) ) }; }; }; template<> struct arg<5> { static const int value = 5; typedef arg<6> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U5 type; enum { mpl_assertion_in_line_117 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na))0, 1 ) ) ) }; }; }; } # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 38 "/usr/include/boost-1_42/boost/mpl/arg.hpp" 2 # 25 "/usr/include/boost-1_42/boost/mpl/placeholders.hpp" 2 # 43 "/usr/include/boost-1_42/boost/mpl/placeholders.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp" 1 # 13 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp" namespace mpl_ { typedef arg< -1 > _; } namespace boost { namespace mpl { using ::mpl_::_; namespace placeholders { using mpl_::_; } }} namespace mpl_ { typedef arg<1> _1; } namespace boost { namespace mpl { using ::mpl_::_1; namespace placeholders { using mpl_::_1; } }} namespace mpl_ { typedef arg<2> _2; } namespace boost { namespace mpl { using ::mpl_::_2; namespace placeholders { using mpl_::_2; } }} namespace mpl_ { typedef arg<3> _3; } namespace boost { namespace mpl { using ::mpl_::_3; namespace placeholders { using mpl_::_3; } }} namespace mpl_ { typedef arg<4> _4; } namespace boost { namespace mpl { using ::mpl_::_4; namespace placeholders { using mpl_::_4; } }} namespace mpl_ { typedef arg<5> _5; } namespace boost { namespace mpl { using ::mpl_::_5; namespace placeholders { using mpl_::_5; } }} namespace mpl_ { typedef arg<6> _6; } namespace boost { namespace mpl { using ::mpl_::_6; namespace placeholders { using mpl_::_6; } }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 44 "/usr/include/boost-1_42/boost/mpl/placeholders.hpp" 2 # 25 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/lambda.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/lambda.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/bind.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/bind.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/bind_fwd.hpp" 1 # 25 "/usr/include/boost-1_42/boost/mpl/bind_fwd.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/bind.hpp" 1 # 26 "/usr/include/boost-1_42/boost/mpl/bind_fwd.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp" namespace boost { namespace mpl { template< typename F, typename T1 = na, typename T2 = na, typename T3 = na , typename T4 = na, typename T5 = na > struct bind; template< typename F > struct bind0; template< typename F, typename T1 > struct bind1; template< typename F, typename T1, typename T2 > struct bind2; template< typename F, typename T1, typename T2, typename T3 > struct bind3; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct bind4; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct bind5; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 33 "/usr/include/boost-1_42/boost/mpl/bind_fwd.hpp" 2 # 24 "/usr/include/boost-1_42/boost/mpl/bind.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/placeholders.hpp" 1 # 25 "/usr/include/boost-1_42/boost/mpl/bind.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/protect.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/protect.hpp" namespace boost { namespace mpl { template< typename T = na , int not_le_ = 0 > struct protect : T { typedef protect type; }; # 48 "/usr/include/boost-1_42/boost/mpl/protect.hpp" template<> struct protect< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : protect< T1 > { }; }; namespace aux { template< typename T1 > struct template_arity< protect< T1 > > : int_<1> { }; template<> struct template_arity< protect< na > > : int_<-1> { }; } }} # 27 "/usr/include/boost-1_42/boost/mpl/bind.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 28 "/usr/include/boost-1_42/boost/mpl/bind.hpp" 2 # 50 "/usr/include/boost-1_42/boost/mpl/bind.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/bind.hpp" 1 # 13 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/bind.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename U1, typename U2, typename U3, typename U4 , typename U5 > struct resolve_bind_arg { typedef T type; }; template< typename T , typename Arg > struct replace_unnamed_arg { typedef Arg next; typedef T type; }; template< typename Arg > struct replace_unnamed_arg< arg< -1 >, Arg > { typedef typename Arg::next next; typedef Arg type; }; template< int N, typename U1, typename U2, typename U3, typename U4, typename U5 > struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > { typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5, typename U1, typename U2, typename U3, typename U4 , typename U5 > struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > { typedef bind< F,T1,T2,T3,T4,T5 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } template< typename F > struct bind0 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; public: typedef typename apply_wrap0< f_ >::type type; }; }; namespace aux { template< typename F, typename U1, typename U2, typename U3, typename U4 , typename U5 > struct resolve_bind_arg< bind0, U1, U2, U3, U4, U5 > { typedef bind0 f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 > struct template_arity< bind0< T1> > : int_<1> { }; } template< typename F > struct bind< F,na,na,na,na,na > : bind0 { }; template< typename F, typename T1 > struct bind1 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; public: typedef typename apply_wrap1< f_ , typename t1::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename U1, typename U2, typename U3 , typename U4, typename U5 > struct resolve_bind_arg< bind1< F,T1 >, U1, U2, U3, U4, U5 > { typedef bind1< F,T1 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 > struct template_arity< bind1< T1 , T2> > : int_<2> { }; } template< typename F, typename T1 > struct bind< F,T1,na,na,na,na > : bind1< F,T1 > { }; template< typename F, typename T1, typename T2 > struct bind2 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; public: typedef typename apply_wrap2< f_ , typename t1::type, typename t2::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename T2, typename U1, typename U2 , typename U3, typename U4, typename U5 > struct resolve_bind_arg< bind2< F,T1,T2 >, U1, U2, U3, U4, U5 > { typedef bind2< F,T1,T2 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< bind2< T1 , T2 , T3> > : int_<3> { }; } template< typename F, typename T1, typename T2 > struct bind< F,T1,T2,na,na,na > : bind2< F,T1,T2 > { }; template< typename F, typename T1, typename T2, typename T3 > struct bind3 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; public: typedef typename apply_wrap3< f_ , typename t1::type, typename t2::type, typename t3::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename T2, typename T3, typename U1 , typename U2, typename U3, typename U4, typename U5 > struct resolve_bind_arg< bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 > { typedef bind3< F,T1,T2,T3 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 > struct template_arity< bind3< T1 , T2 , T3 , T4> > : int_<4> { }; } template< typename F, typename T1, typename T2, typename T3 > struct bind< F,T1,T2,T3,na,na > : bind3< F,T1,T2,T3 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct bind4 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; typedef aux::replace_unnamed_arg< T4,n4 > r4; typedef typename r4::type a4; typedef typename r4::next n5; typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; public: typedef typename apply_wrap4< f_ , typename t1::type, typename t2::type, typename t3::type , typename t4::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename T2, typename T3, typename T4 , typename U1, typename U2, typename U3, typename U4, typename U5 > struct resolve_bind_arg< bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 > { typedef bind4< F,T1,T2,T3,T4 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< bind4< T1 , T2 , T3 , T4 , T5> > : int_<5> { }; } template< typename F, typename T1, typename T2, typename T3, typename T4 > struct bind< F,T1,T2,T3,T4,na > : bind4< F,T1,T2,T3,T4 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct bind5 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; typedef aux::replace_unnamed_arg< T4,n4 > r4; typedef typename r4::type a4; typedef typename r4::next n5; typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; typedef aux::replace_unnamed_arg< T5,n5 > r5; typedef typename r5::type a5; typedef typename r5::next n6; typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; public: typedef typename apply_wrap5< f_ , typename t1::type, typename t2::type, typename t3::type , typename t4::type, typename t5::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5, typename U1, typename U2, typename U3, typename U4 , typename U5 > struct resolve_bind_arg< bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > { typedef bind5< F,T1,T2,T3,T4,T5 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct template_arity< bind5< T1 , T2 , T3 , T4 , T5 , T6> > : int_<6> { }; } template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct bind : bind5< F,T1,T2,T3,T4,T5 > { }; template< template< typename T1, typename T2, typename T3 > class F, typename Tag > struct quote3; template< typename T1, typename T2, typename T3 > struct if_; template< typename Tag, typename T1, typename T2, typename T3 > struct bind3< quote3< if_,Tag > , T1, T2, T3 > { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef mpl::arg<1> n1; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; typedef typename if_< typename t1::type , t2, t3 >::type f_; public: typedef typename f_::type type; }; }; template< template< typename T1, typename T2, typename T3 > class F, typename Tag > struct quote3; template< typename T1, typename T2, typename T3 > struct eval_if; template< typename Tag, typename T1, typename T2, typename T3 > struct bind3< quote3< eval_if,Tag > , T1, T2, T3 > { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef mpl::arg<1> n1; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; typedef typename eval_if< typename t1::type , t2, t3 >::type f_; public: typedef typename f_::type type; }; }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 51 "/usr/include/boost-1_42/boost/mpl/bind.hpp" 2 # 19 "/usr/include/boost-1_42/boost/mpl/lambda.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/full_lambda.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/full_lambda.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/bind_fwd.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/aux_/full_lambda.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/quote.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/quote.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/has_type.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/has_type.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_ > struct has_type { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper const volatile* , boost::mpl::aux::type_wrapper* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_ type; }; }}} # 24 "/usr/include/boost-1_42/boost/mpl/quote.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/config/bcc.hpp" 1 # 27 "/usr/include/boost-1_42/boost/mpl/quote.hpp" 2 # 45 "/usr/include/boost-1_42/boost/mpl/quote.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/quote.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/quote.hpp" namespace boost { namespace mpl { template< typename T, bool has_type_ > struct quote_impl { typedef typename T::type type; }; template< typename T > struct quote_impl< T,false > { typedef T type; }; template< template< typename P1 > class F , typename Tag = void_ > struct quote1 { template< typename U1 > struct apply : quote_impl< F , aux::has_type< F >::value > { }; }; template< template< typename P1, typename P2 > class F , typename Tag = void_ > struct quote2 { template< typename U1, typename U2 > struct apply : quote_impl< F< U1,U2 > , aux::has_type< F< U1,U2 > >::value > { }; }; template< template< typename P1, typename P2, typename P3 > class F , typename Tag = void_ > struct quote3 { template< typename U1, typename U2, typename U3 > struct apply : quote_impl< F< U1,U2,U3 > , aux::has_type< F< U1,U2,U3 > >::value > { }; }; template< template< typename P1, typename P2, typename P3, typename P4 > class F , typename Tag = void_ > struct quote4 { template< typename U1, typename U2, typename U3, typename U4 > struct apply : quote_impl< F< U1,U2,U3,U4 > , aux::has_type< F< U1,U2,U3,U4 > >::value > { }; }; template< template< typename P1, typename P2, typename P3, typename P4 , typename P5 > class F , typename Tag = void_ > struct quote5 { template< typename U1, typename U2, typename U3, typename U4 , typename U5 > struct apply : quote_impl< F< U1,U2,U3,U4,U5 > , aux::has_type< F< U1,U2,U3,U4,U5 > >::value > { }; }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 46 "/usr/include/boost-1_42/boost/mpl/quote.hpp" 2 # 26 "/usr/include/boost-1_42/boost/mpl/aux_/full_lambda.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/arg.hpp" 1 # 27 "/usr/include/boost-1_42/boost/mpl/aux_/full_lambda.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/template_arity.hpp" 1 # 43 "/usr/include/boost-1_42/boost/mpl/aux_/template_arity.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp" namespace boost { namespace mpl { namespace aux { template< int N > struct arity_tag { typedef char (&type)[N + 1]; }; template< int C1, int C2, int C3, int C4, int C5, int C6 > struct max_arity { static const int value = ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) ) ; }; arity_tag<0>::type arity_helper(...); template< template< typename P1 > class F , typename T1 > typename arity_tag<1>::type arity_helper(type_wrapper< F >, arity_tag<1>); template< template< typename P1, typename P2 > class F , typename T1, typename T2 > typename arity_tag<2>::type arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>); template< template< typename P1, typename P2, typename P3 > class F , typename T1, typename T2, typename T3 > typename arity_tag<3>::type arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>); template< template< typename P1, typename P2, typename P3, typename P4 > class F , typename T1, typename T2, typename T3, typename T4 > typename arity_tag<4>::type arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>); template< template< typename P1, typename P2, typename P3, typename P4 , typename P5 > class F , typename T1, typename T2, typename T3, typename T4, typename T5 > typename arity_tag<5>::type arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>); template< template< typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6 > class F , typename T1, typename T2, typename T3, typename T4, typename T5 , typename T6 > typename arity_tag<6>::type arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>); template< typename F, int N > struct template_arity_impl { static const int value = sizeof(arity_helper(type_wrapper(), arity_tag())) - 1 ; }; template< typename F > struct template_arity { static const int value = ( max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value ) ; typedef mpl::int_ type; }; }}} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 44 "/usr/include/boost-1_42/boost/mpl/aux_/template_arity.hpp" 2 # 30 "/usr/include/boost-1_42/boost/mpl/aux_/full_lambda.hpp" 2 # 44 "/usr/include/boost-1_42/boost/mpl/aux_/full_lambda.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp" namespace boost { namespace mpl { namespace aux { template< bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false , bool C5 = false > struct lambda_or : true_ { }; template<> struct lambda_or< false,false,false,false,false > : false_ { }; } template< typename T , typename Tag , typename Arity > struct lambda { typedef false_ is_le; typedef T result_; typedef T type; }; template< typename T > struct is_lambda_expression : lambda::is_le { }; template< int N, typename Tag > struct lambda< arg,Tag, int_< -1 > > { typedef true_ is_le; typedef mpl::arg result_; typedef mpl::protect type; }; template< typename F , typename Tag > struct lambda< bind0 , Tag , int_<1> > { typedef false_ is_le; typedef bind0< F > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1 > class F , typename L1 > struct le_result1 { typedef F< typename L1::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1 > class F , typename L1 > struct le_result1< true_,Tag,F,L1 > { typedef bind1< quote1< F,Tag > , typename L1::result_ > result_; typedef mpl::protect type; }; } template< template< typename P1 > class F , typename T1 , typename Tag > struct lambda< F , Tag , int_<1> > { typedef lambda< T1,Tag > l1; typedef typename l1::is_le is_le1; typedef typename aux::lambda_or< is_le1::value >::type is_le; typedef aux::le_result1< is_le, Tag, F, l1 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1 , typename Tag > struct lambda< bind1< F,T1 > , Tag , int_<2> > { typedef false_ is_le; typedef bind1< F , T1 > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1, typename P2 > class F , typename L1, typename L2 > struct le_result2 { typedef F< typename L1::type, typename L2::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1, typename P2 > class F , typename L1, typename L2 > struct le_result2< true_,Tag,F,L1,L2 > { typedef bind2< quote2< F,Tag > , typename L1::result_, typename L2::result_ > result_; typedef mpl::protect type; }; } template< template< typename P1, typename P2 > class F , typename T1, typename T2 , typename Tag > struct lambda< F< T1,T2 > , Tag , int_<2> > { typedef lambda< T1,Tag > l1; typedef lambda< T2,Tag > l2; typedef typename l1::is_le is_le1; typedef typename l2::is_le is_le2; typedef typename aux::lambda_or< is_le1::value, is_le2::value >::type is_le; typedef aux::le_result2< is_le, Tag, F, l1, l2 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1, typename T2 , typename Tag > struct lambda< bind2< F,T1,T2 > , Tag , int_<3> > { typedef false_ is_le; typedef bind2< F , T1, T2 > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1, typename P2, typename P3 > class F , typename L1, typename L2, typename L3 > struct le_result3 { typedef F< typename L1::type, typename L2::type, typename L3::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1, typename P2, typename P3 > class F , typename L1, typename L2, typename L3 > struct le_result3< true_,Tag,F,L1,L2,L3 > { typedef bind3< quote3< F,Tag > , typename L1::result_, typename L2::result_, typename L3::result_ > result_; typedef mpl::protect type; }; } template< template< typename P1, typename P2, typename P3 > class F , typename T1, typename T2, typename T3 , typename Tag > struct lambda< F< T1,T2,T3 > , Tag , int_<3> > { typedef lambda< T1,Tag > l1; typedef lambda< T2,Tag > l2; typedef lambda< T3,Tag > l3; typedef typename l1::is_le is_le1; typedef typename l2::is_le is_le2; typedef typename l3::is_le is_le3; typedef typename aux::lambda_or< is_le1::value, is_le2::value, is_le3::value >::type is_le; typedef aux::le_result3< is_le, Tag, F, l1, l2, l3 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1, typename T2, typename T3 , typename Tag > struct lambda< bind3< F,T1,T2,T3 > , Tag , int_<4> > { typedef false_ is_le; typedef bind3< F , T1, T2, T3 > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1, typename P2, typename P3, typename P4 > class F , typename L1, typename L2, typename L3, typename L4 > struct le_result4 { typedef F< typename L1::type, typename L2::type, typename L3::type , typename L4::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1, typename P2, typename P3, typename P4 > class F , typename L1, typename L2, typename L3, typename L4 > struct le_result4< true_,Tag,F,L1,L2,L3,L4 > { typedef bind4< quote4< F,Tag > , typename L1::result_, typename L2::result_, typename L3::result_ , typename L4::result_ > result_; typedef mpl::protect type; }; } template< template< typename P1, typename P2, typename P3, typename P4 > class F , typename T1, typename T2, typename T3, typename T4 , typename Tag > struct lambda< F< T1,T2,T3,T4 > , Tag , int_<4> > { typedef lambda< T1,Tag > l1; typedef lambda< T2,Tag > l2; typedef lambda< T3,Tag > l3; typedef lambda< T4,Tag > l4; typedef typename l1::is_le is_le1; typedef typename l2::is_le is_le2; typedef typename l3::is_le is_le3; typedef typename l4::is_le is_le4; typedef typename aux::lambda_or< is_le1::value, is_le2::value, is_le3::value, is_le4::value >::type is_le; typedef aux::le_result4< is_le, Tag, F, l1, l2, l3, l4 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename Tag > struct lambda< bind4< F,T1,T2,T3,T4 > , Tag , int_<5> > { typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F , typename L1, typename L2, typename L3, typename L4, typename L5 > struct le_result5 { typedef F< typename L1::type, typename L2::type, typename L3::type , typename L4::type, typename L5::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F , typename L1, typename L2, typename L3, typename L4, typename L5 > struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > { typedef bind5< quote5< F,Tag > , typename L1::result_, typename L2::result_, typename L3::result_ , typename L4::result_, typename L5::result_ > result_; typedef mpl::protect type; }; } template< template< typename P1, typename P2, typename P3, typename P4 , typename P5 > class F , typename T1, typename T2, typename T3, typename T4, typename T5 , typename Tag > struct lambda< F< T1,T2,T3,T4,T5 > , Tag , int_<5> > { typedef lambda< T1,Tag > l1; typedef lambda< T2,Tag > l2; typedef lambda< T3,Tag > l3; typedef lambda< T4,Tag > l4; typedef lambda< T5,Tag > l5; typedef typename l1::is_le is_le1; typedef typename l2::is_le is_le2; typedef typename l3::is_le is_le3; typedef typename l4::is_le is_le4; typedef typename l5::is_le is_le5; typedef typename aux::lambda_or< is_le1::value, is_le2::value, is_le3::value, is_le4::value , is_le5::value >::type is_le; typedef aux::le_result5< is_le, Tag, F, l1, l2, l3, l4, l5 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 , typename Tag > struct lambda< bind5< F,T1,T2,T3,T4,T5 > , Tag , int_<6> > { typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 > result_; typedef result_ type; }; template< typename T, typename Tag > struct lambda< mpl::protect,Tag, int_<1> > { typedef false_ is_le; typedef mpl::protect result_; typedef result_ type; }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 , typename Tag > struct lambda< bind< F,T1,T2,T3,T4,T5 > , Tag , int_<6> > { typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > result_; typedef result_ type; }; template< typename F , typename Tag1 , typename Tag2 , typename Arity > struct lambda< lambda< F,Tag1,Arity > , Tag2 , int_<3> > { typedef lambda< F,Tag2 > l1; typedef lambda< Tag1,Tag2 > l2; typedef typename l1::is_le is_le; typedef bind1< quote1, typename l1::result_ > arity_; typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; typedef aux::le_result3 le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template<> struct lambda< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : lambda< T1 , T2 > { }; }; template< typename Tag > struct lambda< lambda< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef lambda< na , na > result_; typedef lambda< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< lambda< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< lambda< na , na > > : int_<-1> { }; } }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 45 "/usr/include/boost-1_42/boost/mpl/aux_/full_lambda.hpp" 2 # 23 "/usr/include/boost-1_42/boost/mpl/lambda.hpp" 2 # 26 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 2 # 36 "/usr/include/boost-1_42/boost/mpl/apply.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/apply.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/apply.hpp" namespace boost { namespace mpl { template< typename F > struct apply0 : apply_wrap0< typename lambda::type > { }; template< typename F > struct apply< F,na,na,na,na,na > : apply0 { }; template< typename F, typename T1 > struct apply1 : apply_wrap1< typename lambda::type , T1 > { }; template< typename F, typename T1 > struct apply< F,T1,na,na,na,na > : apply1< F,T1 > { }; template< typename F, typename T1, typename T2 > struct apply2 : apply_wrap2< typename lambda::type , T1, T2 > { }; template< typename F, typename T1, typename T2 > struct apply< F,T1,T2,na,na,na > : apply2< F,T1,T2 > { }; template< typename F, typename T1, typename T2, typename T3 > struct apply3 : apply_wrap3< typename lambda::type , T1, T2, T3 > { }; template< typename F, typename T1, typename T2, typename T3 > struct apply< F,T1,T2,T3,na,na > : apply3< F,T1,T2,T3 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct apply4 : apply_wrap4< typename lambda::type , T1, T2, T3, T4 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct apply< F,T1,T2,T3,T4,na > : apply4< F,T1,T2,T3,T4 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct apply5 : apply_wrap5< typename lambda::type , T1, T2, T3, T4, T5 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct apply : apply5< F,T1,T2,T3,T4,T5 > { }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 37 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 2 # 28 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/debug/line.hpp" 1 # 33 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 namespace boost { namespace python { template class wrapper; }} namespace boost { namespace python { namespace objects { template struct pointer_holder : instance_holder { typedef Value value_type; pointer_holder(Pointer); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" pointer_holder(PyObject* self ) : m_p(new Value( )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 > pointer_holder(PyObject* self , A0 a0) : m_p(new Value( objects::do_unforward(a0,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 > pointer_holder(PyObject* self , A0 a0 , A1 a1) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12 , A13 a13) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) , objects::do_unforward(a13,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 179 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14 > pointer_holder(PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12 , A13 a13 , A14 a14) : m_p(new Value( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) , objects::do_unforward(a13,0) , objects::do_unforward(a14,0) )) { python::detail::initialize_wrapper(self, get_pointer(this->m_p)); } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 64 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 private: private: void* holds(type_info, bool null_ptr_only); template inline void* holds_wrapped(type_info dst_t, wrapper*,T* p) { return python::type_id() == dst_t ? p : 0; } inline void* holds_wrapped(type_info, ...) { return 0; } private: Pointer m_p; }; template struct pointer_holder_back_reference : instance_holder { private: typedef typename python::pointee::type held_type; public: typedef Value value_type; pointer_holder_back_reference(Pointer); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" pointer_holder_back_reference( PyObject* p ) : m_p(new held_type( p )) {} # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 > pointer_holder_back_reference( PyObject* p , A0 a0) : m_p(new held_type( p , objects::do_unforward(a0,0) )) {} # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) )) {} # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) )) {} # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) )) {} # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) )) {} # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) )) {} # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) )) {} # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) )) {} # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) )) {} # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) )) {} # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) )) {} # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) )) {} # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) )) {} # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12 , A13 a13) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) , objects::do_unforward(a13,0) )) {} # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 201 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14 > pointer_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12 , A13 a13 , A14 a14) : m_p(new held_type( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) , objects::do_unforward(a13,0) , objects::do_unforward(a14,0) )) {} # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 100 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 2 private: void* holds(type_info, bool null_ptr_only); private: Pointer m_p; }; template inline pointer_holder::pointer_holder(Pointer p) : m_p(p) { } template inline pointer_holder_back_reference::pointer_holder_back_reference(Pointer p) : m_p(p) { } template void* pointer_holder::holds(type_info dst_t, bool null_ptr_only) { if (dst_t == python::type_id() && !(null_ptr_only && get_pointer(this->m_p)) ) return &this->m_p; Value* p = get_pointer(this->m_p) ; if (p == 0) return 0; if (void* wrapped = holds_wrapped(dst_t, p, p)) return wrapped; type_info src_t = python::type_id(); return src_t == dst_t ? p : find_dynamic_type(p, src_t, dst_t); } template void* pointer_holder_back_reference::holds(type_info dst_t, bool null_ptr_only) { if (dst_t == python::type_id() && !(null_ptr_only && get_pointer(this->m_p)) ) return &this->m_p; if (!get_pointer(this->m_p)) return 0; Value* p = get_pointer(m_p); if (dst_t == python::type_id()) return p; type_info src_t = python::type_id(); return src_t == dst_t ? p : find_dynamic_type(p, src_t, dst_t); } }}} # 11 "/usr/include/boost-1_42/boost/python/to_python_indirect.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_ptr_instance.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/object/make_instance.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/object/make_instance.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/instance.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/object/instance.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/alignment_traits.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/alignment_traits.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" 1 # 12 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/list/for_each_i.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/list/for_each_i.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/for.hpp" 1 # 19 "/usr/include/boost-1_42/boost/preprocessor/repetition/for.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/detail/auto_rec.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/repetition/for.hpp" 2 # 42 "/usr/include/boost-1_42/boost/preprocessor/repetition/for.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/detail/for.hpp" 1 # 43 "/usr/include/boost-1_42/boost/preprocessor/repetition/for.hpp" 2 # 21 "/usr/include/boost-1_42/boost/preprocessor/list/for_each_i.hpp" 2 # 13 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/tuple/to_list.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/list/transform.hpp" 1 # 16 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/list/append.hpp" 1 # 17 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 24 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 26 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" 2 namespace boost { namespace detail { class alignment_dummy; typedef void (*function_ptr)(); typedef int (alignment_dummy::*member_ptr); typedef int (alignment_dummy::*member_function_ptr)(); # 101 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" template struct lower_alignment_helper { typedef char type; enum { value = true }; }; template struct lower_alignment_helper { enum { value = (alignment_of::value == target) }; typedef typename mpl::if_c::type type; }; # 127 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" template struct has_one_T { T data; }; template union lower_alignment { enum { found0 = false }; typename lower_alignment_helper< found0,target,char >::type t0; enum { found1 = lower_alignment_helper::value }; typename lower_alignment_helper< found1,target,short >::type t1; enum { found2 = lower_alignment_helper::value }; typename lower_alignment_helper< found2,target,int >::type t2; enum { found3 = lower_alignment_helper::value }; typename lower_alignment_helper< found3,target,long >::type t3; enum { found4 = lower_alignment_helper::value }; typename lower_alignment_helper< found4,target,::boost::long_long_type >::type t4; enum { found5 = lower_alignment_helper::value }; typename lower_alignment_helper< found5,target,float >::type t5; enum { found6 = lower_alignment_helper::value }; typename lower_alignment_helper< found6,target,double >::type t6; enum { found7 = lower_alignment_helper::value }; typename lower_alignment_helper< found7,target,long double >::type t7; enum { found8 = lower_alignment_helper::value }; typename lower_alignment_helper< found8,target,void* >::type t8; enum { found9 = lower_alignment_helper::value }; typename lower_alignment_helper< found9,target,function_ptr >::type t9; enum { found10 = lower_alignment_helper::value }; typename lower_alignment_helper< found10,target,member_ptr >::type t10; enum { found11 = lower_alignment_helper::value }; typename lower_alignment_helper< found11,target,member_function_ptr >::type t11; enum { found12 = lower_alignment_helper::value }; typename lower_alignment_helper< found12,target,boost::detail::has_one_T< char > >::type t12; enum { found13 = lower_alignment_helper >::value }; typename lower_alignment_helper< found13,target,boost::detail::has_one_T< short > >::type t13; enum { found14 = lower_alignment_helper >::value }; typename lower_alignment_helper< found14,target,boost::detail::has_one_T< int > >::type t14; enum { found15 = lower_alignment_helper >::value }; typename lower_alignment_helper< found15,target,boost::detail::has_one_T< long > >::type t15; enum { found16 = lower_alignment_helper >::value }; typename lower_alignment_helper< found16,target,boost::detail::has_one_T< ::boost::long_long_type > >::type t16; enum { found17 = lower_alignment_helper >::value }; typename lower_alignment_helper< found17,target,boost::detail::has_one_T< float > >::type t17; enum { found18 = lower_alignment_helper >::value }; typename lower_alignment_helper< found18,target,boost::detail::has_one_T< double > >::type t18; enum { found19 = lower_alignment_helper >::value }; typename lower_alignment_helper< found19,target,boost::detail::has_one_T< long double > >::type t19; enum { found20 = lower_alignment_helper >::value }; typename lower_alignment_helper< found20,target,boost::detail::has_one_T< void* > >::type t20; enum { found21 = lower_alignment_helper >::value }; typename lower_alignment_helper< found21,target,boost::detail::has_one_T< function_ptr > >::type t21; enum { found22 = lower_alignment_helper >::value }; typename lower_alignment_helper< found22,target,boost::detail::has_one_T< member_ptr > >::type t22; enum { found23 = lower_alignment_helper >::value }; typename lower_alignment_helper< found23,target,boost::detail::has_one_T< member_function_ptr > >::type t23; enum { found24 = lower_alignment_helper >::value }; }; union max_align { char t0; short t1; int t2; long t3; ::boost::long_long_type t4; float t5; double t6; long double t7; void* t8; function_ptr t9; member_ptr t10; member_function_ptr t11; boost::detail::has_one_T< char > t12; boost::detail::has_one_T< short > t13; boost::detail::has_one_T< int > t14; boost::detail::has_one_T< long > t15; boost::detail::has_one_T< ::boost::long_long_type > t16; boost::detail::has_one_T< float > t17; boost::detail::has_one_T< double > t18; boost::detail::has_one_T< long double > t19; boost::detail::has_one_T< void* > t20; boost::detail::has_one_T< function_ptr > t21; boost::detail::has_one_T< member_ptr > t22; boost::detail::has_one_T< member_function_ptr > t23; }; # 161 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" template struct is_aligned { static const bool value = (TAlign >= Align) & (TAlign % Align == 0) ; }; # 180 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" } template struct is_pod< ::boost::detail::lower_alignment > { static const std::size_t value = true; }; namespace detail{ template class type_with_alignment_imp { typedef ::boost::detail::lower_alignment t1; typedef typename mpl::if_c< ::boost::detail::is_aligned< ::boost::alignment_of::value,Align >::value , t1 , ::boost::detail::max_align >::type align_t; static const std::size_t found = alignment_of::value; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((found >= Align) == 0 ? false : true) >)> boost_static_assert_typedef_206; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((found % Align == 0) == 0 ? false : true) >)> boost_static_assert_typedef_207; public: typedef align_t type; }; } template class type_with_alignment : public ::boost::detail::type_with_alignment_imp { }; namespace align { struct __attribute__((__aligned__(2))) a2 {}; struct __attribute__((__aligned__(4))) a4 {}; struct __attribute__((__aligned__(8))) a8 {}; struct __attribute__((__aligned__(16))) a16 {}; struct __attribute__((__aligned__(32))) a32 {}; } template<> class type_with_alignment<1> { public: typedef char type; }; template<> class type_with_alignment<2> { public: typedef align::a2 type; }; template<> class type_with_alignment<4> { public: typedef align::a4 type; }; template<> class type_with_alignment<8> { public: typedef align::a8 type; }; template<> class type_with_alignment<16> { public: typedef align::a16 type; }; template<> class type_with_alignment<32> { public: typedef align::a32 type; }; namespace detail { template<> struct is_pod_impl< ::boost::align::a2 > { static const bool value = (true); }; template<> struct is_pod_impl< ::boost::align::a4 > { static const bool value = (true); }; template<> struct is_pod_impl< ::boost::align::a8 > { static const bool value = (true); }; template<> struct is_pod_impl< ::boost::align::a16 > { static const bool value = (true); }; template<> struct is_pod_impl< ::boost::align::a32 > { static const bool value = (true); }; } # 383 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 390 "/usr/include/boost-1_42/boost/type_traits/type_with_alignment.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/alignment_traits.hpp" 2 # 10 "/usr/include/boost-1_42/boost/python/object/instance.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 11 "/usr/include/boost-1_42/boost/python/object/instance.hpp" 2 namespace boost { namespace python { struct instance_holder; }} namespace boost { namespace python { namespace objects { template struct instance { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Py_ssize_t ob_size; PyObject* dict; PyObject* weakrefs; instance_holder* objects; typedef typename type_with_alignment< ::boost::alignment_of::value >::type align_t; union { align_t align; char bytes[sizeof(Data)]; } storage; }; template struct additional_instance_size { typedef instance instance_data; typedef instance instance_char; static const std::size_t value = sizeof(instance_data) - __builtin_offsetof (instance_char, storage) ; }; }}} # 10 "/usr/include/boost-1_42/boost/python/object/make_instance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/registered.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/converter/registry.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/converter/to_python_function_type.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/converter/to_python_function_type.hpp" namespace boost { namespace python { namespace converter { typedef PyObject* (*to_python_function_t)(void const*); }}} # 9 "/usr/include/boost-1_42/boost/python/converter/registry.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/rvalue_from_python_data.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/converter/constructor_function.hpp" 1 namespace boost { namespace python { namespace converter { struct rvalue_from_python_stage1_data; typedef void (*constructor_function)(PyObject* source, rvalue_from_python_stage1_data*); }}} # 9 "/usr/include/boost-1_42/boost/python/converter/rvalue_from_python_data.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/referent_storage.hpp" 1 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 9 "/usr/include/boost-1_42/boost/python/detail/referent_storage.hpp" 2 namespace boost { namespace python { namespace detail { struct alignment_dummy; typedef void (*function_ptr)(); typedef int (alignment_dummy::*member_ptr); typedef int (alignment_dummy::*member_function_ptr)(); template union aligned_storage { typename mpl::if_c< sizeof(char) <= size, char, char>::type t0; typename mpl::if_c< sizeof(short) <= size, short, char>::type t1; typename mpl::if_c< sizeof(int) <= size, int, char>::type t2; typename mpl::if_c< sizeof(long) <= size, long, char>::type t3; typename mpl::if_c< sizeof(float) <= size, float, char>::type t4; typename mpl::if_c< sizeof(double) <= size, double, char>::type t5; typename mpl::if_c< sizeof(long double) <= size, long double, char>::type t6; typename mpl::if_c< sizeof(void*) <= size, void*, char>::type t7; typename mpl::if_c< sizeof(function_ptr) <= size, function_ptr, char>::type t8; typename mpl::if_c< sizeof(member_ptr) <= size, member_ptr, char>::type t9; typename mpl::if_c< sizeof(member_function_ptr) <= size, member_function_ptr, char>::type t10; char bytes[size]; }; template struct referent_size; template struct referent_size { static const std::size_t value = sizeof(T) ; }; # 66 "/usr/include/boost-1_42/boost/python/detail/referent_storage.hpp" template struct referent_storage { typedef aligned_storage< ::boost::python::detail::referent_size::value > type; }; }}} # 10 "/usr/include/boost-1_42/boost/python/converter/rvalue_from_python_data.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/destroy.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/detail/destroy.hpp" namespace boost { namespace python { namespace detail { template < bool array > struct value_destroyer; template <> struct value_destroyer< false > { template static void execute(T const volatile* p) { p->T::~T(); } }; template <> struct value_destroyer< true > { template static void execute(A*, T const volatile* const first) { for (T const volatile* p = first; p != first + sizeof(A)/sizeof(T); ++p) { value_destroyer< boost::is_array::value >::execute(p); } } template static void execute(T const volatile* p) { execute(p, *p); } }; # 85 "/usr/include/boost-1_42/boost/python/detail/destroy.hpp" template inline void destroy_referent_impl(void* p, T& (*)()) { value_destroyer< (boost::is_array::value) >::execute((const volatile T*)p); } template inline void destroy_referent(void* p, T(*)() = 0) { destroy_referent_impl(p, (T(*)())0); } }}} # 11 "/usr/include/boost-1_42/boost/python/converter/rvalue_from_python_data.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 15 "/usr/include/boost-1_42/boost/python/converter/rvalue_from_python_data.hpp" 2 # 39 "/usr/include/boost-1_42/boost/python/converter/rvalue_from_python_data.hpp" namespace boost { namespace python { namespace converter { # 62 "/usr/include/boost-1_42/boost/python/converter/rvalue_from_python_data.hpp" struct rvalue_from_python_stage1_data { void* convertible; constructor_function construct; }; template struct rvalue_from_python_storage { rvalue_from_python_stage1_data stage1; typename python::detail::referent_storage< typename add_reference::type >::type storage; }; template struct rvalue_from_python_data : rvalue_from_python_storage { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((__builtin_offsetof (rvalue_from_python_storage, stage1) == 0) == 0 ? false : true) >)> boost_static_assert_typedef_99; rvalue_from_python_data(rvalue_from_python_stage1_data const&); rvalue_from_python_data(void* convertible); ~rvalue_from_python_data(); private: typedef typename add_reference::type>::type ref_type; }; template inline rvalue_from_python_data::rvalue_from_python_data(rvalue_from_python_stage1_data const& _stage1) { this->stage1 = _stage1; } template inline rvalue_from_python_data::rvalue_from_python_data(void* convertible) { this->stage1.convertible = convertible; } template inline rvalue_from_python_data::~rvalue_from_python_data() { if (this->stage1.convertible == this->storage.bytes) python::detail::destroy_referent(this->storage.bytes); } }}} # 10 "/usr/include/boost-1_42/boost/python/converter/registry.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/convertible_function.hpp" 1 namespace boost { namespace python { namespace converter { typedef void* (*convertible_function)(PyObject*); }}} # 12 "/usr/include/boost-1_42/boost/python/converter/registry.hpp" 2 namespace boost { namespace python { namespace converter { struct registration; namespace registry { registration const& lookup(type_info); registration const& lookup_shared_ptr(type_info); registration const* query(type_info); void insert(to_python_function_t, type_info, PyTypeObject const* (*to_python_target_type)() = 0); void insert(void* (*convert)(PyObject*), type_info, PyTypeObject const* (*expected_pytype)() = 0); void insert( convertible_function , constructor_function , type_info , PyTypeObject const* (*expected_pytype)() = 0 ); void push_back( convertible_function , constructor_function , type_info , PyTypeObject const* (*expected_pytype)() = 0 ); } }}} # 9 "/usr/include/boost-1_42/boost/python/converter/registered.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/registrations.hpp" 1 # 18 "/usr/include/boost-1_42/boost/python/converter/registrations.hpp" namespace boost { namespace python { namespace converter { struct lvalue_from_python_chain { convertible_function convert; lvalue_from_python_chain* next; }; struct rvalue_from_python_chain { convertible_function convertible; constructor_function construct; PyTypeObject const* (*expected_pytype)(); rvalue_from_python_chain* next; }; struct registration { public: explicit registration(type_info target, bool is_shared_ptr = false); ~registration(); PyObject* to_python(void const volatile*) const; PyTypeObject* get_class_object() const; PyTypeObject const* expected_from_python_type() const; PyTypeObject const* to_python_target_type() const; public: const python::type_info target_type; lvalue_from_python_chain* lvalue_chain; rvalue_from_python_chain* rvalue_chain; PyTypeObject* m_class_object; to_python_function_t m_to_python; PyTypeObject const* (*m_to_python_target_type)(); const bool is_shared_ptr; }; inline registration::registration(type_info target_type, bool is_shared_ptr) : target_type(target_type) , lvalue_chain(0) , rvalue_chain(0) , m_class_object(0) , m_to_python(0) , m_to_python_target_type(0) , is_shared_ptr(is_shared_ptr) {} inline bool operator<(registration const& lhs, registration const& rhs) { return lhs.target_type < rhs.target_type; } }}} # 10 "/usr/include/boost-1_42/boost/python/converter/registered.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/transform_traits.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/transform_traits.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/add_pointer.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/add_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/add_pointer.hpp" 2 namespace boost { namespace detail { # 55 "/usr/include/boost-1_42/boost/type_traits/add_pointer.hpp" template struct add_pointer_impl { typedef typename remove_reference::type no_ref_type; typedef no_ref_type* type; }; } template< typename T > struct add_pointer { typedef typename boost::detail::add_pointer_impl::type type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 71 "/usr/include/boost-1_42/boost/type_traits/add_pointer.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/transform_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/remove_bounds.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/remove_bounds.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 14 "/usr/include/boost-1_42/boost/type_traits/remove_bounds.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/remove_bounds.hpp" 2 namespace boost { template< typename T > struct remove_bounds { typedef T type; }; template< typename T, std::size_t N > struct remove_bounds { typedef T type; }; template< typename T, std::size_t N > struct remove_bounds { typedef T const type; }; template< typename T, std::size_t N > struct remove_bounds { typedef T volatile type; }; template< typename T, std::size_t N > struct remove_bounds { typedef T const volatile type; }; template< typename T > struct remove_bounds { typedef T type; }; template< typename T > struct remove_bounds { typedef T const type; }; template< typename T > struct remove_bounds { typedef T volatile type; }; template< typename T > struct remove_bounds { typedef T const volatile type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 47 "/usr/include/boost-1_42/boost/type_traits/remove_bounds.hpp" 2 # 18 "/usr/include/boost-1_42/boost/type_traits/transform_traits.hpp" 2 # 11 "/usr/include/boost-1_42/boost/python/converter/registered.hpp" 2 namespace boost { template class shared_ptr; namespace python { namespace converter { struct registration; namespace detail { template struct registered_base { static registration const& converters; }; } template struct registered : detail::registered_base< typename add_reference< typename add_cv::type >::type > { }; template struct registered : registered {}; namespace detail { inline void register_shared_ptr0(...) { } template inline void register_shared_ptr0(shared_ptr*) { registry::lookup_shared_ptr(type_id >()); } template inline void register_shared_ptr1(T const volatile*) { detail::register_shared_ptr0((T*)0); } template inline registration const& registry_lookup2(T&(*)()) { detail::register_shared_ptr1((T*)0); return registry::lookup(type_id()); } template inline registration const& registry_lookup1(type) { return registry_lookup2((T(*)())0); } inline registration const& registry_lookup1(type) { detail::register_shared_ptr1((void*)0); return registry::lookup(type_id()); } template registration const& registered_base::converters = detail::registry_lookup1(type()); } }}} # 11 "/usr/include/boost-1_42/boost/python/object/make_instance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/decref_guard.hpp" 1 namespace boost { namespace python { namespace detail { struct decref_guard { decref_guard(PyObject* o) : obj(o) {} ~decref_guard() { if ((obj) == __null) ; else if ( --((PyObject*)(obj))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(obj)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(obj)))); } void cancel() { obj = 0; } private: PyObject* obj; }; }}} # 12 "/usr/include/boost-1_42/boost/python/object/make_instance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/none.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/detail/none.hpp" namespace boost { namespace python { namespace detail { inline PyObject* none() { ( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++); return (&_Py_NoneStruct); } }}} # 13 "/usr/include/boost-1_42/boost/python/object/make_instance.hpp" 2 namespace boost { namespace python { namespace objects { template struct make_instance_impl { typedef objects::instance instance_t; template static inline PyObject* execute(Arg& x) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((is_class::value) == 0 ? false : true) >)> boost_static_assert_typedef_24; PyTypeObject* type = Derived::get_class_object(x); if (type == 0) return python::detail::none(); PyObject* raw_result = type->tp_alloc( type, objects::additional_instance_size::value); if (raw_result != 0) { python::detail::decref_guard protect(raw_result); instance_t* instance = (instance_t*)raw_result; Derived::construct(&instance->storage, (PyObject*)instance, x)->install(raw_result); (((PyVarObject*)(instance))->ob_size) = __builtin_offsetof (instance_t, storage); protect.cancel(); } return raw_result; } }; template struct make_instance : make_instance_impl > { template static inline PyTypeObject* get_class_object(U&) { return converter::registered::converters.get_class_object(); } static inline Holder* construct(void* storage, PyObject* instance, reference_wrapper x) { return new (storage) Holder(instance, x); } }; }}} # 9 "/usr/include/boost-1_42/boost/python/object/make_ptr_instance.hpp" 2 namespace boost { namespace python { namespace objects { template struct make_ptr_instance : make_instance_impl > { template static inline Holder* construct(void* storage, PyObject*, Arg& x) { return new (storage) Holder(x); } template static inline PyTypeObject* get_class_object(Ptr const& x) { return get_class_object_impl(get_pointer(x)); } static inline PyTypeObject const* get_pytype() { return converter::registered::converters.get_class_object(); } private: template static inline PyTypeObject* get_class_object_impl(U const volatile* p) { if (p == 0) return 0; PyTypeObject* derived = get_derived_class_object( typename is_polymorphic::type(), p); if (derived) return derived; return converter::registered::converters.get_class_object(); } template static inline PyTypeObject* get_derived_class_object(mpl::true_, U const volatile* x) { converter::registration const* r = converter::registry::query( type_info(typeid(*get_pointer(x))) ); return r ? r->m_class_object : 0; } template static inline PyTypeObject* get_derived_class_object(mpl::false_, U*) { return 0; } }; }}} # 12 "/usr/include/boost-1_42/boost/python/to_python_indirect.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/pytype_function.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/converter/pytype_function.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/unwind_type.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/cv_category.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/detail/cv_category.hpp" namespace boost { namespace python { namespace detail { template struct cv_tag { static const bool is_const = is_const_; static const bool is_volatile = is_const_; }; typedef cv_tag cv_unqualified; typedef cv_tag const_; typedef cv_tag volatile_; typedef cv_tag const_volatile_; template struct cv_category { typedef cv_tag< ::boost::is_const::value , ::boost::is_volatile::value > type; }; }}} # 9 "/usr/include/boost-1_42/boost/python/detail/unwind_type.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/indirect_traits.hpp" 1 # 1 "/usr/include/boost-1_42/boost/detail/indirect_traits.hpp" 1 # 25 "/usr/include/boost-1_42/boost/detail/indirect_traits.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/and.hpp" 1 # 42 "/usr/include/boost-1_42/boost/mpl/and.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/and.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/and.hpp" namespace boost { namespace mpl { namespace aux { template< bool C_, typename T1, typename T2, typename T3, typename T4 > struct and_impl : false_ { }; template< typename T1, typename T2, typename T3, typename T4 > struct and_impl< true,T1,T2,T3,T4 > : and_impl< ::boost::mpl::aux::nested_type_wknd::value , T2, T3, T4 , true_ > { }; template<> struct and_impl< true , true_, true_, true_, true_ > : true_ { }; } template< typename T1 = na , typename T2 = na , typename T3 = true_, typename T4 = true_, typename T5 = true_ > struct and_ : aux::and_impl< ::boost::mpl::aux::nested_type_wknd::value , T2, T3, T4, T5 > { }; template<> struct and_< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : and_< T1 , T2 > { }; }; template< typename Tag > struct lambda< and_< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef and_< na , na > result_; typedef and_< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< and_< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< and_< na , na > > : int_<-1> { }; } }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 43 "/usr/include/boost-1_42/boost/mpl/and.hpp" 2 # 26 "/usr/include/boost-1_42/boost/detail/indirect_traits.hpp" 2 namespace boost { namespace detail { namespace indirect_traits { template struct is_reference_to_const : mpl::false_ { }; template struct is_reference_to_const : mpl::true_ { }; # 55 "/usr/include/boost-1_42/boost/detail/indirect_traits.hpp" template struct is_reference_to_function : mpl::false_ { }; template struct is_reference_to_function : is_function { }; template struct is_pointer_to_function : mpl::false_ { }; template struct is_pointer_to_function : is_function { }; template struct is_reference_to_member_function_pointer_impl : mpl::false_ { }; template struct is_reference_to_member_function_pointer_impl : is_member_function_pointer::type> { }; template struct is_reference_to_member_function_pointer : is_reference_to_member_function_pointer_impl { }; template struct is_reference_to_function_pointer_aux : mpl::and_< is_reference , is_pointer_to_function< typename remove_cv< typename remove_reference::type >::type > > { }; template struct is_reference_to_function_pointer : mpl::if_< is_reference_to_function , mpl::false_ , is_reference_to_function_pointer_aux >::type { }; template struct is_reference_to_non_const : mpl::and_< is_reference , mpl::not_< is_reference_to_const > > { }; template struct is_reference_to_volatile : mpl::false_ { }; template struct is_reference_to_volatile : mpl::true_ { }; # 149 "/usr/include/boost-1_42/boost/detail/indirect_traits.hpp" template struct is_reference_to_pointer : mpl::false_ { }; template struct is_reference_to_pointer : mpl::true_ { }; template struct is_reference_to_pointer : mpl::true_ { }; template struct is_reference_to_pointer : mpl::true_ { }; template struct is_reference_to_pointer : mpl::true_ { }; template struct is_reference_to_class : mpl::and_< is_reference , is_class< typename remove_cv< typename remove_reference::type >::type > > { }; template struct is_pointer_to_class : mpl::and_< is_pointer , is_class< typename remove_cv< typename remove_pointer::type >::type > > { }; # 481 "/usr/include/boost-1_42/boost/detail/indirect_traits.hpp" } using namespace indirect_traits; }} # 8 "/usr/include/boost-1_42/boost/python/detail/indirect_traits.hpp" 2 namespace boost { namespace python { namespace indirect_traits = boost::detail::indirect_traits; }} # 10 "/usr/include/boost-1_42/boost/python/detail/unwind_type.hpp" 2 namespace boost { namespace python { namespace detail { template inline typename Generator::result_type unwind_type(U const& p, Generator* = 0); template inline typename Generator::result_type unwind_type(boost::type*p = 0, Generator* = 0); template inline typename Generator::result_type unwind_type_cv(U* p, cv_unqualified, Generator* = 0) { return Generator::execute(p); } template inline typename Generator::result_type unwind_type_cv(U const* p, const_, Generator* = 0) { return unwind_type(const_cast(p), (Generator*)0); } template inline typename Generator::result_type unwind_type_cv(U volatile* p, volatile_, Generator* = 0) { return unwind_type(const_cast(p), (Generator*)0); } template inline typename Generator::result_type unwind_type_cv(U const volatile* p, const_volatile_, Generator* = 0) { return unwind_type(const_cast(p), (Generator*)0); } template inline typename Generator::result_type unwind_ptr_type(U* p, Generator* = 0) { typedef typename cv_category::type tag; return unwind_type_cv(p, tag()); } template struct unwind_helper { template static typename Generator::result_type execute(U p, Generator* = 0) { return unwind_ptr_type(p, (Generator*)0); } }; template <> struct unwind_helper { template static typename Generator::result_type execute(U& p, Generator* = 0) { return unwind_ptr_type(&p, (Generator*)0); } }; template inline typename Generator::result_type unwind_type(U const& p, Generator*) { return unwind_helper::value>::execute(p, (Generator*)0); } enum { direct_ = 0, pointer_ = 1, reference_ = 2, reference_to_pointer_ = 3 }; template struct unwind_helper2; template <> struct unwind_helper2 { template static typename Generator::result_type execute(U(*)(), Generator* = 0) { return unwind_ptr_type((U*)0, (Generator*)0); } }; template <> struct unwind_helper2 { template static typename Generator::result_type execute(U*(*)(), Generator* = 0) { return unwind_ptr_type((U*)0, (Generator*)0); } }; template <> struct unwind_helper2 { template static typename Generator::result_type execute(U&(*)(), Generator* = 0) { return unwind_ptr_type((U*)0, (Generator*)0); } }; template <> struct unwind_helper2 { template static typename Generator::result_type execute(U&(*)(), Generator* = 0) { return unwind_ptr_type(U(0), (Generator*)0); } }; # 149 "/usr/include/boost-1_42/boost/python/detail/unwind_type.hpp" template inline typename Generator::result_type unwind_type(boost::type*, Generator*) { static const int indirection = (boost::is_pointer::value ? pointer_ : 0) + (indirect_traits::is_reference_to_pointer::value ? reference_to_pointer_ : boost::is_reference::value ? reference_ : 0) ; return unwind_helper2::execute((U(*)())0,(Generator*)0); } }}} # 11 "/usr/include/boost-1_42/boost/python/converter/pytype_function.hpp" 2 namespace boost { namespace python { namespace converter { template struct wrap_pytype { static PyTypeObject const* get_pytype() { return python_type; } }; typedef PyTypeObject const* (*pytype_function)(); namespace detail { struct unwind_type_id_helper{ typedef python::type_info result_type; template static result_type execute(U* ){ return python::type_id(); } }; template inline python::type_info unwind_type_id_(boost::type* = 0, mpl::false_ * =0) { return boost::python::detail::unwind_type (); } inline python::type_info unwind_type_id_(boost::type* = 0, mpl::true_* =0) { return type_id(); } template inline python::type_info unwind_type_id(boost::type* p= 0) { return unwind_type_id_(p, (mpl::bool_::value >*)0 ); } } template struct expected_pytype_for_arg { static PyTypeObject const *get_pytype() { const converter::registration *r=converter::registry::query( detail::unwind_type_id_((boost::type*)0, (mpl::bool_::value >*)0 ) ); return r ? r->expected_from_python_type(): 0; } }; template struct registered_pytype { static PyTypeObject const *get_pytype() { const converter::registration *r=converter::registry::query( detail::unwind_type_id_((boost::type*) 0, (mpl::bool_::value >*)0 ) ); return r ? r->m_class_object: 0; } }; template struct registered_pytype_direct { static PyTypeObject const* get_pytype() { return registered::converters.m_class_object; } }; template struct expected_from_python_type : expected_pytype_for_arg{}; template struct expected_from_python_type_direct { static PyTypeObject const* get_pytype() { return registered::converters.expected_from_python_type(); } }; template struct to_python_target_type { static PyTypeObject const *get_pytype() { const converter::registration *r=converter::registry::query( detail::unwind_type_id_((boost::type*)0, (mpl::bool_::value >*)0 ) ); return r ? r->to_python_target_type(): 0; } }; template struct to_python_target_type_direct { static PyTypeObject const *get_pytype() { return registered::converters.to_python_target_type(); } }; }}} # 17 "/usr/include/boost-1_42/boost/python/to_python_indirect.hpp" 2 # 32 "/usr/include/boost-1_42/boost/python/to_python_indirect.hpp" namespace boost { namespace python { template struct to_python_indirect { template inline PyObject* operator()(U const& ref) const { return this->execute(const_cast(ref), is_pointer()); } inline PyTypeObject const* get_pytype()const { return converter::registered_pytype::get_pytype(); } private: template inline PyObject* execute(U* ptr, mpl::true_) const { if (ptr == 0) return python::detail::none(); else return this->execute(*ptr, mpl::false_()); } template inline PyObject* execute(U const& x, mpl::false_) const { U* const p = &const_cast(x); if (is_polymorphic::value) { if (PyObject* o = detail::wrapper_base_::owner(p)) return incref(o); } return MakeHolder::execute(p); } }; namespace detail { struct make_owning_holder { template static PyObject* execute(T* p) { typedef std::auto_ptr smart_pointer; typedef objects::pointer_holder holder_t; smart_pointer ptr(const_cast(p)); return objects::make_ptr_instance::execute(ptr); } }; struct make_reference_holder { template static PyObject* execute(T* p) { typedef objects::pointer_holder holder_t; T* q = const_cast(p); return objects::make_ptr_instance::execute(q); } }; } }} # 11 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/registered_pointee.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/converter/pointer_type_id.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/converter/pointer_type_id.hpp" namespace boost { namespace python { namespace converter { namespace detail { template struct pointer_typeid_select { template static inline type_info execute(T*(*)() = 0) { return type_id(); } }; template <> struct pointer_typeid_select { template static inline type_info execute(T* const volatile&(*)() = 0) { return type_id(); } template static inline type_info execute(T*volatile&(*)() = 0) { return type_id(); } template static inline type_info execute(T*const&(*)() = 0) { return type_id(); } template static inline type_info execute(T*&(*)() = 0) { return type_id(); } }; } template type_info pointer_type_id(T(*)() = 0) { return detail::pointer_typeid_select< is_reference::value >::execute((T(*)())0); } }}} # 9 "/usr/include/boost-1_42/boost/python/converter/registered_pointee.hpp" 2 namespace boost { namespace python { namespace converter { struct registration; template struct registered_pointee : registered< typename remove_pointer< typename remove_cv< typename remove_reference::type >::type >::type > { }; # 60 "/usr/include/boost-1_42/boost/python/converter/registered_pointee.hpp" }}} # 14 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/arg_to_python_base.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/converter/arg_to_python_base.hpp" namespace boost { namespace python { namespace converter { struct registration; namespace detail { struct arg_to_python_base : handle<> { arg_to_python_base(void const volatile* source, registration const&); }; } }}} # 15 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/shared_ptr_to_python.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/converter/shared_ptr_to_python.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/shared_ptr_deleter.hpp" 1 namespace boost { namespace python { namespace converter { struct shared_ptr_deleter { shared_ptr_deleter(handle<> owner); ~shared_ptr_deleter(); void operator()(void const*); handle<> owner; }; }}} # 10 "/usr/include/boost-1_42/boost/python/converter/shared_ptr_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/shared_ptr.hpp" 1 # 17 "/usr/include/boost-1_42/boost/shared_ptr.hpp" # 1 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" 1 # 29 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" # 1 "/usr/include/boost-1_42/boost/assert.hpp" 1 # 36 "/usr/include/boost-1_42/boost/assert.hpp" # 1 "/usr/include/assert.h" 1 3 4 # 37 "/usr/include/boost-1_42/boost/assert.hpp" 2 # 30 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" 2 # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" 1 # 28 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" # 1 "/usr/include/boost-1_42/boost/smart_ptr/bad_weak_ptr.hpp" 1 # 26 "/usr/include/boost-1_42/boost/smart_ptr/bad_weak_ptr.hpp" namespace boost { # 39 "/usr/include/boost-1_42/boost/smart_ptr/bad_weak_ptr.hpp" class bad_weak_ptr: public std::exception { public: virtual char const * what() const throw() { return "tr1::bad_weak_ptr"; } }; } # 29 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" 2 # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_base.hpp" 1 # 21 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_base.hpp" # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_has_sync.hpp" 1 # 22 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_base.hpp" 2 # 36 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_base.hpp" # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp" 1 # 29 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp" namespace boost { namespace detail { inline int atomic_exchange_and_add( int * pw, int dv ) { int r; __asm__ __volatile__ ( "lock\n\t" "xadd %1, %0": "=m"( *pw ), "=r"( r ): "m"( *pw ), "1"( dv ): "memory", "cc" ); return r; } inline void atomic_increment( int * pw ) { __asm__ ( "lock\n\t" "incl %0": "=m"( *pw ): "m"( *pw ): "cc" ); } inline int atomic_conditional_increment( int * pw ) { int rv, tmp; __asm__ ( "movl %0, %%eax\n\t" "0:\n\t" "test %%eax, %%eax\n\t" "je 1f\n\t" "movl %%eax, %2\n\t" "incl %2\n\t" "lock\n\t" "cmpxchgl %2, %0\n\t" "jne 0b\n\t" "1:": "=m"( *pw ), "=&a"( rv ), "=&r"( tmp ): "m"( *pw ): "cc" ); return rv; } class sp_counted_base { private: sp_counted_base( sp_counted_base const & ); sp_counted_base & operator= ( sp_counted_base const & ); int use_count_; int weak_count_; public: sp_counted_base(): use_count_( 1 ), weak_count_( 1 ) { } virtual ~sp_counted_base() { } virtual void dispose() = 0; virtual void destroy() { delete this; } virtual void * get_deleter( sp_typeinfo const & ti ) = 0; void add_ref_copy() { atomic_increment( &use_count_ ); } bool add_ref_lock() { return atomic_conditional_increment( &use_count_ ) != 0; } void release() { if( atomic_exchange_and_add( &use_count_, -1 ) == 1 ) { dispose(); weak_release(); } } void weak_add_ref() { atomic_increment( &weak_count_ ); } void weak_release() { if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 ) { destroy(); } } long use_count() const { return static_cast( use_count_ ); } }; } } # 37 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_base.hpp" 2 # 30 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" 2 # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_impl.hpp" 1 # 38 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_impl.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 39 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_impl.hpp" 2 namespace boost { # 50 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_impl.hpp" namespace detail { template class sp_counted_impl_p: public sp_counted_base { private: X * px_; sp_counted_impl_p( sp_counted_impl_p const & ); sp_counted_impl_p & operator= ( sp_counted_impl_p const & ); typedef sp_counted_impl_p this_type; public: explicit sp_counted_impl_p( X * px ): px_( px ) { } virtual void dispose() { boost::checked_delete( px_ ); } virtual void * get_deleter( detail::sp_typeinfo const & ) { return 0; } # 113 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_impl.hpp" }; # 122 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_impl.hpp" template class sp_counted_impl_pd: public sp_counted_base { private: P ptr; D del; sp_counted_impl_pd( sp_counted_impl_pd const & ); sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & ); typedef sp_counted_impl_pd this_type; public: sp_counted_impl_pd( P p, D d ): ptr(p), del(d) { } virtual void dispose() { del( ptr ); } virtual void * get_deleter( detail::sp_typeinfo const & ti ) { return ti == typeid(D)? &reinterpret_cast( del ): 0; } # 179 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_counted_impl.hpp" }; template class sp_counted_impl_pda: public sp_counted_base { private: P p_; D d_; A a_; sp_counted_impl_pda( sp_counted_impl_pda const & ); sp_counted_impl_pda & operator= ( sp_counted_impl_pda const & ); typedef sp_counted_impl_pda this_type; public: sp_counted_impl_pda( P p, D d, A a ): p_( p ), d_( d ), a_( a ) { } virtual void dispose() { d_( p_ ); } virtual void destroy() { typedef typename A::template rebind< this_type >::other A2; A2 a2( a_ ); this->~this_type(); a2.deallocate( this, 1 ); } virtual void * get_deleter( detail::sp_typeinfo const & ti ) { return ti == typeid(D)? &reinterpret_cast( d_ ): 0; } }; } } # 31 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" 2 # 40 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" namespace boost { namespace detail { # 53 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" struct sp_nothrow_tag {}; class weak_count; class shared_count { private: sp_counted_base * pi_; friend class weak_count; public: shared_count(): pi_(0) { } template explicit shared_count( Y * p ): pi_( 0 ) { try { pi_ = new sp_counted_impl_p( p ); } catch(...) { boost::checked_delete( p ); throw; } # 106 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" } template shared_count( P p, D d ): pi_(0) { try { pi_ = new sp_counted_impl_pd(p, d); } catch(...) { d(p); throw; } # 143 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" } template shared_count( P p, D d, A a ): pi_( 0 ) { typedef sp_counted_impl_pda impl_type; typedef typename A::template rebind< impl_type >::other A2; A2 a2( a ); try { pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) ); new( static_cast< void* >( pi_ ) ) impl_type( p, d, a ); } catch(...) { d( p ); if( pi_ != 0 ) { a2.deallocate( static_cast< impl_type* >( pi_ ), 1 ); } throw; } # 189 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" } template explicit shared_count( std::auto_ptr & r ): pi_( new sp_counted_impl_p( r.get() ) ) { # 210 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" r.release(); } ~shared_count() { if( pi_ != 0 ) pi_->release(); } shared_count(shared_count const & r): pi_(r.pi_) { if( pi_ != 0 ) pi_->add_ref_copy(); } # 243 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" explicit shared_count(weak_count const & r); shared_count( weak_count const & r, sp_nothrow_tag ); shared_count & operator= (shared_count const & r) { sp_counted_base * tmp = r.pi_; if( tmp != pi_ ) { if( tmp != 0 ) tmp->add_ref_copy(); if( pi_ != 0 ) pi_->release(); pi_ = tmp; } return *this; } void swap(shared_count & r) { sp_counted_base * tmp = r.pi_; r.pi_ = pi_; pi_ = tmp; } long use_count() const { return pi_ != 0? pi_->use_count(): 0; } bool unique() const { return use_count() == 1; } bool empty() const { return pi_ == 0; } friend inline bool operator==(shared_count const & a, shared_count const & b) { return a.pi_ == b.pi_; } friend inline bool operator<(shared_count const & a, shared_count const & b) { return std::less()( a.pi_, b.pi_ ); } void * get_deleter( sp_typeinfo const & ti ) const { return pi_? pi_->get_deleter( ti ): 0; } }; class weak_count { private: sp_counted_base * pi_; friend class shared_count; public: weak_count(): pi_(0) { } weak_count(shared_count const & r): pi_(r.pi_) { if(pi_ != 0) pi_->weak_add_ref(); } weak_count(weak_count const & r): pi_(r.pi_) { if(pi_ != 0) pi_->weak_add_ref(); } # 350 "/usr/include/boost-1_42/boost/smart_ptr/detail/shared_count.hpp" ~weak_count() { if(pi_ != 0) pi_->weak_release(); } weak_count & operator= (shared_count const & r) { sp_counted_base * tmp = r.pi_; if( tmp != pi_ ) { if(tmp != 0) tmp->weak_add_ref(); if(pi_ != 0) pi_->weak_release(); pi_ = tmp; } return *this; } weak_count & operator= (weak_count const & r) { sp_counted_base * tmp = r.pi_; if( tmp != pi_ ) { if(tmp != 0) tmp->weak_add_ref(); if(pi_ != 0) pi_->weak_release(); pi_ = tmp; } return *this; } void swap(weak_count & r) { sp_counted_base * tmp = r.pi_; r.pi_ = pi_; pi_ = tmp; } long use_count() const { return pi_ != 0? pi_->use_count(): 0; } bool empty() const { return pi_ == 0; } friend inline bool operator==(weak_count const & a, weak_count const & b) { return a.pi_ == b.pi_; } friend inline bool operator<(weak_count const & a, weak_count const & b) { return std::less()(a.pi_, b.pi_); } }; inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ ) { if( pi_ == 0 || !pi_->add_ref_lock() ) { boost::throw_exception( boost::bad_weak_ptr() ); } } inline shared_count::shared_count( weak_count const & r, sp_nothrow_tag ): pi_( r.pi_ ) { if( pi_ != 0 && !pi_->add_ref_lock() ) { pi_ = 0; } } } } # 33 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" 2 # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_convertible.hpp" 1 # 34 "/usr/include/boost-1_42/boost/smart_ptr/detail/sp_convertible.hpp" namespace boost { namespace detail { template< class Y, class T > struct sp_convertible { typedef char (&yes) [1]; typedef char (&no) [2]; static yes f( T* ); static no f( ... ); enum _vt { value = sizeof( f( static_cast(0) ) ) == sizeof(yes) }; }; struct sp_empty { }; template< bool > struct sp_enable_if_convertible_impl; template<> struct sp_enable_if_convertible_impl { typedef sp_empty type; }; template<> struct sp_enable_if_convertible_impl { }; template< class Y, class T > struct sp_enable_if_convertible: public sp_enable_if_convertible_impl< sp_convertible< Y, T >::value > { }; } } # 35 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" 2 # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock_pool.hpp" 1 # 25 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock_pool.hpp" # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock.hpp" 1 # 38 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock.hpp" # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock_sync.hpp" 1 # 18 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock_sync.hpp" # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/yield_k.hpp" 1 # 91 "/usr/include/boost-1_42/boost/smart_ptr/detail/yield_k.hpp" namespace boost { namespace detail { inline void yield( unsigned k ) { if( k < 4 ) { } else if( k < 16 ) { __asm__ __volatile__( "rep; nop" : : : "memory" ); } else if( k < 32 || k & 1 ) { sched_yield(); } else { struct timespec rqtp = { 0, 0 }; rqtp.tv_sec = 0; rqtp.tv_nsec = 1000; nanosleep( &rqtp, 0 ); } } } } # 19 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock_sync.hpp" 2 namespace boost { namespace detail { class spinlock { public: int v_; public: bool try_lock() { int r = __sync_lock_test_and_set( &v_, 1 ); return r == 0; } void lock() { for( unsigned k = 0; !try_lock(); ++k ) { boost::detail::yield( k ); } } void unlock() { __sync_lock_release( &v_ ); } public: class scoped_lock { private: spinlock & sp_; scoped_lock( scoped_lock const & ); scoped_lock & operator=( scoped_lock const & ); public: explicit scoped_lock( spinlock & sp ): sp_( sp ) { sp.lock(); } ~scoped_lock() { sp_.unlock(); } }; }; } } # 39 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock.hpp" 2 # 26 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock_pool.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 27 "/usr/include/boost-1_42/boost/smart_ptr/detail/spinlock_pool.hpp" 2 namespace boost { namespace detail { template< int I > class spinlock_pool { private: static spinlock pool_[ 41 ]; public: static spinlock & spinlock_for( void const * pv ) { std::size_t i = reinterpret_cast< std::size_t >( pv ) % 41; return pool_[ i ]; } class scoped_lock { private: spinlock & sp_; scoped_lock( scoped_lock const & ); scoped_lock & operator=( scoped_lock const & ); public: explicit scoped_lock( void const * pv ): sp_( spinlock_for( pv ) ) { sp_.lock(); } ~scoped_lock() { sp_.unlock(); } }; }; template< int I > spinlock spinlock_pool< I >::pool_[ 41 ] = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0} }; } } # 38 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" 2 # 1 "/usr/include/boost-1_42/boost/memory_order.hpp" 1 # 21 "/usr/include/boost-1_42/boost/memory_order.hpp" namespace boost { # 41 "/usr/include/boost-1_42/boost/memory_order.hpp" enum memory_order { memory_order_relaxed = 0, memory_order_acquire = 1, memory_order_release = 2, memory_order_acq_rel = 3, memory_order_seq_cst = 7, memory_order_consume = 8 }; } # 39 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" 2 # 58 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" namespace boost { template class shared_ptr; template class weak_ptr; template class enable_shared_from_this; template class enable_shared_from_this2; namespace detail { struct static_cast_tag {}; struct const_cast_tag {}; struct dynamic_cast_tag {}; struct polymorphic_cast_tag {}; template struct shared_ptr_traits { typedef T & reference; }; template<> struct shared_ptr_traits { typedef void reference; }; template<> struct shared_ptr_traits { typedef void reference; }; template<> struct shared_ptr_traits { typedef void reference; }; template<> struct shared_ptr_traits { typedef void reference; }; template< class X, class Y, class T > inline void sp_enable_shared_from_this( boost::shared_ptr const * ppx, Y const * py, boost::enable_shared_from_this< T > const * pe ) { if( pe != 0 ) { pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) ); } } template< class X, class Y, class T > inline void sp_enable_shared_from_this( boost::shared_ptr * ppx, Y const * py, boost::enable_shared_from_this2< T > const * pe ) { if( pe != 0 ) { pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) ); } } # 136 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" inline void sp_enable_shared_from_this( ... ) { } template< class T, class R > struct sp_enable_if_auto_ptr { }; template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R > { typedef R type; }; } # 168 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" template class shared_ptr { private: typedef shared_ptr this_type; public: typedef T element_type; typedef T value_type; typedef T * pointer; typedef typename boost::detail::shared_ptr_traits::reference reference; shared_ptr(): px(0), pn() { } template explicit shared_ptr( Y * p ): px( p ), pn( p ) { boost::detail::sp_enable_shared_from_this( this, p, p ); } template shared_ptr(Y * p, D d): px(p), pn(p, d) { boost::detail::sp_enable_shared_from_this( this, p, p ); } template shared_ptr( Y * p, D d, A a ): px( p ), pn( p, d, a ) { boost::detail::sp_enable_shared_from_this( this, p, p ); } template explicit shared_ptr(weak_ptr const & r): pn(r.pn) { px = r.px; } template shared_ptr( weak_ptr const & r, boost::detail::sp_nothrow_tag ): px( 0 ), pn( r.pn, boost::detail::sp_nothrow_tag() ) { if( !pn.empty() ) { px = r.px; } } template shared_ptr( shared_ptr const & r, typename boost::detail::sp_enable_if_convertible::type = boost::detail::sp_empty() ) : px( r.px ), pn( r.pn ) { } template< class Y > shared_ptr( shared_ptr const & r, T * p ): px( p ), pn( r.pn ) { } template shared_ptr(shared_ptr const & r, boost::detail::static_cast_tag): px(static_cast(r.px)), pn(r.pn) { } template shared_ptr(shared_ptr const & r, boost::detail::const_cast_tag): px(const_cast(r.px)), pn(r.pn) { } template shared_ptr(shared_ptr const & r, boost::detail::dynamic_cast_tag): px(dynamic_cast(r.px)), pn(r.pn) { if(px == 0) { pn = boost::detail::shared_count(); } } template shared_ptr(shared_ptr const & r, boost::detail::polymorphic_cast_tag): px(dynamic_cast(r.px)), pn(r.pn) { if(px == 0) { boost::throw_exception(std::bad_cast()); } } template explicit shared_ptr(std::auto_ptr & r): px(r.get()), pn() { Y * tmp = r.get(); pn = boost::detail::shared_count(r); boost::detail::sp_enable_shared_from_this( this, tmp, tmp ); } template explicit shared_ptr( Ap r, typename boost::detail::sp_enable_if_auto_ptr::type = 0 ): px( r.get() ), pn() { typename Ap::element_type * tmp = r.get(); pn = boost::detail::shared_count( r ); boost::detail::sp_enable_shared_from_this( this, tmp, tmp ); } # 303 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" shared_ptr & operator=( shared_ptr const & r ) { this_type(r).swap(*this); return *this; } template shared_ptr & operator=(shared_ptr const & r) { this_type(r).swap(*this); return *this; } template shared_ptr & operator=( std::auto_ptr & r ) { this_type(r).swap(*this); return *this; } template typename boost::detail::sp_enable_if_auto_ptr< Ap, shared_ptr & >::type operator=( Ap r ) { this_type( r ).swap( *this ); return *this; } # 384 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" void reset() { this_type().swap(*this); } template void reset(Y * p) { (static_cast (0)); this_type(p).swap(*this); } template void reset( Y * p, D d ) { this_type( p, d ).swap( *this ); } template void reset( Y * p, D d, A a ) { this_type( p, d, a ).swap( *this ); } template void reset( shared_ptr const & r, T * p ) { this_type( r, p ).swap( *this ); } reference operator* () const { (static_cast (0)); return *px; } T * operator-> () const { (static_cast (0)); return px; } T * get() const { return px; } # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/operator_bool.hpp" 1 # 43 "/usr/include/boost-1_42/boost/smart_ptr/detail/operator_bool.hpp" typedef T * this_type::*unspecified_bool_type; operator unspecified_bool_type() const { return px == 0? 0: &this_type::px; } bool operator! () const { return px == 0; } # 429 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" 2 bool unique() const { return pn.unique(); } long use_count() const { return pn.use_count(); } void swap(shared_ptr & other) { std::swap(px, other.px); pn.swap(other.pn); } template bool _internal_less(shared_ptr const & rhs) const { return pn < rhs.pn; } void * _internal_get_deleter( boost::detail::sp_typeinfo const & ti ) const { return pn.get_deleter( ti ); } bool _internal_equiv( shared_ptr const & r ) const { return px == r.px && pn == r.pn; } private: template friend class shared_ptr; template friend class weak_ptr; T * px; boost::detail::shared_count pn; }; template inline bool operator==(shared_ptr const & a, shared_ptr const & b) { return a.get() == b.get(); } template inline bool operator!=(shared_ptr const & a, shared_ptr const & b) { return a.get() != b.get(); } # 500 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" template inline bool operator<(shared_ptr const & a, shared_ptr const & b) { return a._internal_less(b); } template inline void swap(shared_ptr & a, shared_ptr & b) { a.swap(b); } template shared_ptr static_pointer_cast(shared_ptr const & r) { return shared_ptr(r, boost::detail::static_cast_tag()); } template shared_ptr const_pointer_cast(shared_ptr const & r) { return shared_ptr(r, boost::detail::const_cast_tag()); } template shared_ptr dynamic_pointer_cast(shared_ptr const & r) { return shared_ptr(r, boost::detail::dynamic_cast_tag()); } template shared_ptr shared_static_cast(shared_ptr const & r) { return shared_ptr(r, boost::detail::static_cast_tag()); } template shared_ptr shared_dynamic_cast(shared_ptr const & r) { return shared_ptr(r, boost::detail::dynamic_cast_tag()); } template shared_ptr shared_polymorphic_cast(shared_ptr const & r) { return shared_ptr(r, boost::detail::polymorphic_cast_tag()); } template shared_ptr shared_polymorphic_downcast(shared_ptr const & r) { (static_cast (0)); return shared_static_cast(r); } template inline T * get_pointer(shared_ptr const & p) { return p.get(); } # 577 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" template std::basic_ostream & operator<< (std::basic_ostream & os, shared_ptr const & p) { os << p.get(); return os; } # 607 "/usr/include/boost-1_42/boost/smart_ptr/shared_ptr.hpp" template D * get_deleter(shared_ptr const & p) { return static_cast(p._internal_get_deleter(typeid(D))); } template inline bool atomic_is_lock_free( shared_ptr const * ) { return false; } template shared_ptr atomic_load( shared_ptr const * p ) { boost::detail::spinlock_pool<2>::scoped_lock lock( p ); return *p; } template inline shared_ptr atomic_load_explicit( shared_ptr const * p, memory_order ) { return atomic_load( p ); } template void atomic_store( shared_ptr * p, shared_ptr r ) { boost::detail::spinlock_pool<2>::scoped_lock lock( p ); p->swap( r ); } template inline void atomic_store_explicit( shared_ptr * p, shared_ptr r, memory_order ) { atomic_store( p, r ); } template shared_ptr atomic_exchange( shared_ptr * p, shared_ptr r ) { boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p ); sp.lock(); p->swap( r ); sp.unlock(); return r; } template shared_ptr atomic_exchange_explicit( shared_ptr * p, shared_ptr r, memory_order ) { return atomic_exchange( p, r ); } template bool atomic_compare_exchange( shared_ptr * p, shared_ptr * v, shared_ptr w ) { boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p ); sp.lock(); if( p->_internal_equiv( *v ) ) { p->swap( w ); sp.unlock(); return true; } else { shared_ptr tmp( *p ); sp.unlock(); tmp.swap( *v ); return false; } } template inline bool atomic_compare_exchange_explicit( shared_ptr * p, shared_ptr * v, shared_ptr w, memory_order , memory_order ) { return atomic_compare_exchange( p, v, w ); } } # 18 "/usr/include/boost-1_42/boost/shared_ptr.hpp" 2 # 11 "/usr/include/boost-1_42/boost/python/converter/shared_ptr_to_python.hpp" 2 namespace boost { namespace python { namespace converter { template PyObject* shared_ptr_to_python(shared_ptr const& x) { if (!x) return python::detail::none(); else if (shared_ptr_deleter* d = boost::get_deleter(x)) return incref( get_pointer( d->owner ) ); else return converter::registered const&>::converters.to_python(&x); } }}} # 16 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/builtin_converters.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/converter/builtin_converters.hpp" # 1 "/usr/include/boost-1_42/boost/python/ssize_t.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/ssize_t.hpp" namespace boost { namespace python { typedef Py_ssize_t ssize_t; ssize_t const ssize_t_max = ((Py_ssize_t)(((size_t)-1)>>1)); ssize_t const ssize_t_min = (-((Py_ssize_t)(((size_t)-1)>>1))-1); # 27 "/usr/include/boost-1_42/boost/python/ssize_t.hpp" }} # 11 "/usr/include/boost-1_42/boost/python/converter/builtin_converters.hpp" 2 # 1 "/usr/include/boost-1_42/boost/implicit_cast.hpp" 1 # 1 "/usr/include/boost-1_42/boost/mpl/identity.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/identity.hpp" namespace boost { namespace mpl { template< typename T = na > struct identity { typedef T type; }; template< typename T = na > struct make_identity { typedef identity type; }; template<> struct identity< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : identity< T1 > { }; }; template< typename Tag > struct lambda< identity< na > , Tag , int_<-1> > { typedef false_ is_le; typedef identity< na > result_; typedef identity< na > type; }; namespace aux { template< typename T1 > struct template_arity< identity< T1 > > : int_<1> { }; template<> struct template_arity< identity< na > > : int_<-1> { }; } template<> struct make_identity< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : make_identity< T1 > { }; }; template< typename Tag > struct lambda< make_identity< na > , Tag , int_<-1> > { typedef false_ is_le; typedef make_identity< na > result_; typedef make_identity< na > type; }; namespace aux { template< typename T1 > struct template_arity< make_identity< T1 > > : int_<1> { }; template<> struct template_arity< make_identity< na > > : int_<-1> { }; } }} # 9 "/usr/include/boost-1_42/boost/implicit_cast.hpp" 2 namespace boost { template inline T implicit_cast (typename mpl::identity::type x) { return x; } } # 12 "/usr/include/boost-1_42/boost/python/converter/builtin_converters.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 3 # 77 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template _Tp __cmath_power(_Tp, unsigned int); template inline _Tp __pow_helper(_Tp __x, int __n) { return __n < 0 ? _Tp(1)/__cmath_power(__x, -__n) : __cmath_power(__x, __n); } inline double abs(double __x) { return __builtin_fabs(__x); } inline float abs(float __x) { return __builtin_fabsf(__x); } inline long double abs(long double __x) { return __builtin_fabsl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type abs(_Tp __x) { return __builtin_fabs(__x); } using ::acos; inline float acos(float __x) { return __builtin_acosf(__x); } inline long double acos(long double __x) { return __builtin_acosl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type acos(_Tp __x) { return __builtin_acos(__x); } using ::asin; inline float asin(float __x) { return __builtin_asinf(__x); } inline long double asin(long double __x) { return __builtin_asinl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type asin(_Tp __x) { return __builtin_asin(__x); } using ::atan; inline float atan(float __x) { return __builtin_atanf(__x); } inline long double atan(long double __x) { return __builtin_atanl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type atan(_Tp __x) { return __builtin_atan(__x); } using ::atan2; inline float atan2(float __y, float __x) { return __builtin_atan2f(__y, __x); } inline long double atan2(long double __y, long double __x) { return __builtin_atan2l(__y, __x); } template inline typename __gnu_cxx::__promote_2< typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value && __is_arithmetic<_Up>::__value, _Tp>::__type, _Up>::__type atan2(_Tp __y, _Up __x) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return atan2(__type(__y), __type(__x)); } using ::ceil; inline float ceil(float __x) { return __builtin_ceilf(__x); } inline long double ceil(long double __x) { return __builtin_ceill(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type ceil(_Tp __x) { return __builtin_ceil(__x); } using ::cos; inline float cos(float __x) { return __builtin_cosf(__x); } inline long double cos(long double __x) { return __builtin_cosl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type cos(_Tp __x) { return __builtin_cos(__x); } using ::cosh; inline float cosh(float __x) { return __builtin_coshf(__x); } inline long double cosh(long double __x) { return __builtin_coshl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type cosh(_Tp __x) { return __builtin_cosh(__x); } using ::exp; inline float exp(float __x) { return __builtin_expf(__x); } inline long double exp(long double __x) { return __builtin_expl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type exp(_Tp __x) { return __builtin_exp(__x); } using ::fabs; inline float fabs(float __x) { return __builtin_fabsf(__x); } inline long double fabs(long double __x) { return __builtin_fabsl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type fabs(_Tp __x) { return __builtin_fabs(__x); } using ::floor; inline float floor(float __x) { return __builtin_floorf(__x); } inline long double floor(long double __x) { return __builtin_floorl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type floor(_Tp __x) { return __builtin_floor(__x); } using ::fmod; inline float fmod(float __x, float __y) { return __builtin_fmodf(__x, __y); } inline long double fmod(long double __x, long double __y) { return __builtin_fmodl(__x, __y); } using ::frexp; inline float frexp(float __x, int* __exp) { return __builtin_frexpf(__x, __exp); } inline long double frexp(long double __x, int* __exp) { return __builtin_frexpl(__x, __exp); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type frexp(_Tp __x, int* __exp) { return __builtin_frexp(__x, __exp); } using ::ldexp; inline float ldexp(float __x, int __exp) { return __builtin_ldexpf(__x, __exp); } inline long double ldexp(long double __x, int __exp) { return __builtin_ldexpl(__x, __exp); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type ldexp(_Tp __x, int __exp) { return __builtin_ldexp(__x, __exp); } using ::log; inline float log(float __x) { return __builtin_logf(__x); } inline long double log(long double __x) { return __builtin_logl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log(_Tp __x) { return __builtin_log(__x); } using ::log10; inline float log10(float __x) { return __builtin_log10f(__x); } inline long double log10(long double __x) { return __builtin_log10l(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log10(_Tp __x) { return __builtin_log10(__x); } using ::modf; inline float modf(float __x, float* __iptr) { return __builtin_modff(__x, __iptr); } inline long double modf(long double __x, long double* __iptr) { return __builtin_modfl(__x, __iptr); } using ::pow; inline float pow(float __x, float __y) { return __builtin_powf(__x, __y); } inline long double pow(long double __x, long double __y) { return __builtin_powl(__x, __y); } inline double pow(double __x, int __i) { return __builtin_powi(__x, __i); } inline float pow(float __x, int __n) { return __builtin_powif(__x, __n); } inline long double pow(long double __x, int __n) { return __builtin_powil(__x, __n); } template inline typename __gnu_cxx::__promote_2< typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value && __is_arithmetic<_Up>::__value, _Tp>::__type, _Up>::__type pow(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return pow(__type(__x), __type(__y)); } using ::sin; inline float sin(float __x) { return __builtin_sinf(__x); } inline long double sin(long double __x) { return __builtin_sinl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sin(_Tp __x) { return __builtin_sin(__x); } using ::sinh; inline float sinh(float __x) { return __builtin_sinhf(__x); } inline long double sinh(long double __x) { return __builtin_sinhl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sinh(_Tp __x) { return __builtin_sinh(__x); } using ::sqrt; inline float sqrt(float __x) { return __builtin_sqrtf(__x); } inline long double sqrt(long double __x) { return __builtin_sqrtl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sqrt(_Tp __x) { return __builtin_sqrt(__x); } using ::tan; inline float tan(float __x) { return __builtin_tanf(__x); } inline long double tan(long double __x) { return __builtin_tanl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tan(_Tp __x) { return __builtin_tan(__x); } using ::tanh; inline float tanh(float __x) { return __builtin_tanhf(__x); } inline long double tanh(long double __x) { return __builtin_tanhl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tanh(_Tp __x) { return __builtin_tanh(__x); } } # 498 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type fpclassify(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, __type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isfinite(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isfinite(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isinf(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isinf(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isnan(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isnan(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isnormal(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isnormal(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type signbit(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_signbit(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isgreater(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isgreater(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isgreaterequal(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isgreaterequal(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isless(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isless(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type islessequal(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_islessequal(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type islessgreater(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_islessgreater(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isunordered(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isunordered(__type(__f1), __type(__f2)); } } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/cmath.tcc" 1 3 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/cmath.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline _Tp __cmath_power(_Tp __x, unsigned int __n) { _Tp __y = __n % 2 ? __x : _Tp(1); while (__n >>= 1) { __x = __x * __x; if (__n % 2) __y = __y * __x; } return __y; } } # 616 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 2 3 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 57 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 template class basic_stringbuf : public basic_streambuf<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_streambuf __streambuf_type; typedef basic_string __string_type; typedef typename __string_type::size_type __size_type; protected: ios_base::openmode _M_mode; __string_type _M_string; public: # 91 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 explicit basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out) : __streambuf_type(), _M_mode(__mode), _M_string() { } # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 explicit basic_stringbuf(const __string_type& __str, ios_base::openmode __mode = ios_base::in | ios_base::out) : __streambuf_type(), _M_mode(), _M_string(__str.data(), __str.size()) { _M_stringbuf_init(__mode); } # 119 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 __string_type str() const { __string_type __ret; if (this->pptr()) { if (this->pptr() > this->egptr()) __ret = __string_type(this->pbase(), this->pptr()); else __ret = __string_type(this->pbase(), this->egptr()); } else __ret = _M_string; return __ret; } # 143 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 void str(const __string_type& __s) { _M_string.assign(__s.data(), __s.size()); _M_stringbuf_init(_M_mode); } protected: void _M_stringbuf_init(ios_base::openmode __mode) { _M_mode = __mode; __size_type __len = 0; if (_M_mode & (ios_base::ate | ios_base::app)) __len = _M_string.size(); _M_sync(const_cast(_M_string.data()), 0, __len); } virtual streamsize showmanyc() { streamsize __ret = -1; if (_M_mode & ios_base::in) { _M_update_egptr(); __ret = this->egptr() - this->gptr(); } return __ret; } virtual int_type underflow(); virtual int_type pbackfail(int_type __c = traits_type::eof()); virtual int_type overflow(int_type __c = traits_type::eof()); # 195 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 virtual __streambuf_type* setbuf(char_type* __s, streamsize __n) { if (__s && __n >= 0) { _M_string.clear(); _M_sync(__s, __n, 0); } return this; } virtual pos_type seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out); virtual pos_type seekpos(pos_type __sp, ios_base::openmode __mode = ios_base::in | ios_base::out); void _M_sync(char_type* __base, __size_type __i, __size_type __o); void _M_update_egptr() { const bool __testin = _M_mode & ios_base::in; if (this->pptr() && this->pptr() > this->egptr()) { if (__testin) this->setg(this->eback(), this->gptr(), this->pptr()); else this->setg(this->pptr(), this->pptr(), this->pptr()); } } }; # 255 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 template class basic_istringstream : public basic_istream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_istream __istream_type; private: __stringbuf_type _M_stringbuf; public: # 291 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 explicit basic_istringstream(ios_base::openmode __mode = ios_base::in) : __istream_type(), _M_stringbuf(__mode | ios_base::in) { this->init(&_M_stringbuf); } # 309 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 explicit basic_istringstream(const __string_type& __str, ios_base::openmode __mode = ios_base::in) : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in) { this->init(&_M_stringbuf); } ~basic_istringstream() { } # 331 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; # 365 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 template class basic_ostringstream : public basic_ostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_ostream __ostream_type; private: __stringbuf_type _M_stringbuf; public: # 401 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 explicit basic_ostringstream(ios_base::openmode __mode = ios_base::out) : __ostream_type(), _M_stringbuf(__mode | ios_base::out) { this->init(&_M_stringbuf); } # 419 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 explicit basic_ostringstream(const __string_type& __str, ios_base::openmode __mode = ios_base::out) : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out) { this->init(&_M_stringbuf); } ~basic_ostringstream() { } # 441 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; # 475 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 template class basic_stringstream : public basic_iostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_iostream __iostream_type; private: __stringbuf_type _M_stringbuf; public: # 509 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 explicit basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in) : __iostream_type(), _M_stringbuf(__m) { this->init(&_M_stringbuf); } # 525 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 explicit basic_stringstream(const __string_type& __str, ios_base::openmode __m = ios_base::out | ios_base::in) : __iostream_type(), _M_stringbuf(__str, __m) { this->init(&_M_stringbuf); } ~basic_stringstream() { } # 547 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/sstream.tcc" 1 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/sstream.tcc" 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/sstream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: pbackfail(int_type __c) { int_type __ret = traits_type::eof(); if (this->eback() < this->gptr()) { const bool __testeof = traits_type::eq_int_type(__c, __ret); if (!__testeof) { const bool __testeq = traits_type::eq(traits_type:: to_char_type(__c), this->gptr()[-1]); const bool __testout = this->_M_mode & ios_base::out; if (__testeq || __testout) { this->gbump(-1); if (!__testeq) *this->gptr() = traits_type::to_char_type(__c); __ret = __c; } } else { this->gbump(-1); __ret = traits_type::not_eof(__c); } } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: overflow(int_type __c) { const bool __testout = this->_M_mode & ios_base::out; if (__builtin_expect(!__testout, false)) return traits_type::eof(); const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof()); if (__builtin_expect(__testeof, false)) return traits_type::not_eof(__c); const __size_type __capacity = _M_string.capacity(); const __size_type __max_size = _M_string.max_size(); const bool __testput = this->pptr() < this->epptr(); if (__builtin_expect(!__testput && __capacity == __max_size, false)) return traits_type::eof(); const char_type __conv = traits_type::to_char_type(__c); if (!__testput) { # 110 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/sstream.tcc" 3 const __size_type __opt_len = std::max(__size_type(2 * __capacity), __size_type(512)); const __size_type __len = std::min(__opt_len, __max_size); __string_type __tmp; __tmp.reserve(__len); if (this->pbase()) __tmp.assign(this->pbase(), this->epptr() - this->pbase()); __tmp.push_back(__conv); _M_string.swap(__tmp); _M_sync(const_cast(_M_string.data()), this->gptr() - this->eback(), this->pptr() - this->pbase()); } else *this->pptr() = __conv; this->pbump(1); return __c; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: underflow() { int_type __ret = traits_type::eof(); const bool __testin = this->_M_mode & ios_base::in; if (__testin) { _M_update_egptr(); if (this->gptr() < this->egptr()) __ret = traits_type::to_int_type(*this->gptr()); } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type basic_stringbuf<_CharT, _Traits, _Alloc>:: seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode) { pos_type __ret = pos_type(off_type(-1)); bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; const bool __testboth = __testin && __testout && __way != ios_base::cur; __testin &= !(__mode & ios_base::out); __testout &= !(__mode & ios_base::in); const char_type* __beg = __testin ? this->eback() : this->pbase(); if ((__beg || !__off) && (__testin || __testout || __testboth)) { _M_update_egptr(); off_type __newoffi = __off; off_type __newoffo = __newoffi; if (__way == ios_base::cur) { __newoffi += this->gptr() - __beg; __newoffo += this->pptr() - __beg; } else if (__way == ios_base::end) __newoffo = __newoffi += this->egptr() - __beg; if ((__testin || __testboth) && __newoffi >= 0 && this->egptr() - __beg >= __newoffi) { this->gbump((__beg + __newoffi) - this->gptr()); __ret = pos_type(__newoffi); } if ((__testout || __testboth) && __newoffo >= 0 && this->egptr() - __beg >= __newoffo) { this->pbump((__beg + __newoffo) - this->pptr()); __ret = pos_type(__newoffo); } } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type basic_stringbuf<_CharT, _Traits, _Alloc>:: seekpos(pos_type __sp, ios_base::openmode __mode) { pos_type __ret = pos_type(off_type(-1)); const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; const char_type* __beg = __testin ? this->eback() : this->pbase(); if ((__beg || !off_type(__sp)) && (__testin || __testout)) { _M_update_egptr(); const off_type __pos(__sp); const bool __testpos = (0 <= __pos && __pos <= this->egptr() - __beg); if (__testpos) { if (__testin) this->gbump((__beg + __pos) - this->gptr()); if (__testout) this->pbump((__beg + __pos) - this->pptr()); __ret = __sp; } } return __ret; } template void basic_stringbuf<_CharT, _Traits, _Alloc>:: _M_sync(char_type* __base, __size_type __i, __size_type __o) { const bool __testin = _M_mode & ios_base::in; const bool __testout = _M_mode & ios_base::out; char_type* __endg = __base + _M_string.size(); char_type* __endp = __base + _M_string.capacity(); if (__base != _M_string.data()) { __endg += __i; __i = 0; __endp = __endg; } if (__testin) this->setg(__base, __base + __i, __endg); if (__testout) { this->setp(__base, __endp); this->pbump(__o); if (!__testin) this->setg(__endg, __endg, __endg); } } extern template class basic_stringbuf; extern template class basic_istringstream; extern template class basic_ostringstream; extern template class basic_stringstream; extern template class basic_stringbuf; extern template class basic_istringstream; extern template class basic_ostringstream; extern template class basic_stringstream; } # 574 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/sstream" 2 3 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template class complex; template<> class complex; template<> class complex; template<> class complex; template _Tp abs(const complex<_Tp>&); template _Tp arg(const complex<_Tp>&); template _Tp norm(const complex<_Tp>&); template complex<_Tp> conj(const complex<_Tp>&); template complex<_Tp> polar(const _Tp&, const _Tp& = 0); template complex<_Tp> cos(const complex<_Tp>&); template complex<_Tp> cosh(const complex<_Tp>&); template complex<_Tp> exp(const complex<_Tp>&); template complex<_Tp> log(const complex<_Tp>&); template complex<_Tp> log10(const complex<_Tp>&); template complex<_Tp> pow(const complex<_Tp>&, int); template complex<_Tp> pow(const complex<_Tp>&, const _Tp&); template complex<_Tp> pow(const complex<_Tp>&, const complex<_Tp>&); template complex<_Tp> pow(const _Tp&, const complex<_Tp>&); template complex<_Tp> sin(const complex<_Tp>&); template complex<_Tp> sinh(const complex<_Tp>&); template complex<_Tp> sqrt(const complex<_Tp>&); template complex<_Tp> tan(const complex<_Tp>&); template complex<_Tp> tanh(const complex<_Tp>&); # 121 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template struct complex { typedef _Tp value_type; complex(const _Tp& __r = _Tp(), const _Tp& __i = _Tp()) : _M_real(__r), _M_imag(__i) { } template complex(const complex<_Up>& __z) : _M_real(__z.real()), _M_imag(__z.imag()) { } # 149 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 _Tp& real() { return _M_real; } const _Tp& real() const { return _M_real; } _Tp& imag() { return _M_imag; } const _Tp& imag() const { return _M_imag; } void real(_Tp __val) { _M_real = __val; } void imag(_Tp __val) { _M_imag = __val; } complex<_Tp>& operator=(const _Tp&); complex<_Tp>& operator+=(const _Tp& __t) { _M_real += __t; return *this; } complex<_Tp>& operator-=(const _Tp& __t) { _M_real -= __t; return *this; } complex<_Tp>& operator*=(const _Tp&); complex<_Tp>& operator/=(const _Tp&); template complex<_Tp>& operator=(const complex<_Up>&); template complex<_Tp>& operator+=(const complex<_Up>&); template complex<_Tp>& operator-=(const complex<_Up>&); template complex<_Tp>& operator*=(const complex<_Up>&); template complex<_Tp>& operator/=(const complex<_Up>&); const complex& __rep() const { return *this; } private: _Tp _M_real; _Tp _M_imag; }; template complex<_Tp>& complex<_Tp>::operator=(const _Tp& __t) { _M_real = __t; _M_imag = _Tp(); return *this; } template complex<_Tp>& complex<_Tp>::operator*=(const _Tp& __t) { _M_real *= __t; _M_imag *= __t; return *this; } template complex<_Tp>& complex<_Tp>::operator/=(const _Tp& __t) { _M_real /= __t; _M_imag /= __t; return *this; } template template complex<_Tp>& complex<_Tp>::operator=(const complex<_Up>& __z) { _M_real = __z.real(); _M_imag = __z.imag(); return *this; } template template complex<_Tp>& complex<_Tp>::operator+=(const complex<_Up>& __z) { _M_real += __z.real(); _M_imag += __z.imag(); return *this; } template template complex<_Tp>& complex<_Tp>::operator-=(const complex<_Up>& __z) { _M_real -= __z.real(); _M_imag -= __z.imag(); return *this; } template template complex<_Tp>& complex<_Tp>::operator*=(const complex<_Up>& __z) { const _Tp __r = _M_real * __z.real() - _M_imag * __z.imag(); _M_imag = _M_real * __z.imag() + _M_imag * __z.real(); _M_real = __r; return *this; } template template complex<_Tp>& complex<_Tp>::operator/=(const complex<_Up>& __z) { const _Tp __r = _M_real * __z.real() + _M_imag * __z.imag(); const _Tp __n = std::norm(__z); _M_imag = (_M_imag * __z.real() - _M_real * __z.imag()) / __n; _M_real = __r / __n; return *this; } template inline complex<_Tp> operator+(const complex<_Tp>& __x, const complex<_Tp>& __y) { complex<_Tp> __r = __x; __r += __y; return __r; } template inline complex<_Tp> operator+(const complex<_Tp>& __x, const _Tp& __y) { complex<_Tp> __r = __x; __r += __y; return __r; } template inline complex<_Tp> operator+(const _Tp& __x, const complex<_Tp>& __y) { complex<_Tp> __r = __y; __r += __x; return __r; } template inline complex<_Tp> operator-(const complex<_Tp>& __x, const complex<_Tp>& __y) { complex<_Tp> __r = __x; __r -= __y; return __r; } template inline complex<_Tp> operator-(const complex<_Tp>& __x, const _Tp& __y) { complex<_Tp> __r = __x; __r -= __y; return __r; } template inline complex<_Tp> operator-(const _Tp& __x, const complex<_Tp>& __y) { complex<_Tp> __r(__x, -__y.imag()); __r -= __y.real(); return __r; } template inline complex<_Tp> operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) { complex<_Tp> __r = __x; __r *= __y; return __r; } template inline complex<_Tp> operator*(const complex<_Tp>& __x, const _Tp& __y) { complex<_Tp> __r = __x; __r *= __y; return __r; } template inline complex<_Tp> operator*(const _Tp& __x, const complex<_Tp>& __y) { complex<_Tp> __r = __y; __r *= __x; return __r; } template inline complex<_Tp> operator/(const complex<_Tp>& __x, const complex<_Tp>& __y) { complex<_Tp> __r = __x; __r /= __y; return __r; } template inline complex<_Tp> operator/(const complex<_Tp>& __x, const _Tp& __y) { complex<_Tp> __r = __x; __r /= __y; return __r; } template inline complex<_Tp> operator/(const _Tp& __x, const complex<_Tp>& __y) { complex<_Tp> __r = __x; __r /= __y; return __r; } template inline complex<_Tp> operator+(const complex<_Tp>& __x) { return __x; } template inline complex<_Tp> operator-(const complex<_Tp>& __x) { return complex<_Tp>(-__x.real(), -__x.imag()); } template inline bool operator==(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __x.real() == __y.real() && __x.imag() == __y.imag(); } template inline bool operator==(const complex<_Tp>& __x, const _Tp& __y) { return __x.real() == __y && __x.imag() == _Tp(); } template inline bool operator==(const _Tp& __x, const complex<_Tp>& __y) { return __x == __y.real() && _Tp() == __y.imag(); } template inline bool operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __x.real() != __y.real() || __x.imag() != __y.imag(); } template inline bool operator!=(const complex<_Tp>& __x, const _Tp& __y) { return __x.real() != __y || __x.imag() != _Tp(); } template inline bool operator!=(const _Tp& __x, const complex<_Tp>& __y) { return __x != __y.real() || _Tp() != __y.imag(); } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __x) { _Tp __re_x, __im_x; _CharT __ch; __is >> __ch; if (__ch == '(') { __is >> __re_x >> __ch; if (__ch == ',') { __is >> __im_x >> __ch; if (__ch == ')') __x = complex<_Tp>(__re_x, __im_x); else __is.setstate(ios_base::failbit); } else if (__ch == ')') __x = __re_x; else __is.setstate(ios_base::failbit); } else { __is.putback(__ch); __is >> __re_x; __x = __re_x; } return __is; } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x) { basic_ostringstream<_CharT, _Traits> __s; __s.flags(__os.flags()); __s.imbue(__os.getloc()); __s.precision(__os.precision()); __s << '(' << __x.real() << ',' << __x.imag() << ')'; return __os << __s.str(); } # 541 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template inline _Tp& real(complex<_Tp>& __z) { return __z.real(); } template inline const _Tp& real(const complex<_Tp>& __z) { return __z.real(); } template inline _Tp& imag(complex<_Tp>& __z) { return __z.imag(); } template inline const _Tp& imag(const complex<_Tp>& __z) { return __z.imag(); } template inline _Tp __complex_abs(const complex<_Tp>& __z) { _Tp __x = __z.real(); _Tp __y = __z.imag(); const _Tp __s = std::max(abs(__x), abs(__y)); if (__s == _Tp()) return __s; __x /= __s; __y /= __s; return __s * sqrt(__x * __x + __y * __y); } inline float __complex_abs(__complex__ float __z) { return __builtin_cabsf(__z); } inline double __complex_abs(__complex__ double __z) { return __builtin_cabs(__z); } inline long double __complex_abs(const __complex__ long double& __z) { return __builtin_cabsl(__z); } template inline _Tp abs(const complex<_Tp>& __z) { return __complex_abs(__z.__rep()); } # 599 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template inline _Tp __complex_arg(const complex<_Tp>& __z) { return atan2(__z.imag(), __z.real()); } inline float __complex_arg(__complex__ float __z) { return __builtin_cargf(__z); } inline double __complex_arg(__complex__ double __z) { return __builtin_carg(__z); } inline long double __complex_arg(const __complex__ long double& __z) { return __builtin_cargl(__z); } template inline _Tp arg(const complex<_Tp>& __z) { return __complex_arg(__z.__rep()); } # 629 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template struct _Norm_helper { template static inline _Tp _S_do_it(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return __x * __x + __y * __y; } }; template<> struct _Norm_helper { template static inline _Tp _S_do_it(const complex<_Tp>& __z) { _Tp __res = std::abs(__z); return __res * __res; } }; template inline _Tp norm(const complex<_Tp>& __z) { return _Norm_helper<__is_floating<_Tp>::__value && !0>::_S_do_it(__z); } template inline complex<_Tp> polar(const _Tp& __rho, const _Tp& __theta) { return complex<_Tp>(__rho * cos(__theta), __rho * sin(__theta)); } template inline complex<_Tp> conj(const complex<_Tp>& __z) { return complex<_Tp>(__z.real(), -__z.imag()); } template inline complex<_Tp> __complex_cos(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return complex<_Tp>(cos(__x) * cosh(__y), -sin(__x) * sinh(__y)); } inline __complex__ float __complex_cos(__complex__ float __z) { return __builtin_ccosf(__z); } inline __complex__ double __complex_cos(__complex__ double __z) { return __builtin_ccos(__z); } inline __complex__ long double __complex_cos(const __complex__ long double& __z) { return __builtin_ccosl(__z); } template inline complex<_Tp> cos(const complex<_Tp>& __z) { return __complex_cos(__z.__rep()); } template inline complex<_Tp> __complex_cosh(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return complex<_Tp>(cosh(__x) * cos(__y), sinh(__x) * sin(__y)); } inline __complex__ float __complex_cosh(__complex__ float __z) { return __builtin_ccoshf(__z); } inline __complex__ double __complex_cosh(__complex__ double __z) { return __builtin_ccosh(__z); } inline __complex__ long double __complex_cosh(const __complex__ long double& __z) { return __builtin_ccoshl(__z); } template inline complex<_Tp> cosh(const complex<_Tp>& __z) { return __complex_cosh(__z.__rep()); } template inline complex<_Tp> __complex_exp(const complex<_Tp>& __z) { return std::polar(exp(__z.real()), __z.imag()); } inline __complex__ float __complex_exp(__complex__ float __z) { return __builtin_cexpf(__z); } inline __complex__ double __complex_exp(__complex__ double __z) { return __builtin_cexp(__z); } inline __complex__ long double __complex_exp(const __complex__ long double& __z) { return __builtin_cexpl(__z); } template inline complex<_Tp> exp(const complex<_Tp>& __z) { return __complex_exp(__z.__rep()); } # 760 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template inline complex<_Tp> __complex_log(const complex<_Tp>& __z) { return complex<_Tp>(log(std::abs(__z)), std::arg(__z)); } inline __complex__ float __complex_log(__complex__ float __z) { return __builtin_clogf(__z); } inline __complex__ double __complex_log(__complex__ double __z) { return __builtin_clog(__z); } inline __complex__ long double __complex_log(const __complex__ long double& __z) { return __builtin_clogl(__z); } template inline complex<_Tp> log(const complex<_Tp>& __z) { return __complex_log(__z.__rep()); } template inline complex<_Tp> log10(const complex<_Tp>& __z) { return std::log(__z) / log(_Tp(10.0)); } template inline complex<_Tp> __complex_sin(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return complex<_Tp>(sin(__x) * cosh(__y), cos(__x) * sinh(__y)); } inline __complex__ float __complex_sin(__complex__ float __z) { return __builtin_csinf(__z); } inline __complex__ double __complex_sin(__complex__ double __z) { return __builtin_csin(__z); } inline __complex__ long double __complex_sin(const __complex__ long double& __z) { return __builtin_csinl(__z); } template inline complex<_Tp> sin(const complex<_Tp>& __z) { return __complex_sin(__z.__rep()); } template inline complex<_Tp> __complex_sinh(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return complex<_Tp>(sinh(__x) * cos(__y), cosh(__x) * sin(__y)); } inline __complex__ float __complex_sinh(__complex__ float __z) { return __builtin_csinhf(__z); } inline __complex__ double __complex_sinh(__complex__ double __z) { return __builtin_csinh(__z); } inline __complex__ long double __complex_sinh(const __complex__ long double& __z) { return __builtin_csinhl(__z); } template inline complex<_Tp> sinh(const complex<_Tp>& __z) { return __complex_sinh(__z.__rep()); } # 852 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template complex<_Tp> __complex_sqrt(const complex<_Tp>& __z) { _Tp __x = __z.real(); _Tp __y = __z.imag(); if (__x == _Tp()) { _Tp __t = sqrt(abs(__y) / 2); return complex<_Tp>(__t, __y < _Tp() ? -__t : __t); } else { _Tp __t = sqrt(2 * (std::abs(__z) + abs(__x))); _Tp __u = __t / 2; return __x > _Tp() ? complex<_Tp>(__u, __y / __t) : complex<_Tp>(abs(__y) / __t, __y < _Tp() ? -__u : __u); } } inline __complex__ float __complex_sqrt(__complex__ float __z) { return __builtin_csqrtf(__z); } inline __complex__ double __complex_sqrt(__complex__ double __z) { return __builtin_csqrt(__z); } inline __complex__ long double __complex_sqrt(const __complex__ long double& __z) { return __builtin_csqrtl(__z); } template inline complex<_Tp> sqrt(const complex<_Tp>& __z) { return __complex_sqrt(__z.__rep()); } # 896 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template inline complex<_Tp> __complex_tan(const complex<_Tp>& __z) { return std::sin(__z) / std::cos(__z); } inline __complex__ float __complex_tan(__complex__ float __z) { return __builtin_ctanf(__z); } inline __complex__ double __complex_tan(__complex__ double __z) { return __builtin_ctan(__z); } inline __complex__ long double __complex_tan(const __complex__ long double& __z) { return __builtin_ctanl(__z); } template inline complex<_Tp> tan(const complex<_Tp>& __z) { return __complex_tan(__z.__rep()); } # 924 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template inline complex<_Tp> __complex_tanh(const complex<_Tp>& __z) { return std::sinh(__z) / std::cosh(__z); } inline __complex__ float __complex_tanh(__complex__ float __z) { return __builtin_ctanhf(__z); } inline __complex__ double __complex_tanh(__complex__ double __z) { return __builtin_ctanh(__z); } inline __complex__ long double __complex_tanh(const __complex__ long double& __z) { return __builtin_ctanhl(__z); } template inline complex<_Tp> tanh(const complex<_Tp>& __z) { return __complex_tanh(__z.__rep()); } # 956 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 template inline complex<_Tp> pow(const complex<_Tp>& __z, int __n) { return std::__pow_helper(__z, __n); } template complex<_Tp> pow(const complex<_Tp>& __x, const _Tp& __y) { if (__x.imag() == _Tp() && __x.real() > _Tp()) return pow(__x.real(), __y); complex<_Tp> __t = std::log(__x); return std::polar(exp(__y * __t.real()), __y * __t.imag()); } template inline complex<_Tp> __complex_pow(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __x == _Tp() ? _Tp() : std::exp(__y * std::log(__x)); } inline __complex__ float __complex_pow(__complex__ float __x, __complex__ float __y) { return __builtin_cpowf(__x, __y); } inline __complex__ double __complex_pow(__complex__ double __x, __complex__ double __y) { return __builtin_cpow(__x, __y); } inline __complex__ long double __complex_pow(const __complex__ long double& __x, const __complex__ long double& __y) { return __builtin_cpowl(__x, __y); } template inline complex<_Tp> pow(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __complex_pow(__x.__rep(), __y.__rep()); } template inline complex<_Tp> pow(const _Tp& __x, const complex<_Tp>& __y) { return __x > _Tp() ? std::polar(pow(__x, __y.real()), __y.imag() * log(__x)) : std::pow(complex<_Tp>(__x), __y); } template<> struct complex { typedef float value_type; typedef __complex__ float _ComplexT; complex(_ComplexT __z) : _M_value(__z) { } complex(float __r = 0.0f, float __i = 0.0f) { __real__ _M_value = __r; __imag__ _M_value = __i; } explicit complex(const complex&); explicit complex(const complex&); # 1044 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 float& real() { return __real__ _M_value; } const float& real() const { return __real__ _M_value; } float& imag() { return __imag__ _M_value; } const float& imag() const { return __imag__ _M_value; } void real(float __val) { __real__ _M_value = __val; } void imag(float __val) { __imag__ _M_value = __val; } complex& operator=(float __f) { __real__ _M_value = __f; __imag__ _M_value = 0.0f; return *this; } complex& operator+=(float __f) { __real__ _M_value += __f; return *this; } complex& operator-=(float __f) { __real__ _M_value -= __f; return *this; } complex& operator*=(float __f) { _M_value *= __f; return *this; } complex& operator/=(float __f) { _M_value /= __f; return *this; } template complex& operator=(const complex<_Tp>& __z) { __real__ _M_value = __z.real(); __imag__ _M_value = __z.imag(); return *this; } template complex& operator+=(const complex<_Tp>& __z) { __real__ _M_value += __z.real(); __imag__ _M_value += __z.imag(); return *this; } template complex& operator-=(const complex<_Tp>& __z) { __real__ _M_value -= __z.real(); __imag__ _M_value -= __z.imag(); return *this; } template complex& operator*=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value *= __t; return *this; } template complex& operator/=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value /= __t; return *this; } const _ComplexT& __rep() const { return _M_value; } private: _ComplexT _M_value; }; template<> struct complex { typedef double value_type; typedef __complex__ double _ComplexT; complex(_ComplexT __z) : _M_value(__z) { } complex(double __r = 0.0, double __i = 0.0) { __real__ _M_value = __r; __imag__ _M_value = __i; } complex(const complex& __z) : _M_value(__z.__rep()) { } explicit complex(const complex&); # 1190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 double& real() { return __real__ _M_value; } const double& real() const { return __real__ _M_value; } double& imag() { return __imag__ _M_value; } const double& imag() const { return __imag__ _M_value; } void real(double __val) { __real__ _M_value = __val; } void imag(double __val) { __imag__ _M_value = __val; } complex& operator=(double __d) { __real__ _M_value = __d; __imag__ _M_value = 0.0; return *this; } complex& operator+=(double __d) { __real__ _M_value += __d; return *this; } complex& operator-=(double __d) { __real__ _M_value -= __d; return *this; } complex& operator*=(double __d) { _M_value *= __d; return *this; } complex& operator/=(double __d) { _M_value /= __d; return *this; } template complex& operator=(const complex<_Tp>& __z) { __real__ _M_value = __z.real(); __imag__ _M_value = __z.imag(); return *this; } template complex& operator+=(const complex<_Tp>& __z) { __real__ _M_value += __z.real(); __imag__ _M_value += __z.imag(); return *this; } template complex& operator-=(const complex<_Tp>& __z) { __real__ _M_value -= __z.real(); __imag__ _M_value -= __z.imag(); return *this; } template complex& operator*=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value *= __t; return *this; } template complex& operator/=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value /= __t; return *this; } const _ComplexT& __rep() const { return _M_value; } private: _ComplexT _M_value; }; template<> struct complex { typedef long double value_type; typedef __complex__ long double _ComplexT; complex(_ComplexT __z) : _M_value(__z) { } complex(long double __r = 0.0L, long double __i = 0.0L) { __real__ _M_value = __r; __imag__ _M_value = __i; } complex(const complex& __z) : _M_value(__z.__rep()) { } complex(const complex& __z) : _M_value(__z.__rep()) { } # 1336 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/complex" 3 long double& real() { return __real__ _M_value; } const long double& real() const { return __real__ _M_value; } long double& imag() { return __imag__ _M_value; } const long double& imag() const { return __imag__ _M_value; } void real(long double __val) { __real__ _M_value = __val; } void imag(long double __val) { __imag__ _M_value = __val; } complex& operator=(long double __r) { __real__ _M_value = __r; __imag__ _M_value = 0.0L; return *this; } complex& operator+=(long double __r) { __real__ _M_value += __r; return *this; } complex& operator-=(long double __r) { __real__ _M_value -= __r; return *this; } complex& operator*=(long double __r) { _M_value *= __r; return *this; } complex& operator/=(long double __r) { _M_value /= __r; return *this; } template complex& operator=(const complex<_Tp>& __z) { __real__ _M_value = __z.real(); __imag__ _M_value = __z.imag(); return *this; } template complex& operator+=(const complex<_Tp>& __z) { __real__ _M_value += __z.real(); __imag__ _M_value += __z.imag(); return *this; } template complex& operator-=(const complex<_Tp>& __z) { __real__ _M_value -= __z.real(); __imag__ _M_value -= __z.imag(); return *this; } template complex& operator*=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value *= __t; return *this; } template complex& operator/=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value /= __t; return *this; } const _ComplexT& __rep() const { return _M_value; } private: _ComplexT _M_value; }; inline complex::complex(const complex& __z) : _M_value(__z.__rep()) { } inline complex::complex(const complex& __z) : _M_value(__z.__rep()) { } inline complex::complex(const complex& __z) : _M_value(__z.__rep()) { } extern template istream& operator>>(istream&, complex&); extern template ostream& operator<<(ostream&, const complex&); extern template istream& operator>>(istream&, complex&); extern template ostream& operator<<(ostream&, const complex&); extern template istream& operator>>(istream&, complex&); extern template ostream& operator<<(ostream&, const complex&); extern template wistream& operator>>(wistream&, complex&); extern template wostream& operator<<(wostream&, const complex&); extern template wistream& operator>>(wistream&, complex&); extern template wostream& operator<<(wostream&, const complex&); extern template wistream& operator>>(wistream&, complex&); extern template wostream& operator<<(wostream&, const complex&); } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template struct __promote_2, _Up> { public: typedef std::complex::__type> __type; }; template struct __promote_2<_Tp, std::complex<_Up> > { public: typedef std::complex::__type> __type; }; template struct __promote_2, std::complex<_Up> > { public: typedef std::complex::__type> __type; }; } # 14 "/usr/include/boost-1_42/boost/python/converter/builtin_converters.hpp" 2 # 22 "/usr/include/boost-1_42/boost/python/converter/builtin_converters.hpp" namespace boost { namespace python { namespace converter { template struct arg_to_python; PyObject* do_return_to_python(char); PyObject* do_return_to_python(char const*); PyObject* do_return_to_python(PyObject*); PyObject* do_arg_to_python(PyObject*); } template struct to_python_value; namespace detail { struct builtin_to_python { static const bool uses_registry = false; }; } # 113 "/usr/include/boost-1_42/boost/python/converter/builtin_converters.hpp" template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(bool const& x) const { return (::PyBool_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyBool_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(bool const& x) const { return (::PyBool_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyBool_Type); } }; namespace converter { template <> struct arg_to_python< bool > : handle<> { arg_to_python(bool const& x) : python::handle<>(::PyBool_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed char const& x) const { return (::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed char const& x) const { return (::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; namespace converter { template <> struct arg_to_python< signed char > : handle<> { arg_to_python(signed char const& x) : python::handle<>(::PyInt_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned char const& x) const { return (static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned char const& x) const { return (static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; namespace converter { template <> struct arg_to_python< unsigned char > : handle<> { arg_to_python(unsigned char const& x) : python::handle<>(static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed short const& x) const { return (::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed short const& x) const { return (::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; namespace converter { template <> struct arg_to_python< signed short > : handle<> { arg_to_python(signed short const& x) : python::handle<>(::PyInt_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned short const& x) const { return (static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned short const& x) const { return (static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; namespace converter { template <> struct arg_to_python< unsigned short > : handle<> { arg_to_python(unsigned short const& x) : python::handle<>(static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed int const& x) const { return (::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed int const& x) const { return (::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; namespace converter { template <> struct arg_to_python< signed int > : handle<> { arg_to_python(signed int const& x) : python::handle<>(::PyInt_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned int const& x) const { return (static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned int const& x) const { return (static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; namespace converter { template <> struct arg_to_python< unsigned int > : handle<> { arg_to_python(unsigned int const& x) : python::handle<>(static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed long const& x) const { return (::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed long const& x) const { return (::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; namespace converter { template <> struct arg_to_python< signed long > : handle<> { arg_to_python(signed long const& x) : python::handle<>(::PyInt_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned long const& x) const { return (static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned long const& x) const { return (static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyInt_Type); } }; namespace converter { template <> struct arg_to_python< unsigned long > : handle<> { arg_to_python(unsigned long const& x) : python::handle<>(static_cast(x) > static_cast( (std::numeric_limits::max)()) ? ::PyLong_FromUnsignedLong(x) : ::PyInt_FromLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed long long const& x) const { return (::PyLong_FromLongLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyLong_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(signed long long const& x) const { return (::PyLong_FromLongLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyLong_Type); } }; namespace converter { template <> struct arg_to_python< signed long long > : handle<> { arg_to_python(signed long long const& x) : python::handle<>(::PyLong_FromLongLong(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned long long const& x) const { return (::PyLong_FromUnsignedLongLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyLong_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(unsigned long long const& x) const { return (::PyLong_FromUnsignedLongLong(x)); } inline PyTypeObject const* get_pytype() const { return (&PyLong_Type); } }; namespace converter { template <> struct arg_to_python< unsigned long long > : handle<> { arg_to_python(unsigned long long const& x) : python::handle<>(::PyLong_FromUnsignedLongLong(x)) {} }; } # 139 "/usr/include/boost-1_42/boost/python/converter/builtin_converters.hpp" template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(char const& x) const { return (converter::do_return_to_python(x)); } inline PyTypeObject const* get_pytype() const { return (&PyString_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(char const& x) const { return (converter::do_return_to_python(x)); } inline PyTypeObject const* get_pytype() const { return (&PyString_Type); } }; namespace converter { template <> struct arg_to_python< char > : handle<> { arg_to_python(char const& x) : python::handle<>(converter::do_return_to_python(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(char const* const& x) const { return (converter::do_return_to_python(x)); } inline PyTypeObject const* get_pytype() const { return (&PyString_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(char const* const& x) const { return (converter::do_return_to_python(x)); } inline PyTypeObject const* get_pytype() const { return (&PyString_Type); } }; namespace converter { template <> struct arg_to_python< char const* > : handle<> { arg_to_python(char const* const& x) : python::handle<>(converter::do_return_to_python(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(std::string const& x) const { return (::PyString_FromStringAndSize(x.data(),implicit_cast(x.size()))); } inline PyTypeObject const* get_pytype() const { return (&PyString_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(std::string const& x) const { return (::PyString_FromStringAndSize(x.data(),implicit_cast(x.size()))); } inline PyTypeObject const* get_pytype() const { return (&PyString_Type); } }; namespace converter { template <> struct arg_to_python< std::string > : handle<> { arg_to_python(std::string const& x) : python::handle<>(::PyString_FromStringAndSize(x.data(),implicit_cast(x.size()))) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(std::wstring const& x) const { return (::PyUnicodeUCS4_FromWideChar(x.data(),implicit_cast(x.size()))); } inline PyTypeObject const* get_pytype() const { return (&PyUnicode_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(std::wstring const& x) const { return (::PyUnicodeUCS4_FromWideChar(x.data(),implicit_cast(x.size()))); } inline PyTypeObject const* get_pytype() const { return (&PyUnicode_Type); } }; namespace converter { template <> struct arg_to_python< std::wstring > : handle<> { arg_to_python(std::wstring const& x) : python::handle<>(::PyUnicodeUCS4_FromWideChar(x.data(),implicit_cast(x.size()))) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(float const& x) const { return (::PyFloat_FromDouble(x)); } inline PyTypeObject const* get_pytype() const { return (&PyFloat_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(float const& x) const { return (::PyFloat_FromDouble(x)); } inline PyTypeObject const* get_pytype() const { return (&PyFloat_Type); } }; namespace converter { template <> struct arg_to_python< float > : handle<> { arg_to_python(float const& x) : python::handle<>(::PyFloat_FromDouble(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(double const& x) const { return (::PyFloat_FromDouble(x)); } inline PyTypeObject const* get_pytype() const { return (&PyFloat_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(double const& x) const { return (::PyFloat_FromDouble(x)); } inline PyTypeObject const* get_pytype() const { return (&PyFloat_Type); } }; namespace converter { template <> struct arg_to_python< double > : handle<> { arg_to_python(double const& x) : python::handle<>(::PyFloat_FromDouble(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(long double const& x) const { return (::PyFloat_FromDouble(x)); } inline PyTypeObject const* get_pytype() const { return (&PyFloat_Type); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(long double const& x) const { return (::PyFloat_FromDouble(x)); } inline PyTypeObject const* get_pytype() const { return (&PyFloat_Type); } }; namespace converter { template <> struct arg_to_python< long double > : handle<> { arg_to_python(long double const& x) : python::handle<>(::PyFloat_FromDouble(x)) {} }; } template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(PyObject* const& x) const { return (converter::do_return_to_python(x)); } inline PyTypeObject const* get_pytype() const { return (0); } }; template <> struct to_python_value : detail::builtin_to_python { inline PyObject* operator()(PyObject* const& x) const { return (converter::do_return_to_python(x)); } inline PyTypeObject const* get_pytype() const { return (0); } }; template <> struct to_python_value&> : detail::builtin_to_python { inline PyObject* operator()(std::complex const& x) const { return (::PyComplex_FromDoubles(x.real(), x.imag())); } inline PyTypeObject const* get_pytype() const { return (&PyComplex_Type); } }; template <> struct to_python_value const&> : detail::builtin_to_python { inline PyObject* operator()(std::complex const& x) const { return (::PyComplex_FromDoubles(x.real(), x.imag())); } inline PyTypeObject const* get_pytype() const { return (&PyComplex_Type); } }; namespace converter { template <> struct arg_to_python< std::complex > : handle<> { arg_to_python(std::complex const& x) : python::handle<>(::PyComplex_FromDoubles(x.real(), x.imag())) {} }; } template <> struct to_python_value&> : detail::builtin_to_python { inline PyObject* operator()(std::complex const& x) const { return (::PyComplex_FromDoubles(x.real(), x.imag())); } inline PyTypeObject const* get_pytype() const { return (&PyComplex_Type); } }; template <> struct to_python_value const&> : detail::builtin_to_python { inline PyObject* operator()(std::complex const& x) const { return (::PyComplex_FromDoubles(x.real(), x.imag())); } inline PyTypeObject const* get_pytype() const { return (&PyComplex_Type); } }; namespace converter { template <> struct arg_to_python< std::complex > : handle<> { arg_to_python(std::complex const& x) : python::handle<>(::PyComplex_FromDoubles(x.real(), x.imag())) {} }; } template <> struct to_python_value&> : detail::builtin_to_python { inline PyObject* operator()(std::complex const& x) const { return (::PyComplex_FromDoubles(x.real(), x.imag())); } inline PyTypeObject const* get_pytype() const { return (&PyComplex_Type); } }; template <> struct to_python_value const&> : detail::builtin_to_python { inline PyObject* operator()(std::complex const& x) const { return (::PyComplex_FromDoubles(x.real(), x.imag())); } inline PyTypeObject const* get_pytype() const { return (&PyComplex_Type); } }; namespace converter { template <> struct arg_to_python< std::complex > : handle<> { arg_to_python(std::complex const& x) : python::handle<>(::PyComplex_FromDoubles(x.real(), x.imag())) {} }; } namespace converter { void initialize_builtin_converters(); } }} # 18 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/function_handle.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 18 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_trailing_params.hpp" 1 # 19 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/repetition/enum_trailing_binary_params.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/to_python_value.hpp" 1 # 17 "/usr/include/boost-1_42/boost/python/to_python_value.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/object_manager.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/converter/object_manager.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/pyobject_traits.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/converter/pyobject_traits.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/pyobject_type.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/converter/pyobject_type.hpp" namespace boost { namespace python { namespace converter { PyObject* checked_downcast_impl(PyObject*, PyTypeObject*); template struct pyobject_type { static bool check(PyObject* x) { return ::PyObject_IsInstance(x, (PyObject*)pytype); } static Object* checked_downcast(PyObject* x) { return python::downcast( (checked_downcast_impl)(x, pytype) ); } static PyTypeObject const* get_pytype() { return pytype; } }; }}} # 10 "/usr/include/boost-1_42/boost/python/converter/pyobject_traits.hpp" 2 namespace boost { namespace python { namespace converter { template struct pyobject_traits; template <> struct pyobject_traits { static bool check(PyObject*) { return true; } static PyObject* checked_downcast(PyObject* x) { return x; } static PyTypeObject const* get_pytype() { return 0; } }; # 35 "/usr/include/boost-1_42/boost/python/converter/pyobject_traits.hpp" template <> struct pyobject_traits : pyobject_type {}; template <> struct pyobject_traits : pyobject_type {}; template <> struct pyobject_traits : pyobject_type {}; template <> struct pyobject_traits : pyobject_type {}; template <> struct pyobject_traits : pyobject_type {}; template <> struct pyobject_traits : pyobject_type {}; }}} # 11 "/usr/include/boost-1_42/boost/python/converter/object_manager.hpp" 2 # 65 "/usr/include/boost-1_42/boost/python/converter/object_manager.hpp" namespace boost { namespace python { namespace api { class object; } }} namespace boost { namespace python { namespace converter { template struct handle_object_manager_traits : pyobject_traits { private: typedef pyobject_traits base; public: static const bool is_specialized = true; static null_ok* adopt(PyObject* p) { return python::allow_null(base::checked_downcast(p)); } }; template struct default_object_manager_traits { static const bool is_specialized = python::detail::is_borrowed_ptr::value ; }; template struct object_manager_traits : mpl::if_c< is_handle::value , handle_object_manager_traits , default_object_manager_traits >::type { }; template struct is_object_manager : mpl::bool_::is_specialized> { }; template struct is_reference_to_object_manager : mpl::false_ { }; template struct is_reference_to_object_manager : is_object_manager { }; template struct is_reference_to_object_manager : is_object_manager { }; template struct is_reference_to_object_manager : is_object_manager { }; template struct is_reference_to_object_manager : is_object_manager { }; # 228 "/usr/include/boost-1_42/boost/python/converter/object_manager.hpp" }}} # 18 "/usr/include/boost-1_42/boost/python/to_python_value.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/value_is_shared_ptr.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/value_is_xxx.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/detail/value_is_shared_ptr.hpp" 2 namespace boost { namespace python { namespace detail { template struct value_is_shared_ptr { template struct is_shared_ptr : mpl::false_ { }; template < class T0 > struct is_shared_ptr< shared_ptr< T0 > > : mpl::true_ { }; static const bool value = is_shared_ptr< typename remove_cv< typename remove_reference::type >::type >::value; typedef mpl::bool_ type; }; }}} # 21 "/usr/include/boost-1_42/boost/python/to_python_value.hpp" 2 # 29 "/usr/include/boost-1_42/boost/python/to_python_value.hpp" namespace boost { namespace python { namespace detail { template struct object_manager_get_pytype { template static PyTypeObject const* get( U& (*)() =0) { return converter::object_manager_traits::get_pytype(); } }; template <> struct object_manager_get_pytype { template static PyTypeObject const* get( U const& (*)() =0) { return converter::object_manager_traits::get_pytype(); } }; template struct object_manager_to_python_value { typedef typename value_arg::type argument_type; PyObject* operator()(argument_type) const; typedef boost::mpl::bool_::value> is_t_handle; typedef boost::detail::indirect_traits::is_reference_to_const is_t_const; PyTypeObject const* get_pytype() const { return get_pytype_aux((is_t_handle*)0); } inline static PyTypeObject const* get_pytype_aux(mpl::true_*) {return converter::object_manager_traits::get_pytype();} inline static PyTypeObject const* get_pytype_aux(mpl::false_* ) { return object_manager_get_pytype::get((T(*)())0); } static const bool uses_registry = false; }; template struct registry_to_python_value { typedef typename value_arg::type argument_type; PyObject* operator()(argument_type) const; PyTypeObject const* get_pytype() const {return converter::registered::converters.to_python_target_type();} static const bool uses_registry = true; }; template struct shared_ptr_to_python_value { typedef typename value_arg::type argument_type; PyObject* operator()(argument_type) const; PyTypeObject const* get_pytype() const {return get_pytype((boost::type*)0);} static const bool uses_registry = false; private: template PyTypeObject const* get_pytype(boost::type &> *) const {return converter::registered::converters.to_python_target_type();} template PyTypeObject const* get_pytype(boost::type &> *) const {return converter::registered::converters.to_python_target_type();} }; } template struct to_python_value : mpl::if_< detail::value_is_shared_ptr , detail::shared_ptr_to_python_value , typename mpl::if_< mpl::or_< converter::is_object_manager , converter::is_reference_to_object_manager > , detail::object_manager_to_python_value , detail::registry_to_python_value >::type >::type { }; namespace detail { template inline PyObject* registry_to_python_value::operator()(argument_type x) const { typedef converter::registered r; return converter::registered::converters.to_python(&x); } template inline PyObject* object_manager_to_python_value::operator()(argument_type x) const { return python::upcast( python::xincref( get_managed_object(x, tag)) ); } template inline PyObject* shared_ptr_to_python_value::operator()(argument_type x) const { return converter::shared_ptr_to_python(x); } } }} # 22 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 2 # 41 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" namespace boost { namespace python { namespace detail { typedef int void_result_to_python; template struct invoke_tag_ {}; template struct invoke_tag : invoke_tag_< is_same::value , is_member_function_pointer::value > { }; # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f ) { return rc(f( )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f ) { f( ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc ) { return rc( (tc().*f)() ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc ) { (tc().*f)(); return none(); } # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 ) { return rc(f( ac0 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 ) { f( ac0 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 ) { return rc( (tc().*f)( ac0 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 ) { (tc().*f)( ac0 () ); return none(); } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 ) { return rc(f( ac0 () , ac1 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 ) { f( ac0 () , ac1 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 ) { return rc( (tc().*f)( ac0 () , ac1 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 ) { (tc().*f)( ac0 () , ac1 () ); return none(); } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 ) { return rc(f( ac0 () , ac1 () , ac2 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 ) { f( ac0 () , ac1 () , ac2 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 ) { (tc().*f)( ac0 () , ac1 () , ac2 () ); return none(); } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 ) { f( ac0 () , ac1 () , ac2 () , ac3 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () ); return none(); } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () ); return none(); } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () ); return none(); } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () ); return none(); } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () ); return none(); } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () ); return none(); } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () ); return none(); } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () ); return none(); } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () ); return none(); } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () ); return none(); } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 , AC13 & ac13 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () , ac13 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 , AC13 & ac13 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () , ac13 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 , AC13 & ac13 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () , ac13 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 , AC13 & ac13 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () , ac13 () ); return none(); } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 1 # 72 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 , AC13 & ac13 , AC14 & ac14 ) { return rc(f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () , ac13 () , ac14 () )); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 , AC13 & ac13 , AC14 & ac14 ) { f( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () , ac13 () , ac14 () ); return none(); } template inline PyObject* invoke(invoke_tag_, RC const& rc, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 , AC13 & ac13 , AC14 & ac14 ) { return rc( (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () , ac13 () , ac14 () ) ); } template inline PyObject* invoke(invoke_tag_, RC const&, F& f, TC& tc , AC0 & ac0 , AC1 & ac1 , AC2 & ac2 , AC3 & ac3 , AC4 & ac4 , AC5 & ac5 , AC6 & ac6 , AC7 & ac7 , AC8 & ac8 , AC9 & ac9 , AC10 & ac10 , AC11 & ac11 , AC12 & ac12 , AC13 & ac13 , AC14 & ac14 ) { (tc().*f)( ac0 () , ac1 () , ac2 () , ac3 () , ac4 () , ac5 () , ac6 () , ac7 () , ac8 () , ac9 () , ac10 () , ac11 () , ac12 () , ac13 () , ac14 () ); return none(); } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 64 "/usr/include/boost-1_42/boost/python/detail/invoke.hpp" 2 }}} # 17 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/at.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/at.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/at_impl.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/aux_/at_impl.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/begin_end.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/begin_end.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/begin_end_impl.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/aux_/begin_end_impl.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/sequence_tag_fwd.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/sequence_tag_fwd.hpp" namespace boost { namespace mpl { struct nested_begin_end_tag; struct non_sequence_tag; template< typename Sequence > struct sequence_tag; }} # 19 "/usr/include/boost-1_42/boost/mpl/aux_/begin_end_impl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/has_begin.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/has_begin.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_ > struct has_begin { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper const volatile* , boost::mpl::aux::type_wrapper* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_ type; }; }}} # 22 "/usr/include/boost-1_42/boost/mpl/aux_/begin_end_impl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/traits_lambda_spec.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/aux_/begin_end_impl.hpp" 2 namespace boost { namespace mpl { namespace aux { template< typename Sequence > struct begin_type { typedef typename Sequence::begin type; }; template< typename Sequence > struct end_type { typedef typename Sequence::end type; }; } template< typename Tag > struct begin_impl { template< typename Sequence > struct apply { typedef typename eval_if, aux::begin_type, void_>::type type; }; }; template< typename Tag > struct end_impl { template< typename Sequence > struct apply { typedef typename eval_if, aux::end_type, void_>::type type; }; }; # 82 "/usr/include/boost-1_42/boost/mpl/aux_/begin_end_impl.hpp" template<> struct begin_impl { template< typename Sequence > struct apply { typedef typename Sequence::begin type; }; }; template<> struct end_impl { template< typename Sequence > struct apply { typedef typename Sequence::end type; }; }; template<> struct begin_impl { template< typename Sequence > struct apply { typedef void_ type; }; }; template<> struct end_impl { template< typename Sequence > struct apply { typedef void_ type; }; }; template<> struct begin_impl { template< typename Sequence > struct apply { typedef void_ type; }; }; template<> struct end_impl { template< typename Sequence > struct apply { typedef void_ type; }; }; }} # 19 "/usr/include/boost-1_42/boost/mpl/begin_end.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/sequence_tag.hpp" 1 # 26 "/usr/include/boost-1_42/boost/mpl/sequence_tag.hpp" namespace boost { namespace mpl { # 78 "/usr/include/boost-1_42/boost/mpl/sequence_tag.hpp" namespace aux { template< bool has_tag_, bool has_begin_ > struct sequence_tag_impl { template< typename Sequence > struct result2_; }; # 98 "/usr/include/boost-1_42/boost/mpl/sequence_tag.hpp" template<> struct sequence_tag_impl { template< typename Sequence > struct result2_ { typedef typename Sequence::tag type; }; }; template<> struct sequence_tag_impl { template< typename Sequence > struct result2_ { typedef typename Sequence::tag type; }; }; template<> struct sequence_tag_impl { template< typename Sequence > struct result2_ { typedef nested_begin_end_tag type; }; }; template<> struct sequence_tag_impl { template< typename Sequence > struct result2_ { typedef non_sequence_tag type; }; }; } template< typename Sequence = na > struct sequence_tag : aux::sequence_tag_impl< ::boost::mpl::aux::has_tag::value , ::boost::mpl::aux::has_begin::value >::template result2_ { }; template<> struct sequence_tag< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : sequence_tag< T1 > { }; }; template< typename Tag > struct lambda< sequence_tag< na > , Tag , int_<-1> > { typedef false_ is_le; typedef sequence_tag< na > result_; typedef sequence_tag< na > type; }; namespace aux { template< typename T1 > struct template_arity< sequence_tag< T1 > > : int_<1> { }; template<> struct template_arity< sequence_tag< na > > : int_<-1> { }; } }} # 20 "/usr/include/boost-1_42/boost/mpl/begin_end.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct begin { typedef typename sequence_tag::type tag_; typedef typename begin_impl< tag_ > ::template apply< Sequence >::type type; }; template< typename Sequence = na > struct end { typedef typename sequence_tag::type tag_; typedef typename end_impl< tag_ > ::template apply< Sequence >::type type; }; template<> struct begin< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : begin< T1 > { }; }; template< typename Tag > struct lambda< begin< na > , Tag , int_<-1> > { typedef false_ is_le; typedef begin< na > result_; typedef begin< na > type; }; namespace aux { template< typename T1 > struct template_arity< begin< T1 > > : int_<1> { }; template<> struct template_arity< begin< na > > : int_<-1> { }; } template<> struct end< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : end< T1 > { }; }; template< typename Tag > struct lambda< end< na > , Tag , int_<-1> > { typedef false_ is_le; typedef end< na > result_; typedef end< na > type; }; namespace aux { template< typename T1 > struct template_arity< end< T1 > > : int_<1> { }; template<> struct template_arity< end< na > > : int_<-1> { }; } }} # 18 "/usr/include/boost-1_42/boost/mpl/aux_/at_impl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/advance.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/advance.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/less.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/less.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/comparison_op.hpp" 1 # 27 "/usr/include/boost-1_42/boost/mpl/aux_/comparison_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 28 "/usr/include/boost-1_42/boost/mpl/aux_/comparison_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/less.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/less.hpp" namespace boost { namespace mpl { template< typename Tag1 , typename Tag2 > struct less_impl : if_c< ( Tag1::value > Tag2::value ) , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > >::type { }; template<> struct less_impl< na,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct less_impl< na,Tag > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct less_impl< Tag,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename T > struct less_tag { typedef typename T::tag type; }; template< typename N1 = na , typename N2 = na > struct less : less_impl< typename less_tag::type , typename less_tag::type >::template apply< N1,N2 >::type { }; template<> struct less< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : less< T1 , T2 > { }; }; template< typename Tag > struct lambda< less< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef less< na , na > result_; typedef less< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< less< T1 , T2 > > : int_<2> { }; template<> struct template_arity< less< na , na > > : int_<-1> { }; } }} namespace boost { namespace mpl { template<> struct less_impl< integral_c_tag,integral_c_tag > { template< typename N1, typename N2 > struct apply : bool_< ( N2::value > N1::value ) > { }; }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 36 "/usr/include/boost-1_42/boost/mpl/aux_/comparison_op.hpp" 2 # 20 "/usr/include/boost-1_42/boost/mpl/less.hpp" 2 # 19 "/usr/include/boost-1_42/boost/mpl/advance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/negate.hpp" 1 # 25 "/usr/include/boost-1_42/boost/mpl/negate.hpp" namespace boost { namespace mpl { template< typename Tag > struct negate_impl; template< typename T > struct negate_tag { typedef typename T::tag type; }; template< typename N = na > struct negate : negate_impl< typename negate_tag::type >::template apply::type { }; template<> struct negate< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : negate< T1 > { }; }; template< typename Tag > struct lambda< negate< na > , Tag , int_<-1> > { typedef false_ is_le; typedef negate< na > result_; typedef negate< na > type; }; namespace aux { template< typename T1 > struct template_arity< negate< T1 > > : int_<1> { }; template<> struct template_arity< negate< na > > : int_<-1> { }; } # 65 "/usr/include/boost-1_42/boost/mpl/negate.hpp" template<> struct negate_impl { template< typename N > struct apply : integral_c< typename N::value_type, (-N::value) > { }; }; }} # 20 "/usr/include/boost-1_42/boost/mpl/advance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/advance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/advance_forward.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/advance_forward.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/aux_/advance_forward.hpp" 2 # 32 "/usr/include/boost-1_42/boost/mpl/aux_/advance_forward.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp" namespace boost { namespace mpl { namespace aux { template< long N > struct advance_forward; template<> struct advance_forward<0> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef iter0 type; }; }; template<> struct advance_forward<1> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef typename next::type iter1; typedef iter1 type; }; }; template<> struct advance_forward<2> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef typename next::type iter1; typedef typename next::type iter2; typedef iter2 type; }; }; template<> struct advance_forward<3> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef typename next::type iter1; typedef typename next::type iter2; typedef typename next::type iter3; typedef iter3 type; }; }; template<> struct advance_forward<4> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef typename next::type iter1; typedef typename next::type iter2; typedef typename next::type iter3; typedef typename next::type iter4; typedef iter4 type; }; }; template< long N > struct advance_forward { template< typename Iterator > struct apply { typedef typename apply_wrap1< advance_forward<4> , Iterator >::type chunk_result_; typedef typename apply_wrap1< advance_forward<( (N - 4) < 0 ? 0 : N - 4 )> , chunk_result_ >::type type; }; }; }}} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 33 "/usr/include/boost-1_42/boost/mpl/aux_/advance_forward.hpp" 2 # 25 "/usr/include/boost-1_42/boost/mpl/advance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/advance_backward.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/advance_backward.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/aux_/advance_backward.hpp" 2 # 32 "/usr/include/boost-1_42/boost/mpl/aux_/advance_backward.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp" namespace boost { namespace mpl { namespace aux { template< long N > struct advance_backward; template<> struct advance_backward<0> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef iter0 type; }; }; template<> struct advance_backward<1> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef typename prior::type iter1; typedef iter1 type; }; }; template<> struct advance_backward<2> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef typename prior::type iter1; typedef typename prior::type iter2; typedef iter2 type; }; }; template<> struct advance_backward<3> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef typename prior::type iter1; typedef typename prior::type iter2; typedef typename prior::type iter3; typedef iter3 type; }; }; template<> struct advance_backward<4> { template< typename Iterator > struct apply { typedef Iterator iter0; typedef typename prior::type iter1; typedef typename prior::type iter2; typedef typename prior::type iter3; typedef typename prior::type iter4; typedef iter4 type; }; }; template< long N > struct advance_backward { template< typename Iterator > struct apply { typedef typename apply_wrap1< advance_backward<4> , Iterator >::type chunk_result_; typedef typename apply_wrap1< advance_backward<( (N - 4) < 0 ? 0 : N - 4 )> , chunk_result_ >::type type; }; }; }}} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 33 "/usr/include/boost-1_42/boost/mpl/aux_/advance_backward.hpp" 2 # 26 "/usr/include/boost-1_42/boost/mpl/advance.hpp" 2 namespace boost { namespace mpl { template< typename Tag > struct advance_impl { template< typename Iterator, typename N > struct apply { typedef typename less< N,long_<0> >::type backward_; typedef typename if_< backward_, negate, N >::type offset_; typedef typename if_< backward_ , aux::advance_backward< offset_::value > , aux::advance_forward< offset_::value > >::type f_; typedef typename apply_wrap1::type type; }; }; template< typename Iterator = na , typename N = na > struct advance : advance_impl< typename tag::type > ::template apply { }; template< typename Iterator , long N > struct advance_c : advance_impl< typename tag::type > ::template apply > { }; template<> struct advance< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : advance< T1 , T2 > { }; }; template< typename Tag > struct lambda< advance< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef advance< na , na > result_; typedef advance< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< advance< T1 , T2 > > : int_<2> { }; template<> struct template_arity< advance< na , na > > : int_<-1> { }; } }} # 19 "/usr/include/boost-1_42/boost/mpl/aux_/at_impl.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/deref.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/deref.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/msvc_type.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/msvc_type.hpp" namespace boost { namespace mpl { namespace aux { # 48 "/usr/include/boost-1_42/boost/mpl/aux_/msvc_type.hpp" template< typename T > struct msvc_type { typedef typename T::type type; }; template<> struct msvc_type { typedef int type; }; }}} # 18 "/usr/include/boost-1_42/boost/mpl/deref.hpp" 2 namespace boost { namespace mpl { template< typename Iterator = na > struct deref { typedef typename Iterator::type type; }; template<> struct deref< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : deref< T1 > { }; }; template< typename Tag > struct lambda< deref< na > , Tag , int_<-1> > { typedef false_ is_le; typedef deref< na > result_; typedef deref< na > type; }; namespace aux { template< typename T1 > struct template_arity< deref< T1 > > : int_<1> { }; template<> struct template_arity< deref< na > > : int_<-1> { }; } }} # 20 "/usr/include/boost-1_42/boost/mpl/aux_/at_impl.hpp" 2 namespace boost { namespace mpl { template< typename Tag > struct at_impl { template< typename Sequence, typename N > struct apply { typedef typename advance< typename begin::type , N >::type iter_; typedef typename deref::type type; }; }; template<> struct at_impl {}; }} # 19 "/usr/include/boost-1_42/boost/mpl/at.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na , typename N = na > struct at : at_impl< typename sequence_tag::type > ::template apply< Sequence,N > { }; template< typename Sequence , long N > struct at_c : at_impl< typename sequence_tag::type > ::template apply< Sequence,mpl::long_ > { }; template<> struct at< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : at< T1 , T2 > { }; }; template< typename Tag > struct lambda< at< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef at< na , na > result_; typedef at< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< at< T1 , T2 > > : int_<2> { }; template<> struct template_arity< at< na , na > > : int_<-1> { }; } }} # 21 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/size.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/size.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/size_impl.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/size_impl.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/distance.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/distance.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/iter_fold.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/iter_fold.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/O1_size.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/O1_size.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/O1_size_impl.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/O1_size_impl.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/has_size.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/has_size.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_ > struct has_size { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper const volatile* , boost::mpl::aux::type_wrapper* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_ type; }; }}} # 21 "/usr/include/boost-1_42/boost/mpl/aux_/O1_size_impl.hpp" 2 namespace boost { namespace mpl { # 35 "/usr/include/boost-1_42/boost/mpl/aux_/O1_size_impl.hpp" namespace aux { template< typename Sequence > struct O1_size_impl : Sequence::size { }; } template< typename Tag > struct O1_size_impl { template< typename Sequence > struct apply : if_< aux::has_size , aux::O1_size_impl , long_<-1> >::type { # 69 "/usr/include/boost-1_42/boost/mpl/aux_/O1_size_impl.hpp" }; }; # 85 "/usr/include/boost-1_42/boost/mpl/aux_/O1_size_impl.hpp" }} # 20 "/usr/include/boost-1_42/boost/mpl/O1_size.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct O1_size : O1_size_impl< typename sequence_tag::type > ::template apply< Sequence > { }; template<> struct O1_size< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : O1_size< T1 > { }; }; template< typename Tag > struct lambda< O1_size< na > , Tag , int_<-1> > { typedef false_ is_le; typedef O1_size< na > result_; typedef O1_size< na > type; }; namespace aux { template< typename T1 > struct template_arity< O1_size< T1 > > : int_<1> { }; template<> struct template_arity< O1_size< na > > : int_<-1> { }; } }} # 20 "/usr/include/boost-1_42/boost/mpl/iter_fold.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/iter_fold_impl.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/aux_/iter_fold_impl.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/iter_fold_impl.hpp" 2 # 33 "/usr/include/boost-1_42/boost/mpl/aux_/iter_fold_impl.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp" namespace boost { namespace mpl { namespace aux { template< int N , typename First , typename Last , typename State , typename ForwardOp > struct iter_fold_impl; template< typename First , typename Last , typename State , typename ForwardOp > struct iter_fold_impl< 0,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef state0 state; typedef iter0 iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct iter_fold_impl< 1,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef typename apply2< ForwardOp,state0,iter0 >::type state1; typedef typename mpl::next::type iter1; typedef state1 state; typedef iter1 iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct iter_fold_impl< 2,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef typename apply2< ForwardOp,state0,iter0 >::type state1; typedef typename mpl::next::type iter1; typedef typename apply2< ForwardOp,state1,iter1 >::type state2; typedef typename mpl::next::type iter2; typedef state2 state; typedef iter2 iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct iter_fold_impl< 3,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef typename apply2< ForwardOp,state0,iter0 >::type state1; typedef typename mpl::next::type iter1; typedef typename apply2< ForwardOp,state1,iter1 >::type state2; typedef typename mpl::next::type iter2; typedef typename apply2< ForwardOp,state2,iter2 >::type state3; typedef typename mpl::next::type iter3; typedef state3 state; typedef iter3 iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct iter_fold_impl< 4,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef typename apply2< ForwardOp,state0,iter0 >::type state1; typedef typename mpl::next::type iter1; typedef typename apply2< ForwardOp,state1,iter1 >::type state2; typedef typename mpl::next::type iter2; typedef typename apply2< ForwardOp,state2,iter2 >::type state3; typedef typename mpl::next::type iter3; typedef typename apply2< ForwardOp,state3,iter3 >::type state4; typedef typename mpl::next::type iter4; typedef state4 state; typedef iter4 iterator; }; template< int N , typename First , typename Last , typename State , typename ForwardOp > struct iter_fold_impl { typedef iter_fold_impl< 4 , First , Last , State , ForwardOp > chunk_; typedef iter_fold_impl< ( (N - 4) < 0 ? 0 : N - 4 ) , typename chunk_::iterator , Last , typename chunk_::state , ForwardOp > res_; typedef typename res_::state state; typedef typename res_::iterator iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct iter_fold_impl< -1,First,Last,State,ForwardOp > : iter_fold_impl< -1 , typename mpl::next::type , Last , typename apply2< ForwardOp,State,First >::type , ForwardOp > { }; template< typename Last , typename State , typename ForwardOp > struct iter_fold_impl< -1,Last,Last,State,ForwardOp > { typedef State state; typedef Last iterator; }; }}} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 34 "/usr/include/boost-1_42/boost/mpl/aux_/iter_fold_impl.hpp" 2 # 22 "/usr/include/boost-1_42/boost/mpl/iter_fold.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na , typename State = na , typename ForwardOp = na > struct iter_fold { typedef typename aux::iter_fold_impl< ::boost::mpl::O1_size::value , typename begin::type , typename end::type , State , typename lambda::type >::state type; }; template<> struct iter_fold< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : iter_fold< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< iter_fold< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef iter_fold< na , na , na > result_; typedef iter_fold< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< iter_fold< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< iter_fold< na , na , na > > : int_<-1> { }; } }} # 19 "/usr/include/boost-1_42/boost/mpl/distance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/iterator_range.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/iterator_range.hpp" namespace boost { namespace mpl { struct iterator_range_tag; template< typename First = na , typename Last = na > struct iterator_range { typedef iterator_range_tag tag; typedef iterator_range type; typedef First begin; typedef Last end; }; template<> struct iterator_range< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : iterator_range< T1 , T2 > { }; }; template< typename Tag > struct lambda< iterator_range< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef iterator_range< na , na > result_; typedef iterator_range< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< iterator_range< T1 , T2 > > : int_<2> { }; template<> struct template_arity< iterator_range< na , na > > : int_<-1> { }; } }} # 20 "/usr/include/boost-1_42/boost/mpl/distance.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 24 "/usr/include/boost-1_42/boost/mpl/distance.hpp" 2 namespace boost { namespace mpl { template< typename Tag > struct distance_impl { template< typename First, typename Last > struct apply : aux::msvc_eti_base< typename iter_fold< iterator_range , mpl::long_<0> , next<> >::type > { # 60 "/usr/include/boost-1_42/boost/mpl/distance.hpp" }; }; template< typename First = na , typename Last = na > struct distance : distance_impl< typename tag::type > ::template apply { }; template<> struct distance< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : distance< T1 , T2 > { }; }; template< typename Tag > struct lambda< distance< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef distance< na , na > result_; typedef distance< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< distance< T1 , T2 > > : int_<2> { }; template<> struct template_arity< distance< na , na > > : int_<-1> { }; } }} # 20 "/usr/include/boost-1_42/boost/mpl/aux_/size_impl.hpp" 2 namespace boost { namespace mpl { template< typename Tag > struct size_impl { template< typename Sequence > struct apply : distance< typename begin::type , typename end::type > { }; }; template<> struct size_impl {}; }} # 20 "/usr/include/boost-1_42/boost/mpl/size.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct size : aux::msvc_eti_base< typename size_impl< typename sequence_tag::type > ::template apply< Sequence >::type >::type { }; template<> struct size< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : size< T1 > { }; }; template< typename Tag > struct lambda< size< na > , Tag , int_<-1> > { typedef false_ is_le; typedef size< na > result_; typedef size< na > type; }; namespace aux { template< typename T1 > struct template_arity< size< T1 > > : int_<1> { }; template<> struct template_arity< size< na > > : int_<-1> { }; } }} # 22 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 namespace boost { namespace python { namespace detail { struct signature_element { char const* basename; converter::pytype_function pytype_f; bool lvalue; }; struct py_func_sig_info { signature_element const *signature; signature_element const *ret; }; template struct signature_arity; # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<0> { template struct impl { static signature_element const* elements() { static signature_element const result[0 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<1> { template struct impl { static signature_element const* elements() { static signature_element const result[1 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<2> { template struct impl { static signature_element const* elements() { static signature_element const result[2 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<3> { template struct impl { static signature_element const* elements() { static signature_element const result[3 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<4> { template struct impl { static signature_element const* elements() { static signature_element const result[4 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<5> { template struct impl { static signature_element const* elements() { static signature_element const result[5 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<6> { template struct impl { static signature_element const* elements() { static signature_element const result[6 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<7> { template struct impl { static signature_element const* elements() { static signature_element const result[7 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<8> { template struct impl { static signature_element const* elements() { static signature_element const result[8 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<9> { template struct impl { static signature_element const* elements() { static signature_element const result[9 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<10> { template struct impl { static signature_element const* elements() { static signature_element const result[10 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<11> { template struct impl { static signature_element const* elements() { static signature_element const result[11 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<12> { template struct impl { static signature_element const* elements() { static signature_element const result[12 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<13> { template struct impl { static signature_element const* elements() { static signature_element const result[13 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<14> { template struct impl { static signature_element const* elements() { static signature_element const result[14 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<15> { template struct impl { static signature_element const* elements() { static signature_element const result[15 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" template <> struct signature_arity<16> { template struct impl { static signature_element const* elements() { static signature_element const result[16 +2] = { # 96 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, { type_id::type>().name() , &converter::expected_pytype_for_arg::type>::get_pytype , indirect_traits::is_reference_to_non_const::type>::value }, # 97 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 {0,0,0} }; return result; } }; }; # 128 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 43 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 2 template struct signature_base_select { enum { arity = mpl::size::value - 1 }; typedef typename signature_arity::template impl type; }; template struct signature : signature_base_select::type { }; }}} # 18 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/arg_from_python.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/arg_from_python.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/from_python.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/converter/from_python.hpp" namespace boost { namespace python { namespace converter { struct registration; void* get_lvalue_from_python( PyObject* source, registration const&); bool implicit_rvalue_convertible_from_python( PyObject* source, registration const&); rvalue_from_python_stage1_data rvalue_from_python_stage1( PyObject* source, registration const&); void* rvalue_from_python_stage2( PyObject* source, rvalue_from_python_stage1_data&, registration const&); void* rvalue_result_from_python( PyObject*, rvalue_from_python_stage1_data&); void* reference_result_from_python(PyObject*, registration const&); void* pointer_result_from_python(PyObject*, registration const&); void void_result_from_python(PyObject*); void throw_no_pointer_from_python(PyObject*, registration const&); void throw_no_reference_from_python(PyObject*, registration const&); }}} # 10 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" 2 # 23 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/void_ptr.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/detail/void_ptr.hpp" namespace boost { namespace python { namespace detail { template inline U& void_ptr_to_reference(void const volatile* p, U&(*)()) { return *(U*)p; } template inline void write_void_ptr(void const volatile* storage, void* ptr, T*) { *(T**)storage = (T*)ptr; } template inline void write_void_ptr_reference(void const volatile* storage, void* ptr, U&(*)()) { typedef typename remove_cv::type u_stripped; write_void_ptr(storage, ptr, u_stripped(0)); } }}} # 24 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/back_reference.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/back_reference.hpp" # 1 "/usr/include/boost-1_42/boost/python/object_fwd.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/object_fwd.hpp" namespace boost { namespace python { namespace api { class object; } using api::object; }} # 11 "/usr/include/boost-1_42/boost/python/back_reference.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/dependent.hpp" 1 namespace boost { namespace python { namespace detail { # 19 "/usr/include/boost-1_42/boost/python/detail/dependent.hpp" template struct dependent { typedef T type; }; }}} # 12 "/usr/include/boost-1_42/boost/python/back_reference.hpp" 2 namespace boost { namespace python { template struct back_reference { private: typedef typename detail::dependent::type source_t; public: typedef T type; back_reference(PyObject*, T); source_t const& source() const; T get() const; private: source_t m_source; T m_value; }; template class is_back_reference { public: static const bool value = false; }; template class is_back_reference > { public: static const bool value = true; }; # 81 "/usr/include/boost-1_42/boost/python/back_reference.hpp" template back_reference::back_reference(PyObject* p, T x) : m_source(detail::borrowed_reference(p)) , m_value(x) { } template typename back_reference::source_t const& back_reference::source() const { return m_source; } template T back_reference::get() const { return m_value; } }} # 25 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/obj_mgr_arg_from_python.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/converter/obj_mgr_arg_from_python.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/construct.hpp" 1 namespace boost { namespace python { namespace detail { template void construct_pointee(void* storage, Arg& x , T const volatile* ) { new (storage) T(x); } template void construct_referent_impl(void* storage, Arg& x, T&(*)()) { construct_pointee(storage, x, (T*)0); } template void construct_referent(void* storage, Arg const& x, T(*tag)() = 0) { construct_referent_impl(storage, x, tag); } template void construct_referent(void* storage, Arg& x, T(*tag)() = 0) { construct_referent_impl(storage, x, tag); } }}} # 12 "/usr/include/boost-1_42/boost/python/converter/obj_mgr_arg_from_python.hpp" 2 # 20 "/usr/include/boost-1_42/boost/python/converter/obj_mgr_arg_from_python.hpp" namespace boost { namespace python { namespace converter { template struct object_manager_value_arg_from_python { typedef T result_type; object_manager_value_arg_from_python(PyObject*); bool convertible() const; T operator()() const; private: PyObject* m_source; }; # 43 "/usr/include/boost-1_42/boost/python/converter/obj_mgr_arg_from_python.hpp" template struct object_manager_ref_arg_from_python { typedef Ref result_type; object_manager_ref_arg_from_python(PyObject*); bool convertible() const; Ref operator()() const; ~object_manager_ref_arg_from_python(); private: typename python::detail::referent_storage::type m_result; }; template inline object_manager_value_arg_from_python::object_manager_value_arg_from_python(PyObject* x) : m_source(x) { } template inline bool object_manager_value_arg_from_python::convertible() const { return object_manager_traits::check(m_source); } template inline T object_manager_value_arg_from_python::operator()() const { return T(python::detail::borrowed_reference(m_source)); } template inline object_manager_ref_arg_from_python::object_manager_ref_arg_from_python(PyObject* x) { python::detail::construct_referent(&m_result.bytes, (python::detail::borrowed_reference)x); } template inline object_manager_ref_arg_from_python::~object_manager_ref_arg_from_python() { python::detail::destroy_referent(this->m_result.bytes); } namespace detail { template inline bool object_manager_ref_check(T const& x) { return object_manager_traits::check(get_managed_object(x, tag)); } } template inline bool object_manager_ref_arg_from_python::convertible() const { return detail::object_manager_ref_check( python::detail::void_ptr_to_reference(this->m_result.bytes, (Ref(*)())0)); } template inline Ref object_manager_ref_arg_from_python::operator()() const { return python::detail::void_ptr_to_reference( this->m_result.bytes, (Ref(*)())0); } }}} # 27 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" 2 namespace boost { namespace python { template struct arg_from_python; }} namespace boost { namespace python { namespace converter { # 45 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" template struct pointer_cref_arg_from_python { typedef T result_type; pointer_cref_arg_from_python(PyObject*); T operator()() const; bool convertible() const; private: typename python::detail::referent_storage::type m_result; }; struct arg_lvalue_from_python_base { public: arg_lvalue_from_python_base(void* result); bool convertible() const; protected: void*const& result() const; private: void* m_result; }; template struct pointer_arg_from_python : arg_lvalue_from_python_base { typedef T result_type; pointer_arg_from_python(PyObject*); T operator()() const; }; template struct reference_arg_from_python : arg_lvalue_from_python_base { typedef T result_type; reference_arg_from_python(PyObject*); T operator()() const; }; # 106 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" template struct arg_rvalue_from_python { typedef typename boost::add_reference< T >::type result_type; arg_rvalue_from_python(PyObject*); bool convertible() const; typename arg_rvalue_from_python:: result_type operator()(); private: rvalue_from_python_data m_data; PyObject* m_source; }; template struct back_reference_arg_from_python : boost::python::arg_from_python { typedef T result_type; back_reference_arg_from_python(PyObject*); T operator()(); private: typedef boost::python::arg_from_python base; PyObject* m_source; }; template struct if_2 { typedef typename mpl::eval_if, F>::type type; }; template struct select_arg_from_python { typedef typename if_2< is_object_manager , object_manager_value_arg_from_python , if_2< is_reference_to_object_manager , object_manager_ref_arg_from_python , if_2< is_pointer , pointer_arg_from_python , if_2< mpl::and_< indirect_traits::is_reference_to_pointer , indirect_traits::is_reference_to_const , mpl::not_ > > , pointer_cref_arg_from_python , if_2< mpl::or_< indirect_traits::is_reference_to_non_const , indirect_traits::is_reference_to_volatile > , reference_arg_from_python , mpl::if_< boost::python::is_back_reference , back_reference_arg_from_python , arg_rvalue_from_python > > > > > >::type type; }; # 202 "/usr/include/boost-1_42/boost/python/converter/arg_from_python.hpp" inline arg_lvalue_from_python_base::arg_lvalue_from_python_base(void* result) : m_result(result) { } inline bool arg_lvalue_from_python_base::convertible() const { return m_result != 0; } inline void*const& arg_lvalue_from_python_base::result() const { return m_result; } namespace detail { template struct null_ptr_owner { static T value; }; template T null_ptr_owner::value = 0; template inline U& null_ptr_reference(U&(*)()) { return null_ptr_owner::value; } } template inline pointer_cref_arg_from_python::pointer_cref_arg_from_python(PyObject* p) { python::detail::write_void_ptr_reference( m_result.bytes , p == (&_Py_NoneStruct) ? p : converter::get_lvalue_from_python(p, registered_pointee::converters) , (T(*)())0); } template inline bool pointer_cref_arg_from_python::convertible() const { return python::detail::void_ptr_to_reference(m_result.bytes, (T(*)())0) != 0; } template inline T pointer_cref_arg_from_python::operator()() const { return (*(void**)m_result.bytes == (&_Py_NoneStruct)) ? detail::null_ptr_reference((T(*)())0) : python::detail::void_ptr_to_reference(m_result.bytes, (T(*)())0); } template inline pointer_arg_from_python::pointer_arg_from_python(PyObject* p) : arg_lvalue_from_python_base( p == (&_Py_NoneStruct) ? p : converter::get_lvalue_from_python(p, registered_pointee::converters)) { } template inline T pointer_arg_from_python::operator()() const { return (result() == (&_Py_NoneStruct)) ? 0 : T(result()); } template inline reference_arg_from_python::reference_arg_from_python(PyObject* p) : arg_lvalue_from_python_base(converter::get_lvalue_from_python(p,registered::converters)) { } template inline T reference_arg_from_python::operator()() const { return python::detail::void_ptr_to_reference(result(), (T(*)())0); } template inline arg_rvalue_from_python::arg_rvalue_from_python(PyObject* obj) : m_data(converter::rvalue_from_python_stage1(obj, registered::converters)) , m_source(obj) { } template inline bool arg_rvalue_from_python::convertible() const { return m_data.stage1.convertible != 0; } template inline typename arg_rvalue_from_python::result_type arg_rvalue_from_python::operator()() { if (m_data.stage1.construct != 0) m_data.stage1.construct(m_source, &m_data.stage1); return python::detail::void_ptr_to_reference(m_data.stage1.convertible, (result_type(*)())0); } template back_reference_arg_from_python::back_reference_arg_from_python(PyObject* x) : base(x), m_source(x) { } template inline T back_reference_arg_from_python::operator()() { return T(m_source, base::operator()()); } }}} # 10 "/usr/include/boost-1_42/boost/python/arg_from_python.hpp" 2 namespace boost { namespace python { template struct arg_from_python : converter::select_arg_from_python< T >::type { typedef typename converter::select_arg_from_python< T >::type base; arg_from_python(PyObject*); }; template <> struct arg_from_python { typedef PyObject* result_type; arg_from_python(PyObject* p) : m_source(p) {} bool convertible() const { return true; } PyObject* operator()() const { return m_source; } private: PyObject* m_source; }; template <> struct arg_from_python { typedef PyObject* const& result_type; arg_from_python(PyObject* p) : m_source(p) {} bool convertible() const { return true; } PyObject*const& operator()() const { return m_source; } private: PyObject* m_source; }; template inline arg_from_python::arg_from_python(PyObject* source) : base(source) { } }} # 21 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/context_result_converter.hpp" 1 namespace boost { namespace python { namespace converter { struct context_result_converter {}; }}} # 22 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/dec.hpp" 1 # 27 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/if.hpp" 1 # 28 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 # 1 "/usr/include/boost-1_42/boost/compressed_pair.hpp" 1 # 21 "/usr/include/boost-1_42/boost/compressed_pair.hpp" # 1 "/usr/include/boost-1_42/boost/detail/compressed_pair.hpp" 1 # 28 "/usr/include/boost-1_42/boost/detail/compressed_pair.hpp" # 1 "/usr/include/boost-1_42/boost/call_traits.hpp" 1 # 21 "/usr/include/boost-1_42/boost/call_traits.hpp" # 1 "/usr/include/boost-1_42/boost/detail/call_traits.hpp" 1 # 24 "/usr/include/boost-1_42/boost/detail/call_traits.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 25 "/usr/include/boost-1_42/boost/detail/call_traits.hpp" 2 namespace boost{ namespace detail{ template struct ct_imp2 { typedef const T& param_type; }; template struct ct_imp2 { typedef const T param_type; }; template struct ct_imp { typedef const T& param_type; }; template struct ct_imp { typedef typename ct_imp2::param_type param_type; }; template struct ct_imp { typedef const T param_type; }; } template struct call_traits { public: typedef T value_type; typedef T& reference; typedef const T& const_reference; typedef typename boost::detail::ct_imp< T, ::boost::is_pointer::value, ::boost::is_arithmetic::value >::param_type param_type; }; template struct call_traits { typedef T& value_type; typedef T& reference; typedef const T& const_reference; typedef T& param_type; }; # 135 "/usr/include/boost-1_42/boost/detail/call_traits.hpp" template struct call_traits { private: typedef T array_type[BOOST_PP_ITERATION_0]; public: typedef const T* value_type; typedef array_type& reference; typedef const array_type& const_reference; typedef const T* const param_type; }; template struct call_traits { private: typedef const T array_type[BOOST_PP_ITERATION_0]; public: typedef const T* value_type; typedef array_type& reference; typedef const array_type& const_reference; typedef const T* const param_type; }; } # 22 "/usr/include/boost-1_42/boost/call_traits.hpp" 2 # 29 "/usr/include/boost-1_42/boost/detail/compressed_pair.hpp" 2 namespace boost { template class compressed_pair; namespace details { template struct compressed_pair_switch; template struct compressed_pair_switch {static const int value = 0;}; template struct compressed_pair_switch {static const int value = 3;}; template struct compressed_pair_switch {static const int value = 1;}; template struct compressed_pair_switch {static const int value = 2;}; template struct compressed_pair_switch {static const int value = 4;}; template struct compressed_pair_switch {static const int value = 5;}; template class compressed_pair_imp; using std::swap; template inline void cp_swap(T& t1, T& t2) { swap(t1, t2); } template class compressed_pair_imp { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_(x), second_(y) {} compressed_pair_imp(first_param_type x) : first_(x) {} compressed_pair_imp(second_param_type y) : second_(y) {} first_reference first() {return first_;} first_const_reference first() const {return first_;} second_reference second() {return second_;} second_const_reference second() const {return second_;} void swap(::boost::compressed_pair& y) { cp_swap(first_, y.first()); cp_swap(second_, y.second()); } private: first_type first_; second_type second_; }; template class compressed_pair_imp : protected ::boost::remove_cv::type { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_type(x), second_(y) {} compressed_pair_imp(first_param_type x) : first_type(x) {} compressed_pair_imp(second_param_type y) : second_(y) {} first_reference first() {return *this;} first_const_reference first() const {return *this;} second_reference second() {return second_;} second_const_reference second() const {return second_;} void swap(::boost::compressed_pair& y) { cp_swap(second_, y.second()); } private: second_type second_; }; template class compressed_pair_imp : protected ::boost::remove_cv::type { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : second_type(y), first_(x) {} compressed_pair_imp(first_param_type x) : first_(x) {} compressed_pair_imp(second_param_type y) : second_type(y) {} first_reference first() {return first_;} first_const_reference first() const {return first_;} second_reference second() {return *this;} second_const_reference second() const {return *this;} void swap(::boost::compressed_pair& y) { cp_swap(first_, y.first()); } private: first_type first_; }; template class compressed_pair_imp : protected ::boost::remove_cv::type, protected ::boost::remove_cv::type { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_type(x), second_type(y) {} compressed_pair_imp(first_param_type x) : first_type(x) {} compressed_pair_imp(second_param_type y) : second_type(y) {} first_reference first() {return *this;} first_const_reference first() const {return *this;} second_reference second() {return *this;} second_const_reference second() const {return *this;} void swap(::boost::compressed_pair&) {} }; # 265 "/usr/include/boost-1_42/boost/detail/compressed_pair.hpp" template class compressed_pair_imp : protected ::boost::remove_cv::type { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_type(x), m_second(y) {} compressed_pair_imp(first_param_type x) : first_type(x), m_second(x) {} first_reference first() {return *this;} first_const_reference first() const {return *this;} second_reference second() {return m_second;} second_const_reference second() const {return m_second;} void swap(::boost::compressed_pair&) {} private: T2 m_second; }; template class compressed_pair_imp { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_(x), second_(y) {} compressed_pair_imp(first_param_type x) : first_(x), second_(x) {} first_reference first() {return first_;} first_const_reference first() const {return first_;} second_reference second() {return second_;} second_const_reference second() const {return second_;} void swap(::boost::compressed_pair& y) { cp_swap(first_, y.first()); cp_swap(second_, y.second()); } private: first_type first_; second_type second_; }; } template class compressed_pair : private ::boost::details::compressed_pair_imp::type, typename remove_cv::type>::value, ::boost::is_empty::value, ::boost::is_empty::value>::value> { private: typedef details::compressed_pair_imp::type, typename remove_cv::type>::value, ::boost::is_empty::value, ::boost::is_empty::value>::value> base; public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair() : base() {} compressed_pair(first_param_type x, second_param_type y) : base(x, y) {} explicit compressed_pair(first_param_type x) : base(x) {} explicit compressed_pair(second_param_type y) : base(y) {} first_reference first() {return base::first();} first_const_reference first() const {return base::first();} second_reference second() {return base::second();} second_const_reference second() const {return base::second();} void swap(compressed_pair& y) { base::swap(y); } }; template class compressed_pair : private details::compressed_pair_imp::type, typename remove_cv::type>::value, ::boost::is_empty::value, ::boost::is_empty::value>::value> { private: typedef details::compressed_pair_imp::type, typename remove_cv::type>::value, ::boost::is_empty::value, ::boost::is_empty::value>::value> base; public: typedef T first_type; typedef T second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair() : base() {} compressed_pair(first_param_type x, second_param_type y) : base(x, y) {} explicit compressed_pair(first_param_type x) : base(x) {} first_reference first() {return base::first();} first_const_reference first() const {return base::first();} second_reference second() {return base::second();} second_const_reference second() const {return base::second();} void swap(::boost::compressed_pair& y) { base::swap(y); } }; template inline void swap(compressed_pair& x, compressed_pair& y) { x.swap(y); } } # 22 "/usr/include/boost-1_42/boost/compressed_pair.hpp" 2 # 33 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 1 # 38 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 namespace boost { namespace python { namespace detail { template inline PyObject* get(mpl::int_, PyObject* const& args_) { return (((PyTupleObject *)(args_))->ob_item[BOOST_PP_ITERATION_0]); } inline unsigned arity(PyObject* const& args_) { return (((PyVarObject*)(args_))->ob_size); } typedef int void_result_to_python; template struct select_result_converter : mpl::eval_if< is_same , mpl::identity , mpl::apply1 > { }; template inline ResultConverter create_result_converter( ArgPackage const& args_ , ResultConverter* , converter::context_result_converter* ) { return ResultConverter(args_); } template inline ResultConverter create_result_converter( ArgPackage const& , ResultConverter* , ... ) { return ResultConverter(); } template struct converter_target_type { static PyTypeObject const *get_pytype() { return create_result_converter((PyObject*)0, (ResultConverter *)0, (ResultConverter *)0).get_pytype(); } }; template < > struct converter_target_type { static PyTypeObject const *get_pytype() { return 0; } }; template struct caller_arity; template struct caller; # 134 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<0> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 215 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 0; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<1> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 1; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<2> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 2; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<3> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 3; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<4> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 4; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<5> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 5; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<6> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 6; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<7> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 7; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<8> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 8; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<9> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; typedef typename mpl::next< arg_iter7 >::type arg_iter8; typedef arg_from_python c_t8; c_t8 c8(get(mpl::int_<8>(), inner_args)); if (!c8.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 9; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<10> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; typedef typename mpl::next< arg_iter7 >::type arg_iter8; typedef arg_from_python c_t8; c_t8 c8(get(mpl::int_<8>(), inner_args)); if (!c8.convertible()) return 0; typedef typename mpl::next< arg_iter8 >::type arg_iter9; typedef arg_from_python c_t9; c_t9 c9(get(mpl::int_<9>(), inner_args)); if (!c9.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 10; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<11> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; typedef typename mpl::next< arg_iter7 >::type arg_iter8; typedef arg_from_python c_t8; c_t8 c8(get(mpl::int_<8>(), inner_args)); if (!c8.convertible()) return 0; typedef typename mpl::next< arg_iter8 >::type arg_iter9; typedef arg_from_python c_t9; c_t9 c9(get(mpl::int_<9>(), inner_args)); if (!c9.convertible()) return 0; typedef typename mpl::next< arg_iter9 >::type arg_iter10; typedef arg_from_python c_t10; c_t10 c10(get(mpl::int_<10>(), inner_args)); if (!c10.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 11; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<12> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; typedef typename mpl::next< arg_iter7 >::type arg_iter8; typedef arg_from_python c_t8; c_t8 c8(get(mpl::int_<8>(), inner_args)); if (!c8.convertible()) return 0; typedef typename mpl::next< arg_iter8 >::type arg_iter9; typedef arg_from_python c_t9; c_t9 c9(get(mpl::int_<9>(), inner_args)); if (!c9.convertible()) return 0; typedef typename mpl::next< arg_iter9 >::type arg_iter10; typedef arg_from_python c_t10; c_t10 c10(get(mpl::int_<10>(), inner_args)); if (!c10.convertible()) return 0; typedef typename mpl::next< arg_iter10 >::type arg_iter11; typedef arg_from_python c_t11; c_t11 c11(get(mpl::int_<11>(), inner_args)); if (!c11.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 12; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<13> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; typedef typename mpl::next< arg_iter7 >::type arg_iter8; typedef arg_from_python c_t8; c_t8 c8(get(mpl::int_<8>(), inner_args)); if (!c8.convertible()) return 0; typedef typename mpl::next< arg_iter8 >::type arg_iter9; typedef arg_from_python c_t9; c_t9 c9(get(mpl::int_<9>(), inner_args)); if (!c9.convertible()) return 0; typedef typename mpl::next< arg_iter9 >::type arg_iter10; typedef arg_from_python c_t10; c_t10 c10(get(mpl::int_<10>(), inner_args)); if (!c10.convertible()) return 0; typedef typename mpl::next< arg_iter10 >::type arg_iter11; typedef arg_from_python c_t11; c_t11 c11(get(mpl::int_<11>(), inner_args)); if (!c11.convertible()) return 0; typedef typename mpl::next< arg_iter11 >::type arg_iter12; typedef arg_from_python c_t12; c_t12 c12(get(mpl::int_<12>(), inner_args)); if (!c12.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 13; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<14> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; typedef typename mpl::next< arg_iter7 >::type arg_iter8; typedef arg_from_python c_t8; c_t8 c8(get(mpl::int_<8>(), inner_args)); if (!c8.convertible()) return 0; typedef typename mpl::next< arg_iter8 >::type arg_iter9; typedef arg_from_python c_t9; c_t9 c9(get(mpl::int_<9>(), inner_args)); if (!c9.convertible()) return 0; typedef typename mpl::next< arg_iter9 >::type arg_iter10; typedef arg_from_python c_t10; c_t10 c10(get(mpl::int_<10>(), inner_args)); if (!c10.convertible()) return 0; typedef typename mpl::next< arg_iter10 >::type arg_iter11; typedef arg_from_python c_t11; c_t11 c11(get(mpl::int_<11>(), inner_args)); if (!c11.convertible()) return 0; typedef typename mpl::next< arg_iter11 >::type arg_iter12; typedef arg_from_python c_t12; c_t12 c12(get(mpl::int_<12>(), inner_args)); if (!c12.convertible()) return 0; typedef typename mpl::next< arg_iter12 >::type arg_iter13; typedef arg_from_python c_t13; c_t13 c13(get(mpl::int_<13>(), inner_args)); if (!c13.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 , c13 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 14; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<15> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; typedef typename mpl::next< arg_iter7 >::type arg_iter8; typedef arg_from_python c_t8; c_t8 c8(get(mpl::int_<8>(), inner_args)); if (!c8.convertible()) return 0; typedef typename mpl::next< arg_iter8 >::type arg_iter9; typedef arg_from_python c_t9; c_t9 c9(get(mpl::int_<9>(), inner_args)); if (!c9.convertible()) return 0; typedef typename mpl::next< arg_iter9 >::type arg_iter10; typedef arg_from_python c_t10; c_t10 c10(get(mpl::int_<10>(), inner_args)); if (!c10.convertible()) return 0; typedef typename mpl::next< arg_iter10 >::type arg_iter11; typedef arg_from_python c_t11; c_t11 c11(get(mpl::int_<11>(), inner_args)); if (!c11.convertible()) return 0; typedef typename mpl::next< arg_iter11 >::type arg_iter12; typedef arg_from_python c_t12; c_t12 c12(get(mpl::int_<12>(), inner_args)); if (!c12.convertible()) return 0; typedef typename mpl::next< arg_iter12 >::type arg_iter13; typedef arg_from_python c_t13; c_t13 c13(get(mpl::int_<13>(), inner_args)); if (!c13.convertible()) return 0; typedef typename mpl::next< arg_iter13 >::type arg_iter14; typedef arg_from_python c_t14; c_t14 c14(get(mpl::int_<14>(), inner_args)); if (!c14.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 , c13 , c14 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 15; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 188 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template <> struct caller_arity<16> { template struct impl { impl(F f, Policies p) : m_data(f,p) {} PyObject* operator()(PyObject* args_, PyObject*) { typedef typename mpl::begin::type first; typedef typename first::type result_t; typedef typename select_result_converter::type result_converter; typedef typename Policies::argument_package argument_package; argument_package inner_args(args_); # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::next::type arg_iter0; typedef arg_from_python c_t0; c_t0 c0(get(mpl::int_<0>(), inner_args)); if (!c0.convertible()) return 0; typedef typename mpl::next< arg_iter0 >::type arg_iter1; typedef arg_from_python c_t1; c_t1 c1(get(mpl::int_<1>(), inner_args)); if (!c1.convertible()) return 0; typedef typename mpl::next< arg_iter1 >::type arg_iter2; typedef arg_from_python c_t2; c_t2 c2(get(mpl::int_<2>(), inner_args)); if (!c2.convertible()) return 0; typedef typename mpl::next< arg_iter2 >::type arg_iter3; typedef arg_from_python c_t3; c_t3 c3(get(mpl::int_<3>(), inner_args)); if (!c3.convertible()) return 0; typedef typename mpl::next< arg_iter3 >::type arg_iter4; typedef arg_from_python c_t4; c_t4 c4(get(mpl::int_<4>(), inner_args)); if (!c4.convertible()) return 0; typedef typename mpl::next< arg_iter4 >::type arg_iter5; typedef arg_from_python c_t5; c_t5 c5(get(mpl::int_<5>(), inner_args)); if (!c5.convertible()) return 0; typedef typename mpl::next< arg_iter5 >::type arg_iter6; typedef arg_from_python c_t6; c_t6 c6(get(mpl::int_<6>(), inner_args)); if (!c6.convertible()) return 0; typedef typename mpl::next< arg_iter6 >::type arg_iter7; typedef arg_from_python c_t7; c_t7 c7(get(mpl::int_<7>(), inner_args)); if (!c7.convertible()) return 0; typedef typename mpl::next< arg_iter7 >::type arg_iter8; typedef arg_from_python c_t8; c_t8 c8(get(mpl::int_<8>(), inner_args)); if (!c8.convertible()) return 0; typedef typename mpl::next< arg_iter8 >::type arg_iter9; typedef arg_from_python c_t9; c_t9 c9(get(mpl::int_<9>(), inner_args)); if (!c9.convertible()) return 0; typedef typename mpl::next< arg_iter9 >::type arg_iter10; typedef arg_from_python c_t10; c_t10 c10(get(mpl::int_<10>(), inner_args)); if (!c10.convertible()) return 0; typedef typename mpl::next< arg_iter10 >::type arg_iter11; typedef arg_from_python c_t11; c_t11 c11(get(mpl::int_<11>(), inner_args)); if (!c11.convertible()) return 0; typedef typename mpl::next< arg_iter11 >::type arg_iter12; typedef arg_from_python c_t12; c_t12 c12(get(mpl::int_<12>(), inner_args)); if (!c12.convertible()) return 0; typedef typename mpl::next< arg_iter12 >::type arg_iter13; typedef arg_from_python c_t13; c_t13 c13(get(mpl::int_<13>(), inner_args)); if (!c13.convertible()) return 0; typedef typename mpl::next< arg_iter13 >::type arg_iter14; typedef arg_from_python c_t14; c_t14 c14(get(mpl::int_<14>(), inner_args)); if (!c14.convertible()) return 0; typedef typename mpl::next< arg_iter14 >::type arg_iter15; typedef arg_from_python c_t15; c_t15 c15(get(mpl::int_<15>(), inner_args)); if (!c15.convertible()) return 0; # 212 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 if (!m_data.second().precall(inner_args)) return 0; PyObject* result = detail::invoke( detail::invoke_tag() , create_result_converter(args_, (result_converter*)0, (result_converter*)0) , m_data.first() , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 , c13 , c14 , c15 ); return m_data.second().postcall(inner_args, result); } static unsigned min_arity() { return 16; } static py_func_sig_info signature() { const signature_element * sig = detail::signature::elements(); typedef typename Policies::template extract_return_type::type rtype; typedef typename select_result_converter::type result_converter; static const signature_element ret = { (boost::is_void::value ? "void" : type_id().name()) , &detail::converter_target_type::get_pytype , boost::detail::indirect_traits::is_reference_to_non_const::value }; py_func_sig_info res = {sig, &ret }; return res; } private: compressed_pair m_data; }; }; # 128 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 135 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 2 template struct caller_base_select { enum { arity = mpl::size::value - 1 }; typedef typename caller_arity::template impl type; }; # 166 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" template struct caller : caller_base_select::type { typedef typename caller_base_select< F,CallPolicies,Sig >::type base; typedef PyObject* result_type; caller(F f, CallPolicies p) : base(f,p) {} }; }}} # 9 "/usr/include/boost-1_42/boost/python/object/function_handle.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/default_call_policies.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/default_call_policies.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/front.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/front.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/front_impl.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/front_impl.hpp" namespace boost { namespace mpl { template< typename Tag > struct front_impl { template< typename Sequence > struct apply { typedef typename begin::type iter_; typedef typename deref::type type; }; }; template<> struct front_impl {}; }} # 19 "/usr/include/boost-1_42/boost/mpl/front.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct front : front_impl< typename sequence_tag::type > ::template apply< Sequence > { }; template<> struct front< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : front< T1 > { }; }; template< typename Tag > struct lambda< front< na > , Tag , int_<-1> > { typedef false_ is_le; typedef front< na > result_; typedef front< na > type; }; namespace aux { template< typename T1 > struct template_arity< front< T1 > > : int_<1> { }; template<> struct template_arity< front< na > > : int_<-1> { }; } }} # 17 "/usr/include/boost-1_42/boost/python/default_call_policies.hpp" 2 namespace boost { namespace python { template struct to_python_value; namespace detail { template struct specify_a_return_value_policy_to_wrap_functions_returning {} ; } struct default_result_converter; struct default_call_policies { template static bool precall(ArgumentPackage const&) { return true; } template static PyObject* postcall(ArgumentPackage const&, PyObject* result) { return result; } typedef default_result_converter result_converter; typedef PyObject* argument_package; template struct extract_return_type : mpl::front { }; }; struct default_result_converter { template struct apply { typedef typename mpl::if_< mpl::or_, is_reference > , detail::specify_a_return_value_policy_to_wrap_functions_returning , boost::python::to_python_value< typename detail::value_arg::type > >::type type; }; }; template <> struct default_result_converter::apply { typedef boost::python::to_python_value type; }; template <> struct default_result_converter::apply { typedef boost::python::to_python_value type; }; }} # 10 "/usr/include/boost-1_42/boost/python/object/function_handle.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/py_function.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/signature.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/object/py_function.hpp" 2 namespace boost { namespace python { namespace objects { struct py_function_impl_base { virtual ~py_function_impl_base(); virtual PyObject* operator()(PyObject*, PyObject*) = 0; virtual unsigned min_arity() const = 0; virtual unsigned max_arity() const; virtual python::detail::py_func_sig_info signature() const = 0; }; template struct caller_py_function_impl : py_function_impl_base { caller_py_function_impl(Caller const& caller) : m_caller(caller) {} PyObject* operator()(PyObject* args, PyObject* kw) { return m_caller(args, kw); } virtual unsigned min_arity() const { return m_caller.min_arity(); } virtual python::detail::py_func_sig_info signature() const { return m_caller.signature(); } private: Caller m_caller; }; template struct signature_py_function_impl : py_function_impl_base { signature_py_function_impl(Caller const& caller) : m_caller(caller) {} PyObject* operator()(PyObject* args, PyObject* kw) { return m_caller(args, kw); } virtual unsigned min_arity() const { return mpl::size::value - 1; } virtual python::detail::py_func_sig_info signature() const { python::detail::signature_element const* sig = python::detail::signature::elements(); python::detail::py_func_sig_info res = {sig, sig}; return res; } private: Caller m_caller; }; template struct full_py_function_impl : py_function_impl_base { full_py_function_impl(Caller const& caller, unsigned min_arity, unsigned max_arity) : m_caller(caller) , m_min_arity(min_arity) , m_max_arity(max_arity > min_arity ? max_arity : min_arity) {} PyObject* operator()(PyObject* args, PyObject* kw) { return m_caller(args, kw); } virtual unsigned min_arity() const { return m_min_arity; } virtual unsigned max_arity() const { return m_max_arity; } virtual python::detail::py_func_sig_info signature() const { python::detail::signature_element const* sig = python::detail::signature::elements(); python::detail::py_func_sig_info res = {sig, sig}; return res; } private: Caller m_caller; unsigned m_min_arity; unsigned m_max_arity; }; struct py_function { template py_function(Caller const& caller) : m_impl(new caller_py_function_impl(caller)) {} template py_function(Caller const& caller, Sig) : m_impl(new signature_py_function_impl(caller)) {} template py_function(Caller const& caller, Sig, int min_arity, int max_arity = 0) : m_impl(new full_py_function_impl(caller, min_arity, max_arity)) {} py_function(py_function const& rhs) : m_impl(rhs.m_impl) {} PyObject* operator()(PyObject* args, PyObject* kw) const { return (*m_impl)(args, kw); } unsigned min_arity() const { return m_impl->min_arity(); } unsigned max_arity() const { return m_impl->max_arity(); } python::detail::signature_element const* signature() const { return m_impl->signature().signature; } python::detail::signature_element const& get_return_type() const { return *m_impl->signature().ret; } private: mutable std::auto_ptr m_impl; }; }}} # 11 "/usr/include/boost-1_42/boost/python/object/function_handle.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 37 "/usr/include/boost-1_42/boost/python/signature.hpp" namespace boost { namespace python { namespace detail { template struct most_derived { typedef typename mpl::if_< is_convertible , C1 , C2 >::type type; }; # 106 "/usr/include/boost-1_42/boost/python/signature.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT > inline mpl::vector1< RT > get_signature(RT(*)(), void* = 0) { return mpl::vector1< RT >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT > inline mpl::vector2< RT, ClassT& > get_signature(RT(ClassT::*)() ) { return mpl::vector2< RT, ClassT& >(); } template < class Target , class RT , class ClassT > inline mpl::vector2< RT , typename most_derived::type& > get_signature( RT(ClassT::*)() , Target* ) { return mpl::vector2< RT , typename most_derived::type& >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT > inline mpl::vector2< RT, ClassT& > get_signature(RT(ClassT::*)() const) { return mpl::vector2< RT, ClassT& >(); } template < class Target , class RT , class ClassT > inline mpl::vector2< RT , typename most_derived::type& > get_signature( RT(ClassT::*)() const , Target* ) { return mpl::vector2< RT , typename most_derived::type& >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT > inline mpl::vector2< RT, ClassT& > get_signature(RT(ClassT::*)() volatile) { return mpl::vector2< RT, ClassT& >(); } template < class Target , class RT , class ClassT > inline mpl::vector2< RT , typename most_derived::type& > get_signature( RT(ClassT::*)() volatile , Target* ) { return mpl::vector2< RT , typename most_derived::type& >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT > inline mpl::vector2< RT, ClassT& > get_signature(RT(ClassT::*)() const volatile) { return mpl::vector2< RT, ClassT& >(); } template < class Target , class RT , class ClassT > inline mpl::vector2< RT , typename most_derived::type& > get_signature( RT(ClassT::*)() const volatile , Target* ) { return mpl::vector2< RT , typename most_derived::type& >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0> inline mpl::vector2< RT , T0> get_signature(RT(*)( T0), void* = 0) { return mpl::vector2< RT , T0 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0> inline mpl::vector3< RT, ClassT& , T0> get_signature(RT(ClassT::*)( T0) ) { return mpl::vector3< RT, ClassT& , T0 >(); } template < class Target , class RT , class ClassT , class T0 > inline mpl::vector3< RT , typename most_derived::type& , T0 > get_signature( RT(ClassT::*)( T0) , Target* ) { return mpl::vector3< RT , typename most_derived::type& , T0 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0> inline mpl::vector3< RT, ClassT& , T0> get_signature(RT(ClassT::*)( T0) const) { return mpl::vector3< RT, ClassT& , T0 >(); } template < class Target , class RT , class ClassT , class T0 > inline mpl::vector3< RT , typename most_derived::type& , T0 > get_signature( RT(ClassT::*)( T0) const , Target* ) { return mpl::vector3< RT , typename most_derived::type& , T0 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0> inline mpl::vector3< RT, ClassT& , T0> get_signature(RT(ClassT::*)( T0) volatile) { return mpl::vector3< RT, ClassT& , T0 >(); } template < class Target , class RT , class ClassT , class T0 > inline mpl::vector3< RT , typename most_derived::type& , T0 > get_signature( RT(ClassT::*)( T0) volatile , Target* ) { return mpl::vector3< RT , typename most_derived::type& , T0 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0> inline mpl::vector3< RT, ClassT& , T0> get_signature(RT(ClassT::*)( T0) const volatile) { return mpl::vector3< RT, ClassT& , T0 >(); } template < class Target , class RT , class ClassT , class T0 > inline mpl::vector3< RT , typename most_derived::type& , T0 > get_signature( RT(ClassT::*)( T0) const volatile , Target* ) { return mpl::vector3< RT , typename most_derived::type& , T0 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1> inline mpl::vector3< RT , T0 , T1> get_signature(RT(*)( T0 , T1), void* = 0) { return mpl::vector3< RT , T0 , T1 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1> inline mpl::vector4< RT, ClassT& , T0 , T1> get_signature(RT(ClassT::*)( T0 , T1) ) { return mpl::vector4< RT, ClassT& , T0 , T1 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 > inline mpl::vector4< RT , typename most_derived::type& , T0 , T1 > get_signature( RT(ClassT::*)( T0 , T1) , Target* ) { return mpl::vector4< RT , typename most_derived::type& , T0 , T1 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1> inline mpl::vector4< RT, ClassT& , T0 , T1> get_signature(RT(ClassT::*)( T0 , T1) const) { return mpl::vector4< RT, ClassT& , T0 , T1 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 > inline mpl::vector4< RT , typename most_derived::type& , T0 , T1 > get_signature( RT(ClassT::*)( T0 , T1) const , Target* ) { return mpl::vector4< RT , typename most_derived::type& , T0 , T1 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1> inline mpl::vector4< RT, ClassT& , T0 , T1> get_signature(RT(ClassT::*)( T0 , T1) volatile) { return mpl::vector4< RT, ClassT& , T0 , T1 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 > inline mpl::vector4< RT , typename most_derived::type& , T0 , T1 > get_signature( RT(ClassT::*)( T0 , T1) volatile , Target* ) { return mpl::vector4< RT , typename most_derived::type& , T0 , T1 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1> inline mpl::vector4< RT, ClassT& , T0 , T1> get_signature(RT(ClassT::*)( T0 , T1) const volatile) { return mpl::vector4< RT, ClassT& , T0 , T1 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 > inline mpl::vector4< RT , typename most_derived::type& , T0 , T1 > get_signature( RT(ClassT::*)( T0 , T1) const volatile , Target* ) { return mpl::vector4< RT , typename most_derived::type& , T0 , T1 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2> inline mpl::vector4< RT , T0 , T1 , T2> get_signature(RT(*)( T0 , T1 , T2), void* = 0) { return mpl::vector4< RT , T0 , T1 , T2 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2> inline mpl::vector5< RT, ClassT& , T0 , T1 , T2> get_signature(RT(ClassT::*)( T0 , T1 , T2) ) { return mpl::vector5< RT, ClassT& , T0 , T1 , T2 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 > inline mpl::vector5< RT , typename most_derived::type& , T0 , T1 , T2 > get_signature( RT(ClassT::*)( T0 , T1 , T2) , Target* ) { return mpl::vector5< RT , typename most_derived::type& , T0 , T1 , T2 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2> inline mpl::vector5< RT, ClassT& , T0 , T1 , T2> get_signature(RT(ClassT::*)( T0 , T1 , T2) const) { return mpl::vector5< RT, ClassT& , T0 , T1 , T2 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 > inline mpl::vector5< RT , typename most_derived::type& , T0 , T1 , T2 > get_signature( RT(ClassT::*)( T0 , T1 , T2) const , Target* ) { return mpl::vector5< RT , typename most_derived::type& , T0 , T1 , T2 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2> inline mpl::vector5< RT, ClassT& , T0 , T1 , T2> get_signature(RT(ClassT::*)( T0 , T1 , T2) volatile) { return mpl::vector5< RT, ClassT& , T0 , T1 , T2 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 > inline mpl::vector5< RT , typename most_derived::type& , T0 , T1 , T2 > get_signature( RT(ClassT::*)( T0 , T1 , T2) volatile , Target* ) { return mpl::vector5< RT , typename most_derived::type& , T0 , T1 , T2 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2> inline mpl::vector5< RT, ClassT& , T0 , T1 , T2> get_signature(RT(ClassT::*)( T0 , T1 , T2) const volatile) { return mpl::vector5< RT, ClassT& , T0 , T1 , T2 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 > inline mpl::vector5< RT , typename most_derived::type& , T0 , T1 , T2 > get_signature( RT(ClassT::*)( T0 , T1 , T2) const volatile , Target* ) { return mpl::vector5< RT , typename most_derived::type& , T0 , T1 , T2 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3> inline mpl::vector5< RT , T0 , T1 , T2 , T3> get_signature(RT(*)( T0 , T1 , T2 , T3), void* = 0) { return mpl::vector5< RT , T0 , T1 , T2 , T3 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3> inline mpl::vector6< RT, ClassT& , T0 , T1 , T2 , T3> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3) ) { return mpl::vector6< RT, ClassT& , T0 , T1 , T2 , T3 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 > inline mpl::vector6< RT , typename most_derived::type& , T0 , T1 , T2 , T3 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3) , Target* ) { return mpl::vector6< RT , typename most_derived::type& , T0 , T1 , T2 , T3 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3> inline mpl::vector6< RT, ClassT& , T0 , T1 , T2 , T3> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3) const) { return mpl::vector6< RT, ClassT& , T0 , T1 , T2 , T3 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 > inline mpl::vector6< RT , typename most_derived::type& , T0 , T1 , T2 , T3 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3) const , Target* ) { return mpl::vector6< RT , typename most_derived::type& , T0 , T1 , T2 , T3 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3> inline mpl::vector6< RT, ClassT& , T0 , T1 , T2 , T3> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3) volatile) { return mpl::vector6< RT, ClassT& , T0 , T1 , T2 , T3 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 > inline mpl::vector6< RT , typename most_derived::type& , T0 , T1 , T2 , T3 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3) volatile , Target* ) { return mpl::vector6< RT , typename most_derived::type& , T0 , T1 , T2 , T3 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3> inline mpl::vector6< RT, ClassT& , T0 , T1 , T2 , T3> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3) const volatile) { return mpl::vector6< RT, ClassT& , T0 , T1 , T2 , T3 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 > inline mpl::vector6< RT , typename most_derived::type& , T0 , T1 , T2 , T3 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3) const volatile , Target* ) { return mpl::vector6< RT , typename most_derived::type& , T0 , T1 , T2 , T3 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4> inline mpl::vector6< RT , T0 , T1 , T2 , T3 , T4> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4), void* = 0) { return mpl::vector6< RT , T0 , T1 , T2 , T3 , T4 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4> inline mpl::vector7< RT, ClassT& , T0 , T1 , T2 , T3 , T4> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4) ) { return mpl::vector7< RT, ClassT& , T0 , T1 , T2 , T3 , T4 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 > inline mpl::vector7< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4) , Target* ) { return mpl::vector7< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4> inline mpl::vector7< RT, ClassT& , T0 , T1 , T2 , T3 , T4> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4) const) { return mpl::vector7< RT, ClassT& , T0 , T1 , T2 , T3 , T4 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 > inline mpl::vector7< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4) const , Target* ) { return mpl::vector7< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4> inline mpl::vector7< RT, ClassT& , T0 , T1 , T2 , T3 , T4> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4) volatile) { return mpl::vector7< RT, ClassT& , T0 , T1 , T2 , T3 , T4 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 > inline mpl::vector7< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4) volatile , Target* ) { return mpl::vector7< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4> inline mpl::vector7< RT, ClassT& , T0 , T1 , T2 , T3 , T4> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4) const volatile) { return mpl::vector7< RT, ClassT& , T0 , T1 , T2 , T3 , T4 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 > inline mpl::vector7< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4) const volatile , Target* ) { return mpl::vector7< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5> inline mpl::vector7< RT , T0 , T1 , T2 , T3 , T4 , T5> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5), void* = 0) { return mpl::vector7< RT , T0 , T1 , T2 , T3 , T4 , T5 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5> inline mpl::vector8< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5) ) { return mpl::vector8< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 > inline mpl::vector8< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5) , Target* ) { return mpl::vector8< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5> inline mpl::vector8< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5) const) { return mpl::vector8< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 > inline mpl::vector8< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5) const , Target* ) { return mpl::vector8< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5> inline mpl::vector8< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile) { return mpl::vector8< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 > inline mpl::vector8< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile , Target* ) { return mpl::vector8< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5> inline mpl::vector8< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile) { return mpl::vector8< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 > inline mpl::vector8< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile , Target* ) { return mpl::vector8< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6> inline mpl::vector8< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6), void* = 0) { return mpl::vector8< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6> inline mpl::vector9< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) ) { return mpl::vector9< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > inline mpl::vector9< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) , Target* ) { return mpl::vector9< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6> inline mpl::vector9< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const) { return mpl::vector9< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > inline mpl::vector9< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const , Target* ) { return mpl::vector9< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6> inline mpl::vector9< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile) { return mpl::vector9< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > inline mpl::vector9< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile , Target* ) { return mpl::vector9< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6> inline mpl::vector9< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile) { return mpl::vector9< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > inline mpl::vector9< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile , Target* ) { return mpl::vector9< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7> inline mpl::vector9< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7), void* = 0) { return mpl::vector9< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7> inline mpl::vector10< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) ) { return mpl::vector10< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 > inline mpl::vector10< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) , Target* ) { return mpl::vector10< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7> inline mpl::vector10< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const) { return mpl::vector10< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 > inline mpl::vector10< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const , Target* ) { return mpl::vector10< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7> inline mpl::vector10< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile) { return mpl::vector10< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 > inline mpl::vector10< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile , Target* ) { return mpl::vector10< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7> inline mpl::vector10< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile) { return mpl::vector10< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 > inline mpl::vector10< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile , Target* ) { return mpl::vector10< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8> inline mpl::vector10< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), void* = 0) { return mpl::vector10< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8> inline mpl::vector11< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) ) { return mpl::vector11< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 > inline mpl::vector11< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) , Target* ) { return mpl::vector11< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8> inline mpl::vector11< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const) { return mpl::vector11< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 > inline mpl::vector11< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const , Target* ) { return mpl::vector11< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8> inline mpl::vector11< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile) { return mpl::vector11< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 > inline mpl::vector11< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile , Target* ) { return mpl::vector11< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8> inline mpl::vector11< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile) { return mpl::vector11< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 > inline mpl::vector11< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile , Target* ) { return mpl::vector11< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9> inline mpl::vector11< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), void* = 0) { return mpl::vector11< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9> inline mpl::vector12< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) ) { return mpl::vector12< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 > inline mpl::vector12< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) , Target* ) { return mpl::vector12< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9> inline mpl::vector12< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const) { return mpl::vector12< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 > inline mpl::vector12< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const , Target* ) { return mpl::vector12< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9> inline mpl::vector12< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile) { return mpl::vector12< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 > inline mpl::vector12< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile , Target* ) { return mpl::vector12< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9> inline mpl::vector12< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile) { return mpl::vector12< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 > inline mpl::vector12< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile , Target* ) { return mpl::vector12< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10> inline mpl::vector12< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10), void* = 0) { return mpl::vector12< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10> inline mpl::vector13< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) ) { return mpl::vector13< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 > inline mpl::vector13< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) , Target* ) { return mpl::vector13< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10> inline mpl::vector13< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const) { return mpl::vector13< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 > inline mpl::vector13< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const , Target* ) { return mpl::vector13< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10> inline mpl::vector13< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile) { return mpl::vector13< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 > inline mpl::vector13< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile , Target* ) { return mpl::vector13< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10> inline mpl::vector13< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile) { return mpl::vector13< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 > inline mpl::vector13< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile , Target* ) { return mpl::vector13< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11> inline mpl::vector13< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11), void* = 0) { return mpl::vector13< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11> inline mpl::vector14< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) ) { return mpl::vector14< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 > inline mpl::vector14< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) , Target* ) { return mpl::vector14< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11> inline mpl::vector14< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const) { return mpl::vector14< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 > inline mpl::vector14< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const , Target* ) { return mpl::vector14< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11> inline mpl::vector14< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile) { return mpl::vector14< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 > inline mpl::vector14< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile , Target* ) { return mpl::vector14< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11> inline mpl::vector14< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile) { return mpl::vector14< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 > inline mpl::vector14< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile , Target* ) { return mpl::vector14< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12> inline mpl::vector14< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12), void* = 0) { return mpl::vector14< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12> inline mpl::vector15< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) ) { return mpl::vector15< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 > inline mpl::vector15< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) , Target* ) { return mpl::vector15< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12> inline mpl::vector15< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const) { return mpl::vector15< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 > inline mpl::vector15< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const , Target* ) { return mpl::vector15< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12> inline mpl::vector15< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile) { return mpl::vector15< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 > inline mpl::vector15< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile , Target* ) { return mpl::vector15< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12> inline mpl::vector15< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile) { return mpl::vector15< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 > inline mpl::vector15< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile , Target* ) { return mpl::vector15< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13> inline mpl::vector15< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13), void* = 0) { return mpl::vector15< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13> inline mpl::vector16< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) ) { return mpl::vector16< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 > inline mpl::vector16< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) , Target* ) { return mpl::vector16< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13> inline mpl::vector16< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const) { return mpl::vector16< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 > inline mpl::vector16< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const , Target* ) { return mpl::vector16< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13> inline mpl::vector16< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile) { return mpl::vector16< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 > inline mpl::vector16< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile , Target* ) { return mpl::vector16< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13> inline mpl::vector16< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile) { return mpl::vector16< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 > inline mpl::vector16< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile , Target* ) { return mpl::vector16< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14> inline mpl::vector16< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> get_signature(RT(*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14), void* = 0) { return mpl::vector16< RT , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14> inline mpl::vector17< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) ) { return mpl::vector17< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 > inline mpl::vector17< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) , Target* ) { return mpl::vector17< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14> inline mpl::vector17< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const) { return mpl::vector17< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 > inline mpl::vector17< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const , Target* ) { return mpl::vector17< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14> inline mpl::vector17< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile) { return mpl::vector17< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 > inline mpl::vector17< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile , Target* ) { return mpl::vector17< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 145 "/usr/include/boost-1_42/boost/python/signature.hpp" template < class RT, class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14> inline mpl::vector17< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> get_signature(RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile) { return mpl::vector17< RT, ClassT& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } template < class Target , class RT , class ClassT , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 > inline mpl::vector17< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > get_signature( RT(ClassT::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile , Target* ) { return mpl::vector17< RT , typename most_derived::type& , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(); } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 139 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 107 "/usr/include/boost-1_42/boost/python/signature.hpp" 2 }}} # 12 "/usr/include/boost-1_42/boost/python/object/function_handle.hpp" 2 namespace boost { namespace python { namespace objects { handle<> function_handle_impl(py_function const& f); template inline handle<> function_handle(F const& f, Signature) { enum { n_arguments = mpl::size::value - 1 }; return objects::function_handle_impl( python::detail::caller< F,default_call_policies,Signature >( f, default_call_policies() ) ); } template handle<> make_function_handle(F f) { return objects::function_handle(f, python::detail::get_signature(f)); } }}} # 20 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/string_literal.hpp" 1 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 9 "/usr/include/boost-1_42/boost/python/detail/string_literal.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/array_traits.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/detail/string_literal.hpp" 2 namespace boost { namespace python { namespace detail { template struct is_string_literal : mpl::false_ { }; template struct is_string_literal : mpl::true_ { }; # 86 "/usr/include/boost-1_42/boost/python/detail/string_literal.hpp" }}} # 26 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/function_traits.hpp" 1 # 16 "/usr/include/boost-1_42/boost/type_traits/function_traits.hpp" namespace boost { namespace detail { template struct function_traits_helper; template struct function_traits_helper { static const unsigned arity = 0; typedef R result_type; }; template struct function_traits_helper { static const unsigned arity = 1; typedef R result_type; typedef T1 arg1_type; typedef T1 argument_type; }; template struct function_traits_helper { static const unsigned arity = 2; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T1 first_argument_type; typedef T2 second_argument_type; }; template struct function_traits_helper { static const unsigned arity = 3; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; }; template struct function_traits_helper { static const unsigned arity = 4; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; }; template struct function_traits_helper { static const unsigned arity = 5; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; }; template struct function_traits_helper { static const unsigned arity = 6; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; }; template struct function_traits_helper { static const unsigned arity = 7; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type; }; template struct function_traits_helper { static const unsigned arity = 8; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type; typedef T8 arg8_type; }; template struct function_traits_helper { static const unsigned arity = 9; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type; typedef T8 arg8_type; typedef T9 arg9_type; }; template struct function_traits_helper { static const unsigned arity = 10; typedef R result_type; typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type; typedef T8 arg8_type; typedef T9 arg9_type; typedef T10 arg10_type; }; } template struct function_traits : public detail::function_traits_helper::type> { }; # 234 "/usr/include/boost-1_42/boost/type_traits/function_traits.hpp" } # 31 "/usr/include/boost-1_42/boost/python/converter/arg_to_python.hpp" 2 namespace boost { namespace python { namespace converter { template struct is_object_manager; namespace detail { template struct function_arg_to_python : handle<> { function_arg_to_python(T const& x); }; template struct reference_arg_to_python : handle<> { reference_arg_to_python(T& x); private: static PyObject* get_object(T& x); }; template struct shared_ptr_arg_to_python : handle<> { shared_ptr_arg_to_python(T const& x); private: static PyObject* get_object(T& x); }; template struct value_arg_to_python : arg_to_python_base { value_arg_to_python(T const&); }; template struct pointer_deep_arg_to_python : arg_to_python_base { pointer_deep_arg_to_python(Ptr); }; template struct pointer_shallow_arg_to_python : handle<> { pointer_shallow_arg_to_python(Ptr); private: static PyObject* get_object(Ptr p); }; template struct object_manager_arg_to_python { object_manager_arg_to_python(T const& x) : m_src(x) {} PyObject* get() const { return python::upcast(get_managed_object(m_src, tag)); } private: T const& m_src; }; template struct select_arg_to_python { typedef typename unwrap_reference::type unwrapped_referent; typedef typename unwrap_pointer::type unwrapped_ptr; typedef typename mpl::if_< python::detail::is_string_literal , arg_to_python , typename mpl::if_< python::detail::value_is_shared_ptr , shared_ptr_arg_to_python , typename mpl::if_< mpl::or_< is_function , indirect_traits::is_pointer_to_function , is_member_function_pointer > , function_arg_to_python , typename mpl::if_< is_object_manager , object_manager_arg_to_python , typename mpl::if_< is_pointer , pointer_deep_arg_to_python , typename mpl::if_< is_pointer_wrapper , pointer_shallow_arg_to_python , typename mpl::if_< is_reference_wrapper , reference_arg_to_python , value_arg_to_python >::type >::type >::type >::type >::type >::type >::type type; }; } template struct arg_to_python : detail::select_arg_to_python::type { typedef typename detail::select_arg_to_python::type base; public: arg_to_python(T const& x); }; namespace detail { using python::detail::yes_convertible; using python::detail::no_convertible; using python::detail::unspecialized; template struct cannot_convert_raw_PyObject; template struct reject_raw_object_helper { static void error(Convertibility) { cannot_convert_raw_PyObject::to_python_use_handle_instead(); } static void error(...) {} }; template inline void reject_raw_object_ptr(T*) { reject_raw_object_helper::error( python::detail::convertible::check((T*)0)); typedef typename remove_cv::type value_type; reject_raw_object_helper::error( python::detail::convertible::check( (base_type_traits*)0 )); } template inline function_arg_to_python::function_arg_to_python(T const& x) : handle<>(python::objects::make_function_handle(x)) { } template inline value_arg_to_python::value_arg_to_python(T const& x) : arg_to_python_base(&x, registered::converters) { } template inline pointer_deep_arg_to_python::pointer_deep_arg_to_python(Ptr x) : arg_to_python_base(x, registered_pointee::converters) { detail::reject_raw_object_ptr((Ptr)0); } template inline PyObject* reference_arg_to_python::get_object(T& x) { to_python_indirect convert; return convert(x); } template inline reference_arg_to_python::reference_arg_to_python(T& x) : handle<>(reference_arg_to_python::get_object(x)) { } template inline shared_ptr_arg_to_python::shared_ptr_arg_to_python(T const& x) : handle<>(shared_ptr_to_python(x)) { } template inline pointer_shallow_arg_to_python::pointer_shallow_arg_to_python(Ptr x) : handle<>(pointer_shallow_arg_to_python::get_object(x)) { detail::reject_raw_object_ptr((Ptr)0); } template inline PyObject* pointer_shallow_arg_to_python::get_object(Ptr x) { to_python_indirect convert; return convert(x); } } template inline arg_to_python::arg_to_python(T const& x) : base(x) {} }}} # 16 "/usr/include/boost-1_42/boost/python/call.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/converter/return_from_python.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/converter/return_from_python.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/void_return.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/detail/void_return.hpp" namespace boost { namespace python { namespace detail { struct void_return { void_return() {} private: void operator=(void_return const&); }; template struct returnable { typedef T type; }; # 40 "/usr/include/boost-1_42/boost/python/detail/void_return.hpp" }}} # 15 "/usr/include/boost-1_42/boost/python/converter/return_from_python.hpp" 2 namespace boost { namespace python { namespace converter { template struct is_object_manager; namespace detail { template struct return_pointer_from_python { typedef T result_type; T operator()(PyObject*) const; }; template struct return_reference_from_python { typedef T result_type; T operator()(PyObject*) const; }; template struct return_rvalue_from_python { typedef T result_type; return_rvalue_from_python(); result_type operator()(PyObject*); private: rvalue_from_python_data m_data; }; template struct return_object_manager_from_python { typedef T result_type; result_type operator()(PyObject*) const; }; template struct select_return_from_python { static const bool obj_mgr = is_object_manager::value ; static const bool ptr = is_pointer::value ; static const bool ref = is_reference::value ; typedef typename mpl::if_c< obj_mgr , return_object_manager_from_python , typename mpl::if_c< ptr , return_pointer_from_python , typename mpl::if_c< ref , return_reference_from_python , return_rvalue_from_python >::type >::type >::type type; }; } template struct return_from_python : detail::select_return_from_python::type { }; template <> struct return_from_python { typedef python::detail::returnable::type result_type; result_type operator()(PyObject* x) const { (void_result_from_python)(x); } }; namespace detail { template inline return_rvalue_from_python::return_rvalue_from_python() : m_data( const_cast(®istered::converters) ) { } template inline typename return_rvalue_from_python::result_type return_rvalue_from_python::operator()(PyObject* obj) { handle<> holder(obj); return *(T*) (rvalue_result_from_python)(obj, m_data.stage1); } template inline T return_reference_from_python::operator()(PyObject* obj) const { return python::detail::void_ptr_to_reference( (reference_result_from_python)(obj, registered::converters) , (T(*)())0); } template inline T return_pointer_from_python::operator()(PyObject* obj) const { return T( (pointer_result_from_python)(obj, registered_pointee::converters) ); } template inline T return_object_manager_from_python::operator()(PyObject* obj) const { return T( object_manager_traits::adopt(expect_non_null(obj)) ); } } }}} # 17 "/usr/include/boost-1_42/boost/python/call.hpp" 2 # 27 "/usr/include/boost-1_42/boost/python/call.hpp" namespace boost { namespace python { # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R > typename detail::returnable::type call(PyObject* callable , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" ")") ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" ")") , converter::arg_to_python(a0).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() , converter::arg_to_python(a13).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 47 "/usr/include/boost-1_42/boost/python/call.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14 > typename detail::returnable::type call(PyObject* callable , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , boost::type* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() , converter::arg_to_python(a13).get() , converter::arg_to_python(a14).get() ); # 75 "/usr/include/boost-1_42/boost/python/call.hpp" converter::return_from_python converter; return converter(result); } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 34 "/usr/include/boost-1_42/boost/python/call.hpp" 2 }} # 13 "/usr/include/boost-1_42/boost/python/object_core.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/def_visitor.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/def_visitor.hpp" namespace boost { namespace python { template class def_visitor; template class class_; class def_visitor_access { template friend class def_visitor; template static void visit(V const& v, classT& c) { v.derived_visitor().visit(c); } template static void visit( V const& v , classT& c , char const* name , OptionalArgs const& options ) { v.derived_visitor().visit(c, name, options); } }; template class def_visitor { friend class def_visitor_access; template friend class class_; template void visit(classT& c) const { def_visitor_access::visit(*this, c); } template void visit(classT& c, char const* name, OptionalArgs const& options) const { def_visitor_access::visit(*this, c, name, options); } protected: DerivedVisitor const& derived_visitor() const { return static_cast(*this); } }; }} # 19 "/usr/include/boost-1_42/boost/python/object_core.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/add_to_namespace.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/object/add_to_namespace.hpp" namespace boost { namespace python { namespace objects { void add_to_namespace( object const& name_space, char const* name, object const& attribute); void add_to_namespace( object const& name_space, char const* name, object const& attribute, char const* doc); }}} # 25 "/usr/include/boost-1_42/boost/python/object_core.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/def_helper_fwd.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/not_specified.hpp" 1 namespace boost { namespace python { namespace detail { struct not_specified {}; }}} # 9 "/usr/include/boost-1_42/boost/python/detail/def_helper_fwd.hpp" 2 namespace boost { namespace python { namespace detail { template struct def_helper; }}} # 32 "/usr/include/boost-1_42/boost/python/object_core.hpp" 2 # 43 "/usr/include/boost-1_42/boost/python/object_core.hpp" namespace boost { namespace python { namespace detail { class kwds_proxy; class args_proxy; } namespace converter { template struct arg_to_python; } namespace api { template class proxy; struct const_attribute_policies; struct attribute_policies; struct const_objattribute_policies; struct objattribute_policies; struct const_item_policies; struct item_policies; struct const_slice_policies; struct slice_policies; class slice_nil; typedef proxy const_object_attribute; typedef proxy object_attribute; typedef proxy const_object_objattribute; typedef proxy object_objattribute; typedef proxy const_object_item; typedef proxy object_item; typedef proxy const_object_slice; typedef proxy object_slice; template struct is_proxy : mpl::false_ { }; template < class T0 > struct is_proxy< boost::python::api::proxy< T0 > > : mpl::true_ { }; template struct object_initializer; class object; typedef PyObject* (object::*bool_type)() const; template class object_operators : public def_visitor { protected: typedef object const& object_cref; public: object operator()() const; # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 52 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0> typename detail::dependent::type operator()( A0 const& a0) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0); } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1); } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2); } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3); } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4); } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5); } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6); } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7); } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8); } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9); } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10); } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11); } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12); } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13); } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_call.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object_call.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14> typename detail::dependent::type operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const { typedef typename detail::dependent::type obj; U const& self = *static_cast(this); return call(get_managed_object(self, tag), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14); } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 111 "/usr/include/boost-1_42/boost/python/object_core.hpp" 2 detail::args_proxy operator* () const; object operator()(detail::args_proxy const &args) const; object operator()(detail::args_proxy const &args, detail::kwds_proxy const &kwds) const; operator bool_type() const; bool operator!() const; const_object_attribute attr(char const*) const; object_attribute attr(char const*); const_object_objattribute attr(object const&) const; object_objattribute attr(object const&); template object contains(T const& key) const; const_object_item operator[](object_cref) const; object_item operator[](object_cref); template const_object_item operator[](T const& key) const ; template object_item operator[](T const& key) ; # 162 "/usr/include/boost-1_42/boost/python/object_core.hpp" const_object_slice slice(object_cref, object_cref) const; object_slice slice(object_cref, object_cref); const_object_slice slice(slice_nil, object_cref) const; object_slice slice(slice_nil, object_cref); const_object_slice slice(object_cref, slice_nil) const; object_slice slice(object_cref, slice_nil); const_object_slice slice(slice_nil, slice_nil) const; object_slice slice(slice_nil, slice_nil); template const_object_slice slice(T const& start, V const& end) const ; # 187 "/usr/include/boost-1_42/boost/python/object_core.hpp" template object_slice slice(T const& start, V const& end) ; # 200 "/usr/include/boost-1_42/boost/python/object_core.hpp" private: template void visit(ClassT& cl, char const* name, python::detail::def_helper const& helper) const { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (((is_same::value || detail::is_string_literal::value)) == 0 ? false : true) >)> boost_static_assert_typedef_209; objects::add_to_namespace(cl, name, this->derived_visitor(), helper.doc()); } friend class python::def_visitor_access; private: typedef object const& object_cref2; }; struct object_base : object_operators { inline object_base(object_base const&); inline object_base(PyObject* ptr); inline object_base& operator=(object_base const& rhs); inline ~object_base(); inline PyObject* ptr() const; private: PyObject* m_ptr; }; # 267 "/usr/include/boost-1_42/boost/python/object_core.hpp" template struct is_derived : is_convertible< typename remove_reference::type* , U const* > {}; template typename objects::unforward_cref::type do_unforward_cref(T const& x) { return x; } # 296 "/usr/include/boost-1_42/boost/python/object_core.hpp" class object; template PyObject* object_base_initializer(T const& x) { typedef typename is_derived< typename objects::unforward_cref::type , object >::type is_obj; return object_initializer< typename unwrap_reference::type >::get( x , is_obj() ); } class object : public object_base { public: object(); template explicit object( T const& x ) : object_base(object_base_initializer(x)) { } explicit object(handle<> const&); private: public: explicit object(detail::borrowed_reference); explicit object(detail::new_reference); explicit object(detail::new_non_null_reference); }; # 376 "/usr/include/boost-1_42/boost/python/object_core.hpp" template struct object_initializer_impl { static PyObject* get(object const& x, mpl::true_) { return python::incref(x.ptr()); } template static PyObject* get(T const& x, mpl::false_) { return python::incref(converter::arg_to_python(x).get()); } }; template <> struct object_initializer_impl { template static PyObject* get(proxy const& x, mpl::false_) { return python::incref(x.operator object().ptr()); } }; template <> struct object_initializer_impl { template static PyObject* get(T const& x, U) { return python::incref(get_managed_object(x, boost::python::tag)); } }; template <> struct object_initializer_impl {}; template struct object_initializer : object_initializer_impl< is_proxy::value , converter::is_object_manager::value > {}; } using api::object; template struct extract; namespace detail { class call_proxy { public: call_proxy(object target) : m_target(target) {} operator object() const { return m_target;} private: object m_target; }; class kwds_proxy : public call_proxy { public: kwds_proxy(object o = object()) : call_proxy(o) {} }; class args_proxy : public call_proxy { public: args_proxy(object o) : call_proxy(o) {} kwds_proxy operator* () const { return kwds_proxy(*this);} }; } template detail::args_proxy api::object_operators::operator* () const { object_cref2 x = *static_cast(this); return boost::python::detail::args_proxy(x); } template object api::object_operators::operator()(detail::args_proxy const &args) const { U const& self = *static_cast(this); PyObject *result = PyObject_Call(get_managed_object(self, boost::python::tag), args.operator object().ptr(), 0); return object(boost::python::detail::new_reference(result)); } template object api::object_operators::operator()(detail::args_proxy const &args, detail::kwds_proxy const &kwds) const { U const& self = *static_cast(this); PyObject *result = PyObject_Call(get_managed_object(self, boost::python::tag), args.operator object().ptr(), kwds.operator object().ptr()); return object(boost::python::detail::new_reference(result)); } template template object api::object_operators::contains(T const& key) const { return this->attr("__contains__")(object(key)); } inline object::object() : object_base(python::incref((&_Py_NoneStruct))) {} inline api::object_base::object_base(object_base const& rhs) : m_ptr(python::incref(rhs.m_ptr)) {} inline api::object_base::object_base(PyObject* p) : m_ptr(p) {} inline api::object_base& api::object_base::operator=(api::object_base const& rhs) { ( ((PyObject*)(rhs.m_ptr))->ob_refcnt++); if ( --((PyObject*)(this->m_ptr))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(this->m_ptr)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(this->m_ptr)))); this->m_ptr = rhs.m_ptr; return *this; } inline api::object_base::~object_base() { if ( --((PyObject*)(m_ptr))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(m_ptr)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(m_ptr)))); } inline object::object(detail::borrowed_reference p) : object_base(python::incref((PyObject*)p)) {} inline object::object(detail::new_reference p) : object_base(expect_non_null((PyObject*)p)) {} inline object::object(detail::new_non_null_reference p) : object_base((PyObject*)p) {} inline PyObject* api::object_base::ptr() const { return m_ptr; } namespace converter { template struct object_manager_traits; template <> struct object_manager_traits { static const bool is_specialized = true; static bool check(PyObject*) { return true; } static python::detail::new_non_null_reference adopt(PyObject* x) { return python::detail::new_non_null_reference(x); } static PyTypeObject const *get_pytype() {return 0;} }; } inline PyObject* get_managed_object(object const& x, tag_t) { return x.ptr(); } }} # 1 "/usr/include/boost-1_42/boost/python/slice_nil.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/slice_nil.hpp" # 1 "/usr/include/boost-1_42/boost/python/object_core.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/slice_nil.hpp" 2 namespace boost { namespace python { namespace api { class slice_nil : public object { public: slice_nil() : object() {} }; static const slice_nil _ = slice_nil(); template struct slice_bound { typedef object type; }; template <> struct slice_bound { typedef slice_nil type; }; } using api::slice_nil; using api::_; }} # 573 "/usr/include/boost-1_42/boost/python/object_core.hpp" 2 # 26 "/usr/include/boost-1_42/boost/python/args.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 30 "/usr/include/boost-1_42/boost/python/args.hpp" 2 namespace boost { namespace python { typedef detail::keywords<1> arg; typedef arg arg_; namespace detail { template struct keywords_base { static const std::size_t size = nkeywords; keyword_range range() const { return keyword_range(elements, elements + nkeywords); } keyword elements[nkeywords]; keywords operator,(python::arg const &k) const; keywords operator,(char const *name) const; }; template struct keywords : keywords_base { }; template <> struct keywords<1> : keywords_base<1> { explicit keywords(char const *name) { elements[0].name = name; } template python::arg& operator=(T const& value) { object z(value); elements[0].default_value = handle<>(python::borrowed(object(value).ptr())); return *this; } operator detail::keyword const&() const { return elements[0]; } }; template inline keywords keywords_base::operator,(python::arg const &k) const { keywords const& l = *static_cast const*>(this); python::detail::keywords res; std::copy(l.elements, l.elements+nkeywords, res.elements); res.elements[nkeywords] = k.elements[0]; return res; } template inline keywords keywords_base::operator,(char const *name) const { return this->operator,(python::arg(name)); } template struct is_keywords { static const bool value = false; }; template struct is_keywords > { static const bool value = true; }; template struct is_reference_to_keywords { static const bool is_ref = is_reference::value; typedef typename remove_reference::type deref; typedef typename remove_cv::type key_t; static const bool is_key = is_keywords::value; static const bool value = (is_ref & is_key); typedef mpl::bool_ type; }; # 154 "/usr/include/boost-1_42/boost/python/args.hpp" } inline detail::keywords<1> args(char const* name) { return detail::keywords<1>(name); } # 170 "/usr/include/boost-1_42/boost/python/args.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 40 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" inline detail::keywords<2> args( char const* name0 , char const* name1) { detail::keywords<2> result; result.elements[0].name = name0; result.elements[1].name = name1; return result; } inline detail::keywords<3> args( char const* name0 , char const* name1 , char const* name2) { detail::keywords<3> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; return result; } inline detail::keywords<4> args( char const* name0 , char const* name1 , char const* name2 , char const* name3) { detail::keywords<4> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; return result; } inline detail::keywords<5> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4) { detail::keywords<5> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; return result; } inline detail::keywords<6> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5) { detail::keywords<6> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; return result; } inline detail::keywords<7> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6) { detail::keywords<7> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; return result; } inline detail::keywords<8> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6 , char const* name7) { detail::keywords<8> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; result.elements[7].name = name7; return result; } inline detail::keywords<9> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6 , char const* name7 , char const* name8) { detail::keywords<9> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; result.elements[7].name = name7; result.elements[8].name = name8; return result; } inline detail::keywords<10> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6 , char const* name7 , char const* name8 , char const* name9) { detail::keywords<10> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; result.elements[7].name = name7; result.elements[8].name = name8; result.elements[9].name = name9; return result; } inline detail::keywords<11> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6 , char const* name7 , char const* name8 , char const* name9 , char const* name10) { detail::keywords<11> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; result.elements[7].name = name7; result.elements[8].name = name8; result.elements[9].name = name9; result.elements[10].name = name10; return result; } inline detail::keywords<12> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6 , char const* name7 , char const* name8 , char const* name9 , char const* name10 , char const* name11) { detail::keywords<12> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; result.elements[7].name = name7; result.elements[8].name = name8; result.elements[9].name = name9; result.elements[10].name = name10; result.elements[11].name = name11; return result; } inline detail::keywords<13> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6 , char const* name7 , char const* name8 , char const* name9 , char const* name10 , char const* name11 , char const* name12) { detail::keywords<13> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; result.elements[7].name = name7; result.elements[8].name = name8; result.elements[9].name = name9; result.elements[10].name = name10; result.elements[11].name = name11; result.elements[12].name = name12; return result; } inline detail::keywords<14> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6 , char const* name7 , char const* name8 , char const* name9 , char const* name10 , char const* name11 , char const* name12 , char const* name13) { detail::keywords<14> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; result.elements[7].name = name7; result.elements[8].name = name8; result.elements[9].name = name9; result.elements[10].name = name10; result.elements[11].name = name11; result.elements[12].name = name12; result.elements[13].name = name13; return result; } inline detail::keywords<15> args( char const* name0 , char const* name1 , char const* name2 , char const* name3 , char const* name4 , char const* name5 , char const* name6 , char const* name7 , char const* name8 , char const* name9 , char const* name10 , char const* name11 , char const* name12 , char const* name13 , char const* name14) { detail::keywords<15> result; result.elements[0].name = name0; result.elements[1].name = name1; result.elements[2].name = name2; result.elements[3].name = name3; result.elements[4].name = name4; result.elements[5].name = name5; result.elements[6].name = name6; result.elements[7].name = name7; result.elements[8].name = name8; result.elements[9].name = name9; result.elements[10].name = name10; result.elements[11].name = name11; result.elements[12].name = name12; result.elements[13].name = name13; result.elements[14].name = name14; return result; } # 171 "/usr/include/boost-1_42/boost/python/args.hpp" 2 }} # 12 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/bases.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/bases.hpp" namespace boost { namespace python { template < typename Base0 = mpl::void_ > struct bases : detail::type_list< Base0 >::type {}; namespace detail { template struct specifies_bases : mpl::false_ { }; template < class Base0 > struct specifies_bases< bases< Base0 > > : mpl::true_ { }; # 55 "/usr/include/boost-1_42/boost/python/bases.hpp" template > struct select_bases : mpl::if_< specifies_bases , T , Prev > { }; } }} # 15 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 17 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 26 "/usr/include/boost-1_42/boost/python/call_method.hpp" namespace boost { namespace python { # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R > typename detail::returnable::type call_method(PyObject* self, char const* name , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" ")") ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" ")") , converter::arg_to_python(a0).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() , converter::arg_to_python(a13).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/call_method.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/call_method.hpp" template < class R , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14 > typename detail::returnable::type call_method(PyObject* self, char const* name , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , boost::type* = 0 ) { PyObject* const result = PyEval_CallMethod( self , const_cast(name) , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() , converter::arg_to_python(a13).get() , converter::arg_to_python(a14).get() ); # 75 "/usr/include/boost-1_42/boost/python/call_method.hpp" converter::return_from_python converter; return converter(result); } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 33 "/usr/include/boost-1_42/boost/python/call_method.hpp" 2 }} # 18 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/class.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/class.hpp" # 1 "/usr/include/boost-1_42/boost/python/class_fwd.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/class_fwd.hpp" namespace boost { namespace python { template < class T , class X1 = ::boost::python::detail::not_specified , class X2 = ::boost::python::detail::not_specified , class X3 = ::boost::python::detail::not_specified > class class_; }} # 13 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/class.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/object/class.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 13 "/usr/include/boost-1_42/boost/python/object/class.hpp" 2 namespace boost { namespace python { namespace objects { struct class_base : python::api::object { class_base( char const* name , std::size_t num_types , type_info const*const types , char const* doc = 0 ); void enable_pickling_(bool getstate_manages_dict); protected: void add_property( char const* name, object const& fget, char const* docstr); void add_property(char const* name, object const& fget, object const& fset, char const* docstr); void add_static_property(char const* name, object const& fget); void add_static_property(char const* name, object const& fget, object const& fset); void setattr(char const* name, object const&); void set_instance_size(std::size_t bytes); void def_no_init(); void make_method_static(const char *method_name); }; }}} # 14 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/object.hpp" # 1 "/usr/include/boost-1_42/boost/python/object_attributes.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/object_attributes.hpp" # 1 "/usr/include/boost-1_42/boost/python/proxy.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/proxy.hpp" # 1 "/usr/include/boost-1_42/boost/python/object_operators.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/object_operators.hpp" # 1 "/usr/include/boost-1_42/boost/python/call.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/object_operators.hpp" 2 # 1 "/usr/include/boost-1_42/boost/iterator/detail/enable_if.hpp" 1 # 13 "/usr/include/boost-1_42/boost/iterator/detail/enable_if.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/iterator/detail/enable_if.hpp" 2 namespace boost { namespace iterators { template struct enabled { template struct base { typedef T type; }; }; template<> struct enabled { template struct base { # 62 "/usr/include/boost-1_42/boost/iterator/detail/enable_if.hpp" }; }; template struct enable_if : enabled<(Cond::value)>::template base { }; } } # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_undef.hpp" 1 # 85 "/usr/include/boost-1_42/boost/iterator/detail/enable_if.hpp" 2 # 13 "/usr/include/boost-1_42/boost/python/object_operators.hpp" 2 # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_def.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/object_operators.hpp" 2 namespace boost { namespace python { namespace api { template char is_object_operators_helper(object_operators const*); typedef char (&no_type)[2]; no_type is_object_operators_helper(...); template X* make_ptr(); template struct is_object_operators { enum { value = (sizeof(api::is_object_operators_helper(api::make_ptr())) + sizeof(api::is_object_operators_helper(api::make_ptr())) < 4 ) }; typedef mpl::bool_ type; }; template struct enable_binary : boost::iterators::enable_if, T> {}; template object object_operators::operator()() const { object_cref2 f = *static_cast(this); return call(f.ptr()); } template inline object_operators::operator bool_type() const { object_cref2 x = *static_cast(this); int is_true = PyObject_IsTrue(x.ptr()); if (is_true < 0) throw_error_already_set(); return is_true ? &object::ptr : 0; } template inline bool object_operators::operator!() const { object_cref2 x = *static_cast(this); int is_true = PyObject_IsTrue(x.ptr()); if (is_true < 0) throw_error_already_set(); return !is_true; } # 94 "/usr/include/boost-1_42/boost/python/object_operators.hpp" object operator >(object const& l, object const& r); template typename enable_binary::type operator >(L const& l, R const& r) { return object(l) > object(r); } object operator >=(object const& l, object const& r); template typename enable_binary::type operator >=(L const& l, R const& r) { return object(l) >= object(r); } object operator <(object const& l, object const& r); template typename enable_binary::type operator <(L const& l, R const& r) { return object(l) < object(r); } object operator <=(object const& l, object const& r); template typename enable_binary::type operator <=(L const& l, R const& r) { return object(l) <= object(r); } object operator ==(object const& l, object const& r); template typename enable_binary::type operator ==(L const& l, R const& r) { return object(l) == object(r); } object operator !=(object const& l, object const& r); template typename enable_binary::type operator !=(L const& l, R const& r) { return object(l) != object(r); } object operator +(object const& l, object const& r); template typename enable_binary::type operator +(L const& l, R const& r) { return object(l) + object(r); } object operator -(object const& l, object const& r); template typename enable_binary::type operator -(L const& l, R const& r) { return object(l) - object(r); } object operator *(object const& l, object const& r); template typename enable_binary::type operator *(L const& l, R const& r) { return object(l) * object(r); } object operator /(object const& l, object const& r); template typename enable_binary::type operator /(L const& l, R const& r) { return object(l) / object(r); } object operator %(object const& l, object const& r); template typename enable_binary::type operator %(L const& l, R const& r) { return object(l) % object(r); } object operator <<(object const& l, object const& r); template typename enable_binary::type operator <<(L const& l, R const& r) { return object(l) << object(r); } object operator >>(object const& l, object const& r); template typename enable_binary::type operator >>(L const& l, R const& r) { return object(l) >> object(r); } object operator &(object const& l, object const& r); template typename enable_binary::type operator &(L const& l, R const& r) { return object(l) & object(r); } object operator ^(object const& l, object const& r); template typename enable_binary::type operator ^(L const& l, R const& r) { return object(l) ^ object(r); } object operator |(object const& l, object const& r); template typename enable_binary::type operator |(L const& l, R const& r) { return object(l) | object(r); } # 120 "/usr/include/boost-1_42/boost/python/object_operators.hpp" object& operator +=(object& l, object const& r); template object& operator +=(object& l, R const& r) { return l += object(r); } object& operator -=(object& l, object const& r); template object& operator -=(object& l, R const& r) { return l -= object(r); } object& operator *=(object& l, object const& r); template object& operator *=(object& l, R const& r) { return l *= object(r); } object& operator /=(object& l, object const& r); template object& operator /=(object& l, R const& r) { return l /= object(r); } object& operator %=(object& l, object const& r); template object& operator %=(object& l, R const& r) { return l %= object(r); } object& operator <<=(object& l, object const& r); template object& operator <<=(object& l, R const& r) { return l <<= object(r); } object& operator >>=(object& l, object const& r); template object& operator >>=(object& l, R const& r) { return l >>= object(r); } object& operator &=(object& l, object const& r); template object& operator &=(object& l, R const& r) { return l &= object(r); } object& operator ^=(object& l, object const& r); template object& operator ^=(object& l, R const& r) { return l ^= object(r); } object& operator |=(object& l, object const& r); template object& operator |=(object& l, R const& r) { return l |= object(r); } }}} # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_undef.hpp" 1 # 135 "/usr/include/boost-1_42/boost/python/object_operators.hpp" 2 # 10 "/usr/include/boost-1_42/boost/python/proxy.hpp" 2 namespace boost { namespace python { namespace api { template class proxy : public object_operators > { typedef typename Policies::key_type key_type; typedef proxy const& assignment_self; public: proxy(object const& target, key_type const& key); operator object() const; proxy const& operator=(assignment_self) const; template inline proxy const& operator=(T const& rhs) const { Policies::set(m_target, m_key, object(rhs)); return *this; } public: void del() const; private: object m_target; key_type m_key; }; template inline void del(proxy const& x) { x.del(); } template inline proxy::proxy(object const& target, key_type const& key) : m_target(target), m_key(key) {} template inline proxy::operator object() const { return Policies::get(m_target, m_key); } template inline proxy const& proxy::operator=(typename proxy::assignment_self rhs) const { return *this = python::object(rhs); } # 81 "/usr/include/boost-1_42/boost/python/proxy.hpp" template proxy const& operator +=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old += rhs); } template proxy const& operator -=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old -= rhs); } template proxy const& operator *=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old *= rhs); } template proxy const& operator /=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old /= rhs); } template proxy const& operator %=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old %= rhs); } template proxy const& operator <<=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old <<= rhs); } template proxy const& operator >>=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old >>= rhs); } template proxy const& operator &=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old &= rhs); } template proxy const& operator ^=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old ^= rhs); } template proxy const& operator |=(proxy const& lhs, R const& rhs) { object old(lhs); return lhs = (old |= rhs); } template inline void proxy::del() const { Policies::del(m_target, m_key); } }}} # 11 "/usr/include/boost-1_42/boost/python/object_attributes.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_protocol.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/object_protocol.hpp" # 1 "/usr/include/boost-1_42/boost/python/object_protocol_core.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/object_protocol_core.hpp" namespace boost { namespace python { namespace api { class object; object getattr(object const& target, object const& key); object getattr(object const& target, object const& key, object const& default_); void setattr(object const& target, object const& key, object const& value); void delattr(object const& target, object const& key); object getattr(object const& target, char const* key); object getattr(object const& target, char const* key, object const& default_); void setattr(object const& target, char const* key, object const& value); void delattr(object const& target, char const* key); object getitem(object const& target, object const& key); void setitem(object const& target, object const& key, object const& value); void delitem(object const& target, object const& key); object getslice(object const& target, handle<> const& begin, handle<> const& end); void setslice(object const& target, handle<> const& begin, handle<> const& end, object const& value); void delslice(object const& target, handle<> const& begin, handle<> const& end); } using api::getattr; using api::setattr; using api::delattr; using api::getitem; using api::setitem; using api::delitem; using api::getslice; using api::setslice; using api::delslice; }} # 11 "/usr/include/boost-1_42/boost/python/object_protocol.hpp" 2 namespace boost { namespace python { namespace api { # 26 "/usr/include/boost-1_42/boost/python/object_protocol.hpp" template object getattr(Target const& target, Key const& key ) { return getattr(object(target), object(key)); } template object getattr(Target const& target, Key const& key, Default const& default_ ) { return getattr(object(target), object(key), object(default_)); } template void setattr(object const& target, Key const& key, Value const& value ) { setattr(target, object(key), object(value)); } template void delattr(object const& target, Key const& key ) { delattr(target, object(key)); } template object getitem(Target const& target, Key const& key ) { return getitem(object(target), object(key)); } template void setitem(object const& target, Key const& key, Value const& value ) { setitem(target, object(key), object(value)); } template void delitem(object const& target, Key const& key ) { delitem(target, object(key)); } template object getslice(Target const& target, Begin const& begin, End const& end) { return getslice(object(target), object(begin), object(end)); } template void setslice(object const& target, Begin const& begin, End const& end, Value const& value) { setslice(target, object(begin), object(end), object(value)); } template void delslice(object const& target, Begin const& begin, End const& end) { delslice(target, object(begin), object(end)); } }}} # 13 "/usr/include/boost-1_42/boost/python/object_attributes.hpp" 2 namespace boost { namespace python { namespace api { struct const_attribute_policies { typedef char const* key_type; static object get(object const& target, char const* key); static object get(object const& target, object const& key); }; struct attribute_policies : const_attribute_policies { static object const& set(object const& target, char const* key, object const& value); static void del(object const&target, char const* key); }; struct const_objattribute_policies { typedef object const key_type; static object get(object const& target, object const& key); }; struct objattribute_policies : const_objattribute_policies { static object const& set(object const& target, object const& key, object const& value); static void del(object const&target, object const& key); }; template inline object_attribute object_operators::attr(char const* name) { object_cref2 x = *static_cast(this); return object_attribute(x, name); } template inline const_object_attribute object_operators::attr(char const* name) const { object_cref2 x = *static_cast(this); return const_object_attribute(x, name); } template inline object_objattribute object_operators::attr(object const& name) { object_cref2 x = *static_cast(this); return object_objattribute(x, name); } template inline const_object_objattribute object_operators::attr(object const& name) const { object_cref2 x = *static_cast(this); return const_object_objattribute(x, name); } inline object const_attribute_policies::get(object const& target, char const* key) { return python::getattr(target, key); } inline object const_objattribute_policies::get(object const& target, object const& key) { return python::getattr(target, key); } inline object const& attribute_policies::set( object const& target , char const* key , object const& value) { python::setattr(target, key, value); return value; } inline object const& objattribute_policies::set( object const& target , object const& key , object const& value) { python::setattr(target, key, value); return value; } inline void attribute_policies::del( object const& target , char const* key) { python::delattr(target, key); } inline void objattribute_policies::del( object const& target , object const& key) { python::delattr(target, key); } }}} # 11 "/usr/include/boost-1_42/boost/python/object.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_items.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/object_items.hpp" namespace boost { namespace python { namespace api { struct const_item_policies { typedef object key_type; static object get(object const& target, object const& key); }; struct item_policies : const_item_policies { static object const& set(object const& target, object const& key, object const& value); static void del(object const& target, object const& key); }; template inline object_item object_operators::operator[](object_cref key) { object_cref2 x = *static_cast(this); return object_item(x, key); } template inline const_object_item object_operators::operator[](object_cref key) const { object_cref2 x = *static_cast(this); return const_object_item(x, key); } template template inline const_object_item object_operators::operator[](T const& key) const { return (*this)[object(key)]; } template template inline object_item object_operators::operator[](T const& key) { return (*this)[object(key)]; } inline object const_item_policies::get(object const& target, object const& key) { return getitem(target, key); } inline object const& item_policies::set( object const& target , object const& key , object const& value) { setitem(target, key, value); return value; } inline void item_policies::del( object const& target , object const& key) { delitem(target, key); } }}} # 12 "/usr/include/boost-1_42/boost/python/object.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object_slices.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/object_slices.hpp" namespace boost { namespace python { namespace api { struct const_slice_policies { typedef std::pair, handle<> > key_type; static object get(object const& target, key_type const& key); }; struct slice_policies : const_slice_policies { static object const& set(object const& target, key_type const& key, object const& value); static void del(object const& target, key_type const& key); }; template inline slice_policies::key_type slice_key(T x, U y) { return slice_policies::key_type(handle<>(x), handle<>(y)); } template object_slice object_operators::slice(object_cref start, object_cref finish) { object_cref2 x = *static_cast(this); return object_slice(x, api::slice_key(borrowed(start.ptr()), borrowed(finish.ptr()))); } template const_object_slice object_operators::slice(object_cref start, object_cref finish) const { object_cref2 x = *static_cast(this); return const_object_slice(x, api::slice_key(borrowed(start.ptr()), borrowed(finish.ptr()))); } template object_slice object_operators::slice(slice_nil, object_cref finish) { object_cref2 x = *static_cast(this); return object_slice(x, api::slice_key(allow_null((PyObject*)0), borrowed(finish.ptr()))); } template const_object_slice object_operators::slice(slice_nil, object_cref finish) const { object_cref2 x = *static_cast(this); return const_object_slice(x, api::slice_key(allow_null((PyObject*)0), borrowed(finish.ptr()))); } template object_slice object_operators::slice(slice_nil, slice_nil) { object_cref2 x = *static_cast(this); return object_slice(x, api::slice_key(allow_null((PyObject*)0), allow_null((PyObject*)0))); } template const_object_slice object_operators::slice(slice_nil, slice_nil) const { object_cref2 x = *static_cast(this); return const_object_slice(x, api::slice_key(allow_null((PyObject*)0), allow_null((PyObject*)0))); } template object_slice object_operators::slice(object_cref start, slice_nil) { object_cref2 x = *static_cast(this); return object_slice(x, api::slice_key(borrowed(start.ptr()), allow_null((PyObject*)0))); } template const_object_slice object_operators::slice(object_cref start, slice_nil) const { object_cref2 x = *static_cast(this); return const_object_slice(x, api::slice_key(borrowed(start.ptr()), allow_null((PyObject*)0))); } template template inline const_object_slice object_operators::slice(T const& start, V const& end) const { return this->slice( typename slice_bound::type(start) , typename slice_bound::type(end)); } template template inline object_slice object_operators::slice(T const& start, V const& end) { return this->slice( typename slice_bound::type(start) , typename slice_bound::type(end)); } inline object const_slice_policies::get(object const& target, key_type const& key) { return getslice(target, key.first, key.second); } inline object const& slice_policies::set( object const& target , key_type const& key , object const& value) { setslice(target, key.first, key.second, value); return value; } inline void slice_policies::del( object const& target , key_type const& key) { delslice(target, key.first, key.second); } }}} # 13 "/usr/include/boost-1_42/boost/python/object.hpp" 2 namespace boost { namespace python { inline ssize_t len(object const& obj) { ssize_t result = PyObject_Size(obj.ptr()); if (PyErr_Occurred()) throw_error_already_set(); return result; } }} # 16 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/data_members.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/data_members.hpp" # 1 "/usr/include/boost-1_42/boost/python/return_value_policy.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/return_value_policy.hpp" namespace boost { namespace python { template struct return_value_policy : BasePolicy_ { typedef ResultConverterGenerator result_converter; }; }} # 13 "/usr/include/boost-1_42/boost/python/data_members.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/return_by_value.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/return_by_value.hpp" namespace boost { namespace python { struct return_by_value { template struct apply { typedef to_python_value< typename detail::value_arg::type > type; }; }; }} # 14 "/usr/include/boost-1_42/boost/python/data_members.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/return_internal_reference.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/return_internal_reference.hpp" # 1 "/usr/include/boost-1_42/boost/python/reference_existing_object.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/reference_existing_object.hpp" namespace boost { namespace python { namespace detail { template struct reference_existing_object_requires_a_pointer_or_reference_return_type {} ; } template struct to_python_value; struct reference_existing_object { template struct apply { static const bool ok = is_pointer::value || is_reference::value ; typedef typename mpl::if_c< ok , to_python_indirect , detail::reference_existing_object_requires_a_pointer_or_reference_return_type >::type type; }; }; }} # 12 "/usr/include/boost-1_42/boost/python/return_internal_reference.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/with_custodian_and_ward.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/with_custodian_and_ward.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/life_support.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/object/life_support.hpp" namespace boost { namespace python { namespace objects { PyObject* make_nurse_and_patient(PyObject* nurse, PyObject* patient); }}} # 12 "/usr/include/boost-1_42/boost/python/with_custodian_and_ward.hpp" 2 namespace boost { namespace python { namespace detail { template struct get_prev { template static PyObject* execute(ArgumentPackage const& args, PyObject* = 0) { int const pre_n = static_cast(N) - 1; return detail::get(mpl::int_(), args); } }; template <> struct get_prev<0> { template static PyObject* execute(ArgumentPackage const&, PyObject* zeroth) { return zeroth; } }; } template < std::size_t custodian , std::size_t ward , class BasePolicy_ = default_call_policies > struct with_custodian_and_ward : BasePolicy_ { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((custodian != ward) == 0 ? false : true) >)> boost_static_assert_typedef_45; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((custodian > 0) == 0 ? false : true) >)> boost_static_assert_typedef_46; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((ward > 0) == 0 ? false : true) >)> boost_static_assert_typedef_47; template static bool precall(ArgumentPackage const& args_) { unsigned arity_ = detail::arity(args_); if (custodian > arity_ || ward > arity_) { PyErr_SetString( PyExc_IndexError , "boost::python::with_custodian_and_ward: argument index out of range" ); return false; } PyObject* patient = detail::get_prev::execute(args_); PyObject* nurse = detail::get_prev::execute(args_); PyObject* life_support = python::objects::make_nurse_and_patient(nurse, patient); if (life_support == 0) return false; bool result = BasePolicy_::precall(args_); if (!result) { if ( --((PyObject*)(life_support))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(life_support)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(life_support)))); } return result; } }; template struct with_custodian_and_ward_postcall : BasePolicy_ { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((custodian != ward) == 0 ? false : true) >)> boost_static_assert_typedef_82; template static PyObject* postcall(ArgumentPackage const& args_, PyObject* result) { std::size_t arity_ = detail::arity(args_); if ( (std::max)(custodian, ward) > arity_ ) { PyErr_SetString( PyExc_IndexError , "boost::python::with_custodian_and_ward_postcall: argument index out of range" ); return 0; } PyObject* patient = detail::get_prev::execute(args_, result); PyObject* nurse = detail::get_prev::execute(args_, result); if (nurse == 0) return 0; result = BasePolicy_::postcall(args_, result); if (result == 0) return 0; if (python::objects::make_nurse_and_patient(nurse, patient) == 0) { if ((result) == __null) ; else if ( --((PyObject*)(result))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(result)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(result)))); return 0; } return result; } }; }} # 13 "/usr/include/boost-1_42/boost/python/return_internal_reference.hpp" 2 namespace boost { namespace python { namespace detail { template struct return_internal_reference_owner_arg_must_be_greater_than_zero {} ; } template struct return_internal_reference : with_custodian_and_ward_postcall<0, owner_arg, BasePolicy_> { private: static const bool legal = owner_arg > 0; public: typedef typename mpl::if_c< legal , reference_existing_object , detail::return_internal_reference_owner_arg_must_be_greater_than_zero >::type result_converter; }; }} # 15 "/usr/include/boost-1_42/boost/python/data_members.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/make_function.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/make_function.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/make_function.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/function_object.hpp" 1 # 1 "/usr/include/boost-1_42/boost/function/function2.hpp" 1 # 11 "/usr/include/boost-1_42/boost/function/function2.hpp" # 1 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" 1 # 23 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" # 1 "/usr/include/boost-1_42/boost/function/function_template.hpp" 1 # 81 "/usr/include/boost-1_42/boost/function/function_template.hpp" namespace boost { namespace detail { namespace function { template< typename FunctionPtr, typename R , typename T0 , typename T1 > struct function_invoker2 { static R invoke(function_buffer& function_ptr , T0 a0 , T1 a1) { FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); return f( a0 , a1); } }; template< typename FunctionPtr, typename R , typename T0 , typename T1 > struct void_function_invoker2 { static void invoke(function_buffer& function_ptr , T0 a0 , T1 a1) { FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); f( a0 , a1); } }; template< typename FunctionObj, typename R , typename T0 , typename T1 > struct function_obj_invoker2 { static R invoke(function_buffer& function_obj_ptr , T0 a0 , T1 a1) { FunctionObj* f; if (function_allows_small_object_optimization::value) f = reinterpret_cast(&function_obj_ptr.data); else f = reinterpret_cast(function_obj_ptr.obj_ptr); return (*f)( a0 , a1); } }; template< typename FunctionObj, typename R , typename T0 , typename T1 > struct void_function_obj_invoker2 { static void invoke(function_buffer& function_obj_ptr , T0 a0 , T1 a1) { FunctionObj* f; if (function_allows_small_object_optimization::value) f = reinterpret_cast(&function_obj_ptr.data); else f = reinterpret_cast(function_obj_ptr.obj_ptr); (*f)( a0 , a1); } }; template< typename FunctionObj, typename R , typename T0 , typename T1 > struct function_ref_invoker2 { static R invoke(function_buffer& function_obj_ptr , T0 a0 , T1 a1) { FunctionObj* f = reinterpret_cast(function_obj_ptr.obj_ptr); return (*f)( a0 , a1); } }; template< typename FunctionObj, typename R , typename T0 , typename T1 > struct void_function_ref_invoker2 { static void invoke(function_buffer& function_obj_ptr , T0 a0 , T1 a1) { FunctionObj* f = reinterpret_cast(function_obj_ptr.obj_ptr); (*f)( a0 , a1); } }; template< typename MemberPtr, typename R , typename T0 , typename T1 > struct function_mem_invoker2 { static R invoke(function_buffer& function_obj_ptr , T0 a0 , T1 a1) { MemberPtr* f = reinterpret_cast(&function_obj_ptr.data); return boost::mem_fn(*f)( a0 , a1); } }; template< typename MemberPtr, typename R , typename T0 , typename T1 > struct function_void_mem_invoker2 { static void invoke(function_buffer& function_obj_ptr , T0 a0 , T1 a1) { MemberPtr* f = reinterpret_cast(&function_obj_ptr.data); boost::mem_fn(*f)( a0 , a1); } }; template< typename FunctionPtr, typename R , typename T0 , typename T1 > struct get_function_invoker2 { typedef typename mpl::if_c<(is_void::value), void_function_invoker2< FunctionPtr, R , T0 , T1 >, function_invoker2< FunctionPtr, R , T0 , T1 > >::type type; }; template< typename FunctionObj, typename R , typename T0 , typename T1 > struct get_function_obj_invoker2 { typedef typename mpl::if_c<(is_void::value), void_function_obj_invoker2< FunctionObj, R , T0 , T1 >, function_obj_invoker2< FunctionObj, R , T0 , T1 > >::type type; }; template< typename FunctionObj, typename R , typename T0 , typename T1 > struct get_function_ref_invoker2 { typedef typename mpl::if_c<(is_void::value), void_function_ref_invoker2< FunctionObj, R , T0 , T1 >, function_ref_invoker2< FunctionObj, R , T0 , T1 > >::type type; }; template< typename MemberPtr, typename R , typename T0 , typename T1 > struct get_member_invoker2 { typedef typename mpl::if_c<(is_void::value), function_void_mem_invoker2< MemberPtr, R , T0 , T1 >, function_mem_invoker2< MemberPtr, R , T0 , T1 > >::type type; }; # 326 "/usr/include/boost-1_42/boost/function/function_template.hpp" template struct get_invoker2 { }; template<> struct get_invoker2 { template struct apply { typedef typename get_function_invoker2< FunctionPtr, R , T0 , T1 >::type invoker_type; typedef functor_manager manager_type; }; template struct apply_a { typedef typename get_function_invoker2< FunctionPtr, R , T0 , T1 >::type invoker_type; typedef functor_manager manager_type; }; }; template<> struct get_invoker2 { template struct apply { typedef typename get_member_invoker2< MemberPtr, R , T0 , T1 >::type invoker_type; typedef functor_manager manager_type; }; template struct apply_a { typedef typename get_member_invoker2< MemberPtr, R , T0 , T1 >::type invoker_type; typedef functor_manager manager_type; }; }; template<> struct get_invoker2 { template struct apply { typedef typename get_function_obj_invoker2< FunctionObj, R , T0 , T1 >::type invoker_type; typedef functor_manager manager_type; }; template struct apply_a { typedef typename get_function_obj_invoker2< FunctionObj, R , T0 , T1 >::type invoker_type; typedef functor_manager_a manager_type; }; }; template<> struct get_invoker2 { template struct apply { typedef typename get_function_ref_invoker2< typename RefWrapper::type, R , T0 , T1 >::type invoker_type; typedef reference_manager manager_type; }; template struct apply_a { typedef typename get_function_ref_invoker2< typename RefWrapper::type, R , T0 , T1 >::type invoker_type; typedef reference_manager manager_type; }; }; # 475 "/usr/include/boost-1_42/boost/function/function_template.hpp" template struct basic_vtable2 { typedef R result_type; typedef result_type (*invoker_type)(function_buffer& , T0 , T1); template bool assign_to(F f, function_buffer& functor) { typedef typename get_function_tag::type tag; return assign_to(f, functor, tag()); } template bool assign_to_a(F f, function_buffer& functor, Allocator a) { typedef typename get_function_tag::type tag; return assign_to_a(f, functor, a, tag()); } void clear(function_buffer& functor) { if (base.manager) base.manager(functor, functor, destroy_functor_tag); } private: template bool assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag) { this->clear(functor); if (f) { functor.func_ptr = (void (*)())(f); return true; } else { return false; } } template bool assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag) { return assign_to(f,functor,function_ptr_tag()); } template bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) { if (f) { this->assign_to(mem_fn(f), functor); return true; } else { return false; } } template bool assign_to_a(MemberPtr f, function_buffer& functor, Allocator a, member_ptr_tag) { if (f) { this->assign_to_a(mem_fn(f), functor, a); return true; } else { return false; } } template void assign_functor(FunctionObj f, function_buffer& functor, mpl::true_) { new ((void*)&functor.data) FunctionObj(f); } template void assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_) { assign_functor(f,functor,mpl::true_()); } template void assign_functor(FunctionObj f, function_buffer& functor, mpl::false_) { functor.obj_ptr = new FunctionObj(f); } template void assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_) { typedef functor_wrapper functor_wrapper_type; typedef typename Allocator::template rebind::other wrapper_allocator_type; typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type; wrapper_allocator_type wrapper_allocator(a); wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1); wrapper_allocator.construct(copy, functor_wrapper_type(f,a)); functor_wrapper_type* new_f = static_cast(copy); functor.obj_ptr = new_f; } template bool assign_to(FunctionObj f, function_buffer& functor, function_obj_tag) { if (!boost::detail::function::has_empty_target(boost::addressof(f))) { assign_functor(f, functor, mpl::bool_<(function_allows_small_object_optimization::value)>()); return true; } else { return false; } } template bool assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag) { if (!boost::detail::function::has_empty_target(boost::addressof(f))) { assign_functor_a(f, functor, a, mpl::bool_<(function_allows_small_object_optimization::value)>()); return true; } else { return false; } } template bool assign_to(const reference_wrapper& f, function_buffer& functor, function_obj_ref_tag) { functor.obj_ref.obj_ptr = (void *)f.get_pointer(); functor.obj_ref.is_const_qualified = is_const::value; functor.obj_ref.is_volatile_qualified = is_volatile::value; return true; } template bool assign_to_a(const reference_wrapper& f, function_buffer& functor, Allocator, function_obj_ref_tag) { return assign_to(f,functor,function_obj_ref_tag()); } public: vtable_base base; invoker_type invoker; }; } } template< typename R , typename T0 , typename T1 > class function2 : public function_base , public std::binary_function { public: typedef R result_type; private: typedef boost::detail::function::basic_vtable2< R , T0 , T1> vtable_type; vtable_type* get_vtable() const { return reinterpret_cast( reinterpret_cast(vtable) & ~(std::size_t)0x01); } struct clear_type {}; public: static const int args = 2; template struct sig { typedef result_type type; }; typedef T0 first_argument_type; typedef T1 second_argument_type; static const int arity = 2; typedef T0 arg1_type; typedef T1 arg2_type; typedef function2 self_type; function2() : function_base() { } template function2(Functor f ,typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), int>::type = 0 ) : function_base() { this->assign_to(f); } template function2(Functor f, Allocator a ,typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), int>::type = 0 ) : function_base() { this->assign_to_a(f,a); } function2(clear_type*) : function_base() { } function2(const function2& f) : function_base() { this->assign_to_own(f); } ~function2() { clear(); } # 766 "/usr/include/boost-1_42/boost/function/function_template.hpp" result_type operator()( T0 a0 , T1 a1) const; template typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), function2&>::type operator=(Functor f) { this->clear(); { try { this->assign_to(f); } catch(...) { vtable = 0; throw;; } } return *this; } template void assign(Functor f, Allocator a) { this->clear(); { try{ this->assign_to_a(f,a); } catch(...) { vtable = 0; throw;; } } } function2& operator=(clear_type*) { this->clear(); return *this; } # 824 "/usr/include/boost-1_42/boost/function/function_template.hpp" function2& operator=(const function2& f) { if (&f == this) return *this; this->clear(); { try { this->assign_to_own(f); } catch(...) { vtable = 0; throw;; } } return *this; } void swap(function2& other) { if (&other == this) return; function2 tmp; tmp.move_assign(*this); this->move_assign(other); other.move_assign(tmp); } void clear() { if (vtable) { if (!this->has_trivial_copy_and_destroy()) get_vtable()->clear(this->functor); vtable = 0; } } private: struct dummy { void nonnull() {}; }; typedef void (dummy::*safe_bool)(); public: operator safe_bool () const { return (this->empty())? 0 : &dummy::nonnull; } bool operator!() const { return this->empty(); } private: void assign_to_own(const function2& f) { if (!f.empty()) { this->vtable = f.vtable; if (this->has_trivial_copy_and_destroy()) this->functor = f.functor; else get_vtable()->base.manager(f.functor, this->functor, boost::detail::function::clone_functor_tag); } } template void assign_to(Functor f) { using detail::function::vtable_base; typedef typename detail::function::get_function_tag::type tag; typedef detail::function::get_invoker2 get_invoker; typedef typename get_invoker:: template apply handler_type; typedef typename handler_type::invoker_type invoker_type; typedef typename handler_type::manager_type manager_type; static vtable_type stored_vtable = { { &manager_type::manage }, &invoker_type::invoke }; if (stored_vtable.assign_to(f, functor)) { std::size_t value = reinterpret_cast(&stored_vtable.base); if (boost::has_trivial_copy_constructor::value && boost::has_trivial_destructor::value && detail::function::function_allows_small_object_optimization::value) value |= (std::size_t)0x01; vtable = reinterpret_cast(value); } else vtable = 0; } template void assign_to_a(Functor f,Allocator a) { using detail::function::vtable_base; typedef typename detail::function::get_function_tag::type tag; typedef detail::function::get_invoker2 get_invoker; typedef typename get_invoker:: template apply_a handler_type; typedef typename handler_type::invoker_type invoker_type; typedef typename handler_type::manager_type manager_type; static vtable_type stored_vtable = { { &manager_type::manage }, &invoker_type::invoke }; if (stored_vtable.assign_to_a(f, functor, a)) { std::size_t value = reinterpret_cast(&stored_vtable.base); if (boost::has_trivial_copy_constructor::value && boost::has_trivial_destructor::value && detail::function::function_allows_small_object_optimization::value) value |= (std::size_t)0x01; vtable = reinterpret_cast(value); } else vtable = 0; } void move_assign(function2& f) { if (&f == this) return; { try { if (!f.empty()) { this->vtable = f.vtable; if (this->has_trivial_copy_and_destroy()) this->functor = f.functor; else get_vtable()->base.manager(f.functor, this->functor, boost::detail::function::move_functor_tag); f.vtable = 0; } else { clear(); } } catch(...) { vtable = 0; throw;; } } } }; template inline void swap(function2< R , T0 , T1 >& f1, function2< R , T0 , T1 >& f2) { f1.swap(f2); } template typename function2< R , T0 , T1>::result_type inline function2 ::operator()( T0 a0 , T1 a1) const { if (this->empty()) boost::throw_exception(bad_function_call()); return get_vtable()->invoker (this->functor , a0 , a1); } template void operator==(const function2< R , T0 , T1>&, const function2< R , T0 , T1>&); template void operator!=(const function2< R , T0 , T1>&, const function2< R , T0 , T1>& ); # 1041 "/usr/include/boost-1_42/boost/function/function_template.hpp" template class function : public function2 { typedef function2 base_type; typedef function self_type; struct clear_type {}; public: function() : base_type() {} template function(Functor f ,typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), int>::type = 0 ) : base_type(f) { } template function(Functor f, Allocator a ,typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), int>::type = 0 ) : base_type(f,a) { } function(clear_type*) : base_type() {} function(const self_type& f) : base_type(static_cast(f)){} function(const base_type& f) : base_type(static_cast(f)){} self_type& operator=(const self_type& f) { self_type(f).swap(*this); return *this; } template typename enable_if_c< (boost::type_traits::ice_not< (is_integral::value)>::value), self_type&>::type operator=(Functor f) { self_type(f).swap(*this); return *this; } self_type& operator=(clear_type*) { this->clear(); return *this; } self_type& operator=(const base_type& f) { self_type(f).swap(*this); return *this; } }; } # 24 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" 2 # 12 "/usr/include/boost-1_42/boost/function/function2.hpp" 2 # 9 "/usr/include/boost-1_42/boost/python/object/function_object.hpp" 2 namespace boost { namespace python { namespace objects { api::object function_object( py_function const& f , python::detail::keyword_range const&); api::object function_object( py_function const& f , python::detail::keyword_range const&); api::object function_object(py_function const& f); void add_to_namespace( object const& name_space, char const* name, object const& attribute); void add_to_namespace( object const& name_space, char const* name, object const& attribute, char const* doc); } }} # 15 "/usr/include/boost-1_42/boost/python/make_function.hpp" 2 namespace boost { namespace python { namespace detail { template object make_function_aux( F f , CallPolicies const& p , Sig const& ) { return objects::function_object( detail::caller(f, p) ); } template object make_function_aux( F f , CallPolicies const& p , Sig const& , detail::keyword_range const& kw , NumKeywords ) { enum { arity = mpl::size::value - 1 }; typedef typename detail::error::more_keywords_than_function_arguments< NumKeywords::value, arity >::too_many_keywords assertion; return objects::function_object( detail::caller(f, p) , kw); } template object make_function_dispatch(F f, CallPolicies const& policies, Keywords const& kw, mpl::true_) { return detail::make_function_aux( f , policies , detail::get_signature(f) , kw.range() , mpl::int_() ); } template object make_function_dispatch(F f, CallPolicies const& policies, Signature const& sig, mpl::false_) { return detail::make_function_aux( f , policies , sig ); } } template object make_function(F f) { return detail::make_function_aux( f,default_call_policies(), detail::get_signature(f)); } template object make_function(F f, CallPolicies const& policies) { return detail::make_function_aux( f, policies, detail::get_signature(f)); } template object make_function( F f , CallPolicies const& policies , KeywordsOrSignature const& keywords_or_signature) { typedef typename detail::is_reference_to_keywords::type is_kw; return detail::make_function_dispatch( f , policies , keywords_or_signature , is_kw() ); } template object make_function( F f , CallPolicies const& policies , Keywords const& kw , Signature const& sig ) { return detail::make_function_aux( f , policies , sig , kw.range() , mpl::int_() ); } }} # 16 "/usr/include/boost-1_42/boost/python/data_members.hpp" 2 # 37 "/usr/include/boost-1_42/boost/python/data_members.hpp" namespace boost { namespace python { # 46 "/usr/include/boost-1_42/boost/python/data_members.hpp" namespace detail { template struct member { public: member(Data Class::*which) : m_which(which) {} Data& operator()(Class& c) const { return c.*m_which; } void operator()(Class& c, typename value_arg::type d) const { c.*m_which = d; } private: Data Class::*m_which; }; template struct datum { public: datum(Data *which) : m_which(which) {} Data& operator()() const { return *m_which; } void operator()(typename value_arg::type d) const { *m_which = d; } private: Data *m_which; }; # 102 "/usr/include/boost-1_42/boost/python/data_members.hpp" template struct default_getter_by_ref : mpl::and_< mpl::bool_< to_python_value< typename value_arg::type >::uses_registry > , indirect_traits::is_reference_to_class< typename value_arg::type > > { }; # 125 "/usr/include/boost-1_42/boost/python/data_members.hpp" template struct default_member_getter_policy : mpl::if_< default_getter_by_ref , return_internal_reference<> , return_value_policy > {}; template struct default_datum_getter_policy : mpl::if_< default_getter_by_ref , return_value_policy , return_value_policy > {}; # 162 "/usr/include/boost-1_42/boost/python/data_members.hpp" template inline object make_getter(D* d, Policies const& policies, mpl::false_, int) { return python::make_function( detail::datum(d), policies, mpl::vector1() ); } template inline object make_getter(D* d, not_specified, mpl::false_, long) { typedef typename default_datum_getter_policy::type policies; return detail::make_getter(d, policies(), mpl::false_(), 0); } template inline object make_getter(D C::*pm, Policies const& policies, mpl::true_, int) { typedef C Class; return python::make_function( detail::member(pm) , policies , mpl::vector2() ); } template inline object make_getter(D C::*pm, not_specified, mpl::true_, long) { typedef typename default_member_getter_policy::type policies; return detail::make_getter(pm, policies(), mpl::true_(), 0); } template inline object make_getter(D& d, P& p, mpl::false_, ...) { return detail::make_getter(&d, p, mpl::false_(), 0L); } # 219 "/usr/include/boost-1_42/boost/python/data_members.hpp" template inline object make_setter(D* p, Policies const& policies, mpl::false_, int) { return python::make_function( detail::datum(p), policies, mpl::vector2() ); } template inline object make_setter(D C::*pm, Policies const& policies, mpl::true_, int) { return python::make_function( detail::member(pm) , policies , mpl::vector3() ); } template inline object make_setter(D& x, Policies const& policies, mpl::false_, ...) { return detail::make_setter(&x, policies, mpl::false_(), 0L); } } # 253 "/usr/include/boost-1_42/boost/python/data_members.hpp" template inline object make_getter(D& d, Policies const& policies) { return detail::make_getter(d, policies, is_member_pointer(), 0L); } template inline object make_getter(D const& d, Policies const& policies) { return detail::make_getter(d, policies, is_member_pointer(), 0L); } template inline object make_getter(D& x) { detail::not_specified policy = detail::not_specified(); return detail::make_getter(x, policy, is_member_pointer(), 0L); } template inline object make_getter(D const& d) { detail::not_specified policy = detail::not_specified(); return detail::make_getter(d, policy, is_member_pointer(), 0L); } # 290 "/usr/include/boost-1_42/boost/python/data_members.hpp" template inline object make_setter(D& x, Policies const& policies) { return detail::make_setter(x, policies, is_member_pointer(), 0); } template inline object make_setter(D const& x, Policies const& policies) { return detail::make_setter(x, policies, is_member_pointer(), 0); } template inline object make_setter(D& x) { return detail::make_setter(x, default_call_policies(), is_member_pointer(), 0); } template inline object make_setter(D const& x) { return detail::make_setter(x, default_call_policies(), is_member_pointer(), 0); } }} # 18 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/init.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/init.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/make_keyword_range_fn.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/detail/make_keyword_range_fn.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 32 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 33 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 namespace boost { namespace python { namespace objects { template struct make_holder; # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<0> { template struct apply { # 82 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" static void execute( PyObject *p ) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p ))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<1> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<2> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<3> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<4> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<5> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<6> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<7> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<8> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; typedef typename mpl::deref::type t7; typedef typename forward::type f7; typedef typename mpl::next::type iter8; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6 , t7 a7) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6) , f7(a7)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<9> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; typedef typename mpl::deref::type t7; typedef typename forward::type f7; typedef typename mpl::next::type iter8; typedef typename mpl::deref::type t8; typedef typename forward::type f8; typedef typename mpl::next::type iter9; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6 , t7 a7 , t8 a8) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6) , f7(a7) , f8(a8)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<10> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; typedef typename mpl::deref::type t7; typedef typename forward::type f7; typedef typename mpl::next::type iter8; typedef typename mpl::deref::type t8; typedef typename forward::type f8; typedef typename mpl::next::type iter9; typedef typename mpl::deref::type t9; typedef typename forward::type f9; typedef typename mpl::next::type iter10; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6 , t7 a7 , t8 a8 , t9 a9) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6) , f7(a7) , f8(a8) , f9(a9)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<11> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; typedef typename mpl::deref::type t7; typedef typename forward::type f7; typedef typename mpl::next::type iter8; typedef typename mpl::deref::type t8; typedef typename forward::type f8; typedef typename mpl::next::type iter9; typedef typename mpl::deref::type t9; typedef typename forward::type f9; typedef typename mpl::next::type iter10; typedef typename mpl::deref::type t10; typedef typename forward::type f10; typedef typename mpl::next::type iter11; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6 , t7 a7 , t8 a8 , t9 a9 , t10 a10) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6) , f7(a7) , f8(a8) , f9(a9) , f10(a10)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<12> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; typedef typename mpl::deref::type t7; typedef typename forward::type f7; typedef typename mpl::next::type iter8; typedef typename mpl::deref::type t8; typedef typename forward::type f8; typedef typename mpl::next::type iter9; typedef typename mpl::deref::type t9; typedef typename forward::type f9; typedef typename mpl::next::type iter10; typedef typename mpl::deref::type t10; typedef typename forward::type f10; typedef typename mpl::next::type iter11; typedef typename mpl::deref::type t11; typedef typename forward::type f11; typedef typename mpl::next::type iter12; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6 , t7 a7 , t8 a8 , t9 a9 , t10 a10 , t11 a11) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6) , f7(a7) , f8(a8) , f9(a9) , f10(a10) , f11(a11)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<13> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; typedef typename mpl::deref::type t7; typedef typename forward::type f7; typedef typename mpl::next::type iter8; typedef typename mpl::deref::type t8; typedef typename forward::type f8; typedef typename mpl::next::type iter9; typedef typename mpl::deref::type t9; typedef typename forward::type f9; typedef typename mpl::next::type iter10; typedef typename mpl::deref::type t10; typedef typename forward::type f10; typedef typename mpl::next::type iter11; typedef typename mpl::deref::type t11; typedef typename forward::type f11; typedef typename mpl::next::type iter12; typedef typename mpl::deref::type t12; typedef typename forward::type f12; typedef typename mpl::next::type iter13; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6 , t7 a7 , t8 a8 , t9 a9 , t10 a10 , t11 a11 , t12 a12) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6) , f7(a7) , f8(a8) , f9(a9) , f10(a10) , f11(a11) , f12(a12)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<14> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; typedef typename mpl::deref::type t7; typedef typename forward::type f7; typedef typename mpl::next::type iter8; typedef typename mpl::deref::type t8; typedef typename forward::type f8; typedef typename mpl::next::type iter9; typedef typename mpl::deref::type t9; typedef typename forward::type f9; typedef typename mpl::next::type iter10; typedef typename mpl::deref::type t10; typedef typename forward::type f10; typedef typename mpl::next::type iter11; typedef typename mpl::deref::type t11; typedef typename forward::type f11; typedef typename mpl::next::type iter12; typedef typename mpl::deref::type t12; typedef typename forward::type f12; typedef typename mpl::next::type iter13; typedef typename mpl::deref::type t13; typedef typename forward::type f13; typedef typename mpl::next::type iter14; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6 , t7 a7 , t8 a8 , t9 a9 , t10 a10 , t11 a11 , t12 a12 , t13 a13) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6) , f7(a7) , f8(a8) , f9(a9) , f10(a10) , f11(a11) , f12(a12) , f13(a13)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 56 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" template <> struct make_holder<15> { template struct apply { typedef typename mpl::begin::type iter0; # 79 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 34 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" typedef typename mpl::deref::type t0; typedef typename forward::type f0; typedef typename mpl::next::type iter1; typedef typename mpl::deref::type t1; typedef typename forward::type f1; typedef typename mpl::next::type iter2; typedef typename mpl::deref::type t2; typedef typename forward::type f2; typedef typename mpl::next::type iter3; typedef typename mpl::deref::type t3; typedef typename forward::type f3; typedef typename mpl::next::type iter4; typedef typename mpl::deref::type t4; typedef typename forward::type f4; typedef typename mpl::next::type iter5; typedef typename mpl::deref::type t5; typedef typename forward::type f5; typedef typename mpl::next::type iter6; typedef typename mpl::deref::type t6; typedef typename forward::type f6; typedef typename mpl::next::type iter7; typedef typename mpl::deref::type t7; typedef typename forward::type f7; typedef typename mpl::next::type iter8; typedef typename mpl::deref::type t8; typedef typename forward::type f8; typedef typename mpl::next::type iter9; typedef typename mpl::deref::type t9; typedef typename forward::type f9; typedef typename mpl::next::type iter10; typedef typename mpl::deref::type t10; typedef typename forward::type f10; typedef typename mpl::next::type iter11; typedef typename mpl::deref::type t11; typedef typename forward::type f11; typedef typename mpl::next::type iter12; typedef typename mpl::deref::type t12; typedef typename forward::type f12; typedef typename mpl::next::type iter13; typedef typename mpl::deref::type t13; typedef typename forward::type f13; typedef typename mpl::next::type iter14; typedef typename mpl::deref::type t14; typedef typename forward::type f14; typedef typename mpl::next::type iter15; # 80 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 static void execute( PyObject *p , t0 a0 , t1 a1 , t2 a2 , t3 a3 , t4 a4 , t5 a5 , t6 a6 , t7 a7 , t8 a8 , t9 a9 , t10 a10 , t11 a11 , t12 a12 , t13 a13 , t14 a14) { typedef instance instance_t; void* memory = Holder::allocate(p, __builtin_offsetof (instance_t, storage), sizeof(Holder)); try { (new (memory) Holder( p , f0(a0) , f1(a1) , f2(a2) , f3(a3) , f4(a4) , f5(a5) , f6(a6) , f7(a7) , f8(a8) , f9(a9) , f10(a10) , f11(a11) , f12(a12) , f13(a13) , f14(a14)))->install(p); } catch(...) { Holder::deallocate(p, memory); throw; } } }; }; # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 43 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 2 }}} # 12 "/usr/include/boost-1_42/boost/python/detail/make_keyword_range_fn.hpp" 2 namespace boost { namespace python { namespace detail { # 25 "/usr/include/boost-1_42/boost/python/detail/make_keyword_range_fn.hpp" template object make_keyword_range_function( F f , Policies const& policies , keyword_range const& kw) { return detail::make_function_aux( f, policies, detail::get_signature(f), kw, mpl::int_<0>()); } template object make_keyword_range_function( F f , Policies const& policies , keyword_range const& kw , Signature const& sig) { return detail::make_function_aux( f, policies, sig, kw, mpl::int_<0>()); } # 53 "/usr/include/boost-1_42/boost/python/detail/make_keyword_range_fn.hpp" template object make_keyword_range_constructor( CallPolicies const& policies , detail::keyword_range const& kw , Holder* = 0 , ArgList* = 0, Arity* = 0) { return detail::make_keyword_range_function( objects::make_holder ::template apply::execute , policies , kw); } }}} # 17 "/usr/include/boost-1_42/boost/python/init.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/empty.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/empty.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/empty_impl.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/empty_impl.hpp" namespace boost { namespace mpl { template< typename Tag > struct empty_impl { template< typename Sequence > struct apply : is_same< typename begin::type , typename end::type > { }; }; template<> struct empty_impl {}; }} # 20 "/usr/include/boost-1_42/boost/mpl/empty.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct empty : empty_impl< typename sequence_tag::type > ::template apply< Sequence > { }; template<> struct empty< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : empty< T1 > { }; }; template< typename Tag > struct lambda< empty< na > , Tag , int_<-1> > { typedef false_ is_le; typedef empty< na > result_; typedef empty< na > type; }; namespace aux { template< typename T1 > struct template_arity< empty< T1 > > : int_<1> { }; template<> struct template_arity< empty< na > > : int_<-1> { }; } }} # 24 "/usr/include/boost-1_42/boost/python/init.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/joint_view.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/joint_view.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/joint_iter.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/joint_iter.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/lambda_spec.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/aux_/joint_iter.hpp" 2 namespace boost { namespace mpl { template< typename Iterator1 , typename LastIterator1 , typename Iterator2 > struct joint_iter { typedef Iterator1 base; typedef forward_iterator_tag category; }; template< typename LastIterator1 , typename Iterator2 > struct joint_iter { typedef Iterator2 base; typedef forward_iterator_tag category; }; template< typename I1, typename L1, typename I2 > struct deref< joint_iter > { typedef typename joint_iter::base base_; typedef typename deref::type type; }; template< typename I1, typename L1, typename I2 > struct next< joint_iter > { typedef joint_iter< typename mpl::next::type,L1,I2 > type; }; template< typename L1, typename I2 > struct next< joint_iter > { typedef joint_iter< L1,L1,typename mpl::next::type > type; }; # 116 "/usr/include/boost-1_42/boost/mpl/aux_/joint_iter.hpp" template< typename T1 , typename T2 , typename T3 , typename Tag > struct lambda< joint_iter< T1 , T2 , T3 > , Tag , int_<3> > { typedef false_ is_le; typedef joint_iter< T1 , T2 , T3 > result_; typedef result_ type; }; }} # 18 "/usr/include/boost-1_42/boost/mpl/joint_view.hpp" 2 namespace boost { namespace mpl { namespace aux { struct joint_view_tag; } template<> struct size_impl< aux::joint_view_tag > { template < typename JointView > struct apply : plus< size , size > {}; }; template< typename Sequence1_ = na , typename Sequence2_ = na > struct joint_view { typedef typename mpl::begin::type first1_; typedef typename mpl::end::type last1_; typedef typename mpl::begin::type first2_; typedef typename mpl::end::type last2_; typedef Sequence1_ sequence1_; typedef Sequence2_ sequence2_; typedef joint_view type; typedef aux::joint_view_tag tag; typedef joint_iter begin; typedef joint_iter end; }; template<> struct joint_view< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : joint_view< T1 , T2 > { }; }; template< typename Tag > struct lambda< joint_view< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef joint_view< na , na > result_; typedef joint_view< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< joint_view< T1 , T2 > > : int_<2> { }; template<> struct template_arity< joint_view< na , na > > : int_<-1> { }; } }} # 28 "/usr/include/boost-1_42/boost/python/init.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/back.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/back.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/back_impl.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/back_impl.hpp" namespace boost { namespace mpl { template< typename Tag > struct back_impl { template< typename Sequence > struct apply { typedef typename end::type end_; typedef typename prior::type last_; typedef typename deref::type type; }; }; template<> struct back_impl {}; }} # 19 "/usr/include/boost-1_42/boost/mpl/back.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct back : back_impl< typename sequence_tag::type > ::template apply< Sequence > { }; template<> struct back< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : back< T1 > { }; }; template< typename Tag > struct lambda< back< na > , Tag , int_<-1> > { typedef false_ is_le; typedef back< na > result_; typedef back< na > type; }; namespace aux { template< typename T1 > struct template_arity< back< T1 > > : int_<1> { }; template<> struct template_arity< back< na > > : int_<-1> { }; } }} # 29 "/usr/include/boost-1_42/boost/python/init.hpp" 2 # 55 "/usr/include/boost-1_42/boost/python/init.hpp" namespace boost { namespace python { template < class T0 = mpl::void_ , class T1 = mpl::void_ , class T2 = mpl::void_ , class T3 = mpl::void_ , class T4 = mpl::void_ , class T5 = mpl::void_ , class T6 = mpl::void_ , class T7 = mpl::void_ , class T8 = mpl::void_ , class T9 = mpl::void_ , class T10 = mpl::void_ , class T11 = mpl::void_ , class T12 = mpl::void_ , class T13 = mpl::void_ , class T14 = mpl::void_ > class init; template < class T0 = mpl::void_ , class T1 = mpl::void_ , class T2 = mpl::void_ , class T3 = mpl::void_ , class T4 = mpl::void_ , class T5 = mpl::void_ , class T6 = mpl::void_ , class T7 = mpl::void_ , class T8 = mpl::void_ , class T9 = mpl::void_ , class T10 = mpl::void_ , class T11 = mpl::void_ , class T12 = mpl::void_ , class T13 = mpl::void_ , class T14 = mpl::void_ > struct optional; namespace detail { namespace error { template struct more_keywords_than_init_arguments { typedef char too_many_keywords[init_args - keywords >= 0 ? 1 : -1]; }; } # 101 "/usr/include/boost-1_42/boost/python/init.hpp" template struct is_optional : mpl::false_ {}; template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14> struct is_optional > : mpl::true_ {}; template struct define_class_init_helper; } template struct init_base : def_visitor { init_base(char const* doc_, detail::keyword_range const& keywords_) : m_doc(doc_), m_keywords(keywords_) {} init_base(char const* doc_) : m_doc(doc_) {} DerivedT const& derived() const { return *static_cast(this); } char const* doc_string() const { return m_doc; } detail::keyword_range const& keywords() const { return m_keywords; } static default_call_policies call_policies() { return default_call_policies(); } private: # 164 "/usr/include/boost-1_42/boost/python/init.hpp" template void visit(classT& cl) const { typedef typename DerivedT::signature signature; typedef typename DerivedT::n_arguments n_arguments; typedef typename DerivedT::n_defaults n_defaults; detail::define_class_init_helper::apply( cl , derived().call_policies() , signature() , n_arguments() , derived().doc_string() , derived().keywords()); } friend class python::def_visitor_access; private: char const* m_doc; detail::keyword_range m_keywords; }; template class init_with_call_policies : public init_base > { typedef init_base > base; public: typedef typename InitT::n_arguments n_arguments; typedef typename InitT::n_defaults n_defaults; typedef typename InitT::signature signature; init_with_call_policies( CallPoliciesT const& policies_ , char const* doc_ , detail::keyword_range const& keywords ) : base(doc_, keywords) , m_policies(policies_) {} CallPoliciesT const& call_policies() const { return this->m_policies; } private: CallPoliciesT m_policies; }; namespace detail { template struct drop1 : mpl::iterator_range< typename mpl::begin::type , typename mpl::prior< typename mpl::end::type >::type > {}; } template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14> class init : public init_base > { typedef init_base > base; public: typedef init< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> self_t; init(char const* doc_ = 0) : base(doc_) { } template init(char const* doc_, detail::keywords const& kw) : base(doc_, kw.range()) { typedef typename detail::error::more_keywords_than_init_arguments< N, n_arguments::value + 1 >::too_many_keywords assertion; } template init(detail::keywords const& kw, char const* doc_ = 0) : base(doc_, kw.range()) { typedef typename detail::error::more_keywords_than_init_arguments< N, n_arguments::value + 1 >::too_many_keywords assertion; } template init_with_call_policies operator[](CallPoliciesT const& policies) const { return init_with_call_policies( policies, this->doc_string(), this->keywords()); } typedef detail::type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> signature_; typedef detail::is_optional< typename mpl::eval_if< mpl::empty , mpl::false_ , mpl::back >::type > back_is_optional; typedef typename mpl::eval_if< back_is_optional , mpl::back , mpl::vector0<> >::type optional_args; typedef typename mpl::eval_if< back_is_optional , mpl::if_< mpl::empty , detail::drop1 , mpl::joint_view< detail::drop1 , optional_args > > , signature_ >::type signature; typedef mpl::size n_defaults; typedef mpl::size n_arguments; }; # 312 "/usr/include/boost-1_42/boost/python/init.hpp" template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14> struct optional : detail::type_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> { }; namespace detail { template inline void def_init_aux( ClassT& cl , Signature const& , NArgs , CallPoliciesT const& policies , char const* doc , detail::keyword_range const& keywords_ ) { cl.def( "__init__" , detail::make_keyword_range_constructor( policies , keywords_ , (typename ClassT::metadata::holder*)0 ) , doc ); } # 353 "/usr/include/boost-1_42/boost/python/init.hpp" template struct define_class_init_helper { template static void apply( ClassT& cl , CallPoliciesT const& policies , Signature const& args , NArgs , char const* doc , detail::keyword_range keywords) { detail::def_init_aux(cl, args, NArgs(), policies, doc, keywords); if (keywords.second > keywords.first) --keywords.second; typedef typename mpl::prior::type next_nargs; define_class_init_helper::apply( cl, policies, Signature(), next_nargs(), doc, keywords); } }; # 387 "/usr/include/boost-1_42/boost/python/init.hpp" template <> struct define_class_init_helper<0> { template static void apply( ClassT& cl , CallPoliciesT const& policies , Signature const& args , NArgs , char const* doc , detail::keyword_range const& keywords) { detail::def_init_aux(cl, args, NArgs(), policies, doc, keywords); } }; } }} # 21 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/converter/shared_ptr_from_python.hpp" 1 # 18 "/usr/include/boost-1_42/boost/python/converter/shared_ptr_from_python.hpp" namespace boost { namespace python { namespace converter { template struct shared_ptr_from_python { shared_ptr_from_python() { converter::registry::insert(&convertible, &construct, type_id >() , &converter::expected_from_python_type_direct::get_pytype ); } private: static void* convertible(PyObject* p) { if (p == (&_Py_NoneStruct)) return p; return converter::get_lvalue_from_python(p, registered::converters); } static void construct(PyObject* source, rvalue_from_python_stage1_data* data) { void* const storage = ((converter::rvalue_from_python_storage >*)data)->storage.bytes; if (data->convertible == source) new (storage) shared_ptr(); else { boost::shared_ptr hold_convertible_ref_count( (void*)0, shared_ptr_deleter(handle<>(borrowed(source))) ); new (storage) shared_ptr( hold_convertible_ref_count, static_cast(data->convertible)); } data->convertible = storage; } }; }}} # 7 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/inheritance.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/object/inheritance.hpp" namespace boost { namespace python { namespace objects { typedef type_info class_id; using python::type_id; typedef std::pair dynamic_id_t; typedef dynamic_id_t (*dynamic_id_function)(void*); void register_dynamic_id_aux( class_id static_id, dynamic_id_function get_dynamic_id); void add_cast( class_id src_t, class_id dst_t, void* (*cast)(void*), bool is_downcast); # 37 "/usr/include/boost-1_42/boost/python/object/inheritance.hpp" template struct polymorphic_id_generator { static dynamic_id_t execute(void* p_) { T* p = static_cast(p_); return std::make_pair(dynamic_cast(p), class_id(typeid(*p))); } }; template struct non_polymorphic_id_generator { static dynamic_id_t execute(void* p_) { return std::make_pair(p_, python::type_id()); } }; template struct dynamic_id_generator : mpl::if_< boost::is_polymorphic , boost::python::objects::polymorphic_id_generator , boost::python::objects::non_polymorphic_id_generator > {}; template void register_dynamic_id(T* = 0) { typedef typename dynamic_id_generator::type generator; register_dynamic_id_aux( python::type_id(), &generator::execute); } template struct dynamic_cast_generator { static void* execute(void* source) { return dynamic_cast( static_cast(source)); } }; template struct implicit_cast_generator { static void* execute(void* source) { Target* result = static_cast(source); return result; } }; template struct cast_generator : mpl::if_< is_base_and_derived , implicit_cast_generator , dynamic_cast_generator > { }; template inline void register_conversion( bool is_downcast = ::boost::is_base_and_derived::value , Source* = 0, Target* = 0) { typedef typename cast_generator::type generator; add_cast( python::type_id() , python::type_id() , &generator::execute , is_downcast ); } }}} # 9 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/class_wrapper.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/to_python_converter.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/to_python_converter.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/as_to_python_function.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/converter/as_to_python_function.hpp" namespace boost { namespace python { namespace converter { template struct as_to_python_function { template static void convert_function_must_take_value_or_const_reference(U(*)(T), int, T* = 0) {} template static void convert_function_must_take_value_or_const_reference(U(*)(T const&), long ...) {} static PyObject* convert(void const* x) { convert_function_must_take_value_or_const_reference(&ToPython::convert, 1L); # 40 "/usr/include/boost-1_42/boost/python/converter/as_to_python_function.hpp" return ToPython::convert(*const_cast(static_cast(x))); } static PyTypeObject const * get_pytype() { return ToPython::get_pytype(); } }; }}} # 12 "/usr/include/boost-1_42/boost/python/to_python_converter.hpp" 2 namespace boost { namespace python { # 47 "/usr/include/boost-1_42/boost/python/to_python_converter.hpp" template < class T, class Conversion, bool has_get_pytype=false > struct to_python_converter { typedef boost::mpl::bool_ HasGetPytype; static PyTypeObject const* get_pytype_1(boost::mpl::true_ *) { return Conversion::get_pytype(); } static PyTypeObject const* get_pytype_1(boost::mpl::false_ *) { return 0; } static PyTypeObject const* get_pytype_impl() { return get_pytype_1((HasGetPytype*)0); } to_python_converter(); }; template to_python_converter::to_python_converter() { typedef converter::as_to_python_function< T, Conversion > normalized; converter::registry::insert( &normalized::convert , type_id() , &get_pytype_impl ); } }} # 9 "/usr/include/boost-1_42/boost/python/object/class_wrapper.hpp" 2 namespace boost { namespace python { namespace objects { # 23 "/usr/include/boost-1_42/boost/python/object/class_wrapper.hpp" template struct class_cref_wrapper : to_python_converter ,true> { static PyObject* convert(Src const& x) { return MakeInstance::execute(boost::ref(x)); } static PyTypeObject const *get_pytype() { return converter::registered_pytype_direct::get_pytype(); } }; template struct class_value_wrapper : to_python_converter ,true> { static PyObject* convert(Src x) { return MakeInstance::execute(x); } static PyTypeObject const *get_pytype() { return MakeInstance::get_pytype(); } }; }}} # 10 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/value_holder_fwd.hpp" 1 namespace boost { namespace python { namespace objects { struct no_back_reference; template struct value_holder_generator; }}} # 12 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/wrapper.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/override.hpp" # 1 "/usr/include/boost-1_42/boost/python/extract.hpp" 1 # 32 "/usr/include/boost-1_42/boost/python/extract.hpp" namespace boost { namespace python { namespace api { class object; } namespace converter { template struct extract_pointer { typedef Ptr result_type; extract_pointer(PyObject*); bool check() const; Ptr operator()() const; private: PyObject* m_source; void* m_result; }; template struct extract_reference { typedef Ref result_type; extract_reference(PyObject*); bool check() const; Ref operator()() const; private: PyObject* m_source; void* m_result; }; template struct extract_rvalue : private noncopyable { typedef typename mpl::if_< python::detail::copy_ctor_mutates_rhs , T& , typename call_traits::param_type >::type result_type; extract_rvalue(PyObject*); bool check() const; result_type operator()() const; private: PyObject* m_source; mutable rvalue_from_python_data m_data; }; template struct extract_object_manager { typedef T result_type; extract_object_manager(PyObject*); bool check() const; result_type operator()() const; private: PyObject* m_source; }; template struct select_extract { static const bool obj_mgr = is_object_manager::value ; static const bool ptr = is_pointer::value ; static const bool ref = is_reference::value ; typedef typename mpl::if_c< obj_mgr , extract_object_manager , typename mpl::if_c< ptr , extract_pointer , typename mpl::if_c< ref , extract_reference , extract_rvalue >::type >::type >::type type; }; } template struct extract : converter::select_extract::type { private: typedef typename converter::select_extract::type base; public: typedef typename base::result_type result_type; operator result_type() const { return (*this)(); } extract(PyObject*); extract(api::object const&); }; template inline extract::extract(PyObject* o) : base(o) { } template inline extract::extract(api::object const& o) : base(o.ptr()) { } namespace converter { template inline extract_rvalue::extract_rvalue(PyObject* x) : m_source(x) , m_data( (rvalue_from_python_stage1)(x, registered::converters) ) { } template inline bool extract_rvalue::check() const { return m_data.stage1.convertible; } template inline typename extract_rvalue::result_type extract_rvalue::operator()() const { return *(T*)( m_data.stage1.convertible == m_data.storage.bytes ? m_data.storage.bytes : (rvalue_from_python_stage2)(m_source, m_data.stage1, registered::converters) ); } template inline extract_reference::extract_reference(PyObject* obj) : m_source(obj) , m_result( (get_lvalue_from_python)(obj, registered::converters) ) { } template inline bool extract_reference::check() const { return m_result != 0; } template inline Ref extract_reference::operator()() const { if (m_result == 0) (throw_no_reference_from_python)(m_source, registered::converters); return python::detail::void_ptr_to_reference(m_result, (Ref(*)())0); } template inline extract_pointer::extract_pointer(PyObject* obj) : m_source(obj) , m_result( obj == (&_Py_NoneStruct) ? 0 : (get_lvalue_from_python)(obj, registered_pointee::converters) ) { } template inline bool extract_pointer::check() const { return m_source == (&_Py_NoneStruct) || m_result != 0; } template inline Ptr extract_pointer::operator()() const { if (m_result == 0 && m_source != (&_Py_NoneStruct)) (throw_no_pointer_from_python)(m_source, registered_pointee::converters); return Ptr(m_result); } template inline extract_object_manager::extract_object_manager(PyObject* obj) : m_source(obj) { } template inline bool extract_object_manager::check() const { return object_manager_traits::check(m_source); } template inline T extract_object_manager::operator()() const { return T( object_manager_traits::adopt(python::incref(m_source)) ); } } }} # 14 "/usr/include/boost-1_42/boost/python/override.hpp" 2 # 24 "/usr/include/boost-1_42/boost/python/override.hpp" namespace boost { namespace python { class override; namespace detail { class wrapper_base; class method_result { private: friend class boost::python::override; explicit method_result(PyObject* x) : m_obj(x) {} public: template operator T() { converter::return_from_python converter; return converter(m_obj.release()); } # 62 "/usr/include/boost-1_42/boost/python/override.hpp" template operator T&() const { converter::return_from_python converter; return converter(const_cast&>(m_obj).release()); } template T as(type* = 0) { converter::return_from_python converter; return converter(m_obj.release()); } template T unchecked(type* = 0) { return extract(m_obj)(); } private: mutable handle<> m_obj; }; } class override : public object { private: friend class detail::wrapper_base; override(handle<> x) : object(x) {} public: detail::method_result operator()() const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("()") )); return x; } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 52 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 > detail::method_result operator()( A0 const& a0 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" ")") , converter::arg_to_python(a0).get() )); return x; } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 > detail::method_result operator()( A0 const& a0 , A1 const& a1 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() )); return x; } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() )); return x; } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() )); return x; } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() )); return x; } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() )); return x; } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() )); return x; } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() )); return x; } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() )); return x; } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() )); return x; } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() )); return x; } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() )); return x; } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() )); return x; } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() , converter::arg_to_python(a13).get() )); return x; } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/override.hpp" 1 # 123 "/usr/include/boost-1_42/boost/python/override.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14 > detail::method_result operator()( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 ) const { detail::method_result x( PyEval_CallFunction( this->ptr() , const_cast("(" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" "O" ")") , converter::arg_to_python(a0).get() , converter::arg_to_python(a1).get() , converter::arg_to_python(a2).get() , converter::arg_to_python(a3).get() , converter::arg_to_python(a4).get() , converter::arg_to_python(a5).get() , converter::arg_to_python(a6).get() , converter::arg_to_python(a7).get() , converter::arg_to_python(a8).get() , converter::arg_to_python(a9).get() , converter::arg_to_python(a10).get() , converter::arg_to_python(a11).get() , converter::arg_to_python(a12).get() , converter::arg_to_python(a13).get() , converter::arg_to_python(a14).get() )); return x; } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 112 "/usr/include/boost-1_42/boost/python/override.hpp" 2 }; }} # 9 "/usr/include/boost-1_42/boost/python/wrapper.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/sfinae.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/wrapper.hpp" 2 namespace boost { namespace python { template class wrapper : public detail::wrapper_base { public: typedef T _wrapper_wrapped_type_; protected: override get_override(char const* name) const { typedef detail::wrapper_base base; converter::registration const& r = converter::registered::converters; PyTypeObject* type = r.get_class_object(); return this->base::get_override(name, type); } }; }} # 16 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 2 # 34 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" namespace boost { namespace python { namespace objects { template struct value_holder : instance_holder { typedef Value held_type; typedef Value value_type; # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" value_holder( PyObject* self ) : m_held( ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0> value_holder( PyObject* self , A0 a0) : m_held( objects::do_unforward(a0,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1> value_holder( PyObject* self , A0 a0 , A1 a1) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12 , A13 a13) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) , objects::do_unforward(a13,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 126 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14> value_holder( PyObject* self , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12 , A13 a13 , A14 a14) : m_held( objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) , objects::do_unforward(a13,0) , objects::do_unforward(a14,0) ) { python::detail::initialize_wrapper(self, boost::addressof(this->m_held)); } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 51 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 2 private: void* holds(type_info, bool null_ptr_only); template inline void* holds_wrapped(type_info dst_t, wrapper*,T* p) { return python::type_id() == dst_t ? p : 0; } inline void* holds_wrapped(type_info, ...) { return 0; } private: Value m_held; }; template struct value_holder_back_reference : instance_holder { typedef Held held_type; typedef Value value_type; # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" value_holder_back_reference( PyObject* p ) : m_held( p ) { } # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0> value_holder_back_reference( PyObject* p , A0 a0) : m_held( p , objects::do_unforward(a0,0) ) { } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) ) { } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) ) { } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) ) { } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) ) { } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) ) { } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) ) { } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) ) { } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) ) { } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) ) { } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) ) { } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) ) { } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) ) { } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12 , A13 a13) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) , objects::do_unforward(a13,0) ) { } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 1 # 150 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14> value_holder_back_reference( PyObject* p , A0 a0 , A1 a1 , A2 a2 , A3 a3 , A4 a4 , A5 a5 , A6 a6 , A7 a7 , A8 a8 , A9 a9 , A10 a10 , A11 a11 , A12 a12 , A13 a13 , A14 a14) : m_held( p , objects::do_unforward(a0,0) , objects::do_unforward(a1,0) , objects::do_unforward(a2,0) , objects::do_unforward(a3,0) , objects::do_unforward(a4,0) , objects::do_unforward(a5,0) , objects::do_unforward(a6,0) , objects::do_unforward(a7,0) , objects::do_unforward(a8,0) , objects::do_unforward(a9,0) , objects::do_unforward(a10,0) , objects::do_unforward(a11,0) , objects::do_unforward(a12,0) , objects::do_unforward(a13,0) , objects::do_unforward(a14,0) ) { } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 78 "/usr/include/boost-1_42/boost/python/object/value_holder.hpp" 2 private: void* holds(type_info, bool null_ptr_only); private: Held m_held; }; template void* value_holder::holds(type_info dst_t, bool ) { if (void* wrapped = holds_wrapped(dst_t, boost::addressof(m_held), boost::addressof(m_held))) return wrapped; type_info src_t = python::type_id(); return src_t == dst_t ? boost::addressof(m_held) : find_static_type(boost::addressof(m_held), src_t, dst_t); } template void* value_holder_back_reference::holds( type_info dst_t, bool ) { type_info src_t = python::type_id(); Value* x = &m_held; if (dst_t == src_t) return x; else if (dst_t == python::type_id()) return &m_held; else return find_static_type(x, src_t, dst_t); } }}} # 12 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/has_back_reference.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/has_back_reference.hpp" namespace boost { namespace python { template struct has_back_reference : mpl::false_ { }; }} # 19 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 30 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/for_each.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/for_each.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/is_sequence.hpp" 1 # 40 "/usr/include/boost-1_42/boost/mpl/is_sequence.hpp" namespace boost { namespace mpl { # 90 "/usr/include/boost-1_42/boost/mpl/is_sequence.hpp" template< typename T = na > struct is_sequence : not_< is_same< typename begin::type, void_ > > { }; # 108 "/usr/include/boost-1_42/boost/mpl/is_sequence.hpp" template<> struct is_sequence< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : is_sequence< T1 > { }; }; template< typename Tag > struct lambda< is_sequence< na > , Tag , int_<-1> > { typedef false_ is_le; typedef is_sequence< na > result_; typedef is_sequence< na > type; }; namespace aux { template< typename T1 > struct template_arity< is_sequence< T1 > > : int_<1> { }; template<> struct template_arity< is_sequence< na > > : int_<-1> { }; } }} # 18 "/usr/include/boost-1_42/boost/mpl/for_each.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/for_each.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/unwrap.hpp" 1 # 20 "/usr/include/boost-1_42/boost/mpl/aux_/unwrap.hpp" namespace boost { namespace mpl { namespace aux { template< typename F > inline F& unwrap(F& f, long) { return f; } template< typename F > inline F& unwrap(reference_wrapper& f, int) { return f; } template< typename F > inline F& unwrap(reference_wrapper const& f, int) { return f; } }}} # 26 "/usr/include/boost-1_42/boost/mpl/for_each.hpp" 2 # 1 "/usr/include/boost-1_42/boost/utility/value_init.hpp" 1 # 22 "/usr/include/boost-1_42/boost/utility/value_init.hpp" # 1 "/usr/include/boost-1_42/boost/aligned_storage.hpp" 1 # 16 "/usr/include/boost-1_42/boost/aligned_storage.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 17 "/usr/include/boost-1_42/boost/aligned_storage.hpp" 2 # 27 "/usr/include/boost-1_42/boost/aligned_storage.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 28 "/usr/include/boost-1_42/boost/aligned_storage.hpp" 2 namespace boost { namespace detail { namespace aligned_storage { static const std::size_t alignment_of_max_align = ::boost::alignment_of::value ; template < std::size_t size_ , std::size_t alignment_ > struct aligned_storage_imp { union data_t { char buf[size_]; typename mpl::eval_if_c< alignment_ == std::size_t(-1) , mpl::identity , type_with_alignment >::type align_; } data_; void* address() const { return const_cast(this); } }; template< std::size_t alignment_ > struct aligned_storage_imp<0u,alignment_> { void* address() const { return 0; } }; }} template < std::size_t size_ , std::size_t alignment_ = std::size_t(-1) > class aligned_storage : private detail::aligned_storage::aligned_storage_imp { public: typedef detail::aligned_storage::aligned_storage_imp type; static const std::size_t size = size_ ; static const std::size_t alignment = ( alignment_ == std::size_t(-1) ? ::boost::detail::aligned_storage::alignment_of_max_align : alignment_ ) ; private: aligned_storage(const aligned_storage&); aligned_storage& operator=(const aligned_storage&); # 118 "/usr/include/boost-1_42/boost/aligned_storage.hpp" public: aligned_storage() { } ~aligned_storage() { } public: void* address() { return static_cast(this)->address(); } const void* address() const { return static_cast(this)->address(); } }; # 168 "/usr/include/boost-1_42/boost/aligned_storage.hpp" template struct is_pod > : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 180 "/usr/include/boost-1_42/boost/aligned_storage.hpp" 2 # 23 "/usr/include/boost-1_42/boost/utility/value_init.hpp" 2 # 1 "/usr/include/boost-1_42/boost/swap.hpp" 1 # 10 "/usr/include/boost-1_42/boost/swap.hpp" # 1 "/usr/include/boost-1_42/boost/utility/swap.hpp" 1 # 25 "/usr/include/boost-1_42/boost/utility/swap.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 26 "/usr/include/boost-1_42/boost/utility/swap.hpp" 2 namespace boost_swap_impl { template void swap_impl(T& left, T& right) { using namespace std; swap(left,right); } template void swap_impl(T (& left)[N], T (& right)[N]) { for (std::size_t i = 0; i < N; ++i) { ::boost_swap_impl::swap_impl(left[i], right[i]); } } } namespace boost { template void swap(T1& left, T2& right) { ::boost_swap_impl::swap_impl(left, right); } } # 11 "/usr/include/boost-1_42/boost/swap.hpp" 2 # 28 "/usr/include/boost-1_42/boost/utility/value_init.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstring" 2 3 # 29 "/usr/include/boost-1_42/boost/utility/value_init.hpp" 2 namespace boost { template class value_initialized { private : struct wrapper { typename remove_const::type data; }; mutable typename aligned_storage::value>::type x; wrapper * wrapper_address() const { return static_cast( static_cast(&x)); } public : value_initialized() { std::memset(&x, 0, sizeof(x)); # 70 "/usr/include/boost-1_42/boost/utility/value_init.hpp" new (wrapper_address()) wrapper(); } value_initialized(value_initialized const & arg) { new (wrapper_address()) wrapper( static_cast(*(arg.wrapper_address()))); } value_initialized & operator=(value_initialized const & arg) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((! is_const::value) == 0 ? false : true) >)> boost_static_assert_typedef_84; *wrapper_address() = static_cast(*(arg.wrapper_address())); return *this; } ~value_initialized() { wrapper_address()->wrapper::~wrapper(); } T const & data() const { return wrapper_address()->data; } T& data() { return wrapper_address()->data; } void swap(value_initialized & arg) { ::boost::swap( this->data(), arg.data() ); } operator T const &() const { return this->data(); } operator T&() { return this->data(); } } ; template T const& get ( value_initialized const& x ) { return x.data() ; } template T& get ( value_initialized& x ) { return x.data() ; } template void swap ( value_initialized & lhs, value_initialized & rhs ) { lhs.swap(rhs) ; } class initialized_value_t { public : template operator T() const { return get( value_initialized() ); } }; initialized_value_t const initialized_value = {} ; } # 29 "/usr/include/boost-1_42/boost/mpl/for_each.hpp" 2 namespace boost { namespace mpl { namespace aux { template< bool done = true > struct for_each_impl { template< typename Iterator , typename LastIterator , typename TransformFunc , typename F > static void execute( Iterator* , LastIterator* , TransformFunc* , F ) { } }; template<> struct for_each_impl { template< typename Iterator , typename LastIterator , typename TransformFunc , typename F > static void execute( Iterator* , LastIterator* , TransformFunc* , F f ) { typedef typename deref::type item; typedef typename apply1::type arg; value_initialized x; aux::unwrap(f, 0)(boost::get(x)); typedef typename mpl::next::type iter; for_each_impl::value> ::execute( static_cast(0), static_cast(0), static_cast(0), f); } }; } template< typename Sequence , typename TransformOp , typename F > inline void for_each(F f, Sequence* = 0, TransformOp* = 0) { enum { mpl_assertion_in_line_95 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_arg( (void (*) ( is_sequence ))0, 1 ) ) ) }; typedef typename begin::type first; typedef typename end::type last; aux::for_each_impl< boost::is_same::value > ::execute(static_cast(0), static_cast(0), static_cast(0), f); } template< typename Sequence , typename F > inline void for_each(F f, Sequence* = 0) { for_each >(f); } }} # 31 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/placeholders.hpp" 1 # 32 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/single_view.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/single_view.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/single_element_iter.hpp" 1 # 27 "/usr/include/boost-1_42/boost/mpl/aux_/single_element_iter.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, int is_last_ > struct sel_iter; template< typename T > struct sel_iter { typedef random_access_iterator_tag category; typedef sel_iter next; typedef T type; }; template< typename T > struct sel_iter { typedef random_access_iterator_tag category; typedef sel_iter prior; }; } template< typename T, int is_last_, typename Distance > struct advance< aux::sel_iter,Distance> { typedef aux::sel_iter< T , ( is_last_ + Distance::value ) > type; }; template< typename T , int l1 , int l2 > struct distance< aux::sel_iter, aux::sel_iter > : int_<( l2 - l1 )> { }; # 116 "/usr/include/boost-1_42/boost/mpl/aux_/single_element_iter.hpp" }} # 18 "/usr/include/boost-1_42/boost/mpl/single_view.hpp" 2 namespace boost { namespace mpl { template< typename T = na > struct single_view : iterator_range< aux::sel_iter , aux::sel_iter > { }; template<> struct single_view< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : single_view< T1 > { }; }; template< typename Tag > struct lambda< single_view< na > , Tag , int_<-1> > { typedef false_ is_le; typedef single_view< na > result_; typedef single_view< na > type; }; namespace aux { template< typename T1 > struct template_arity< single_view< T1 > > : int_<1> { }; template<> struct template_arity< single_view< na > > : int_<-1> { }; } }} # 33 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" 2 # 42 "/usr/include/boost-1_42/boost/python/object/class_metadata.hpp" namespace boost { namespace python { namespace objects { void copy_class_object(type_info const& src, type_info const& dst); template struct register_base_of { template inline void operator()(Base*) const { enum { mpl_assertion_in_line_57 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (is_same))0, 1 ) ) ) }; register_dynamic_id(); register_conversion(false); this->register_downcast((Base*)0, is_polymorphic()); } private: static inline void register_downcast(void*, mpl::false_) {} template static inline void register_downcast(Base*, mpl::true_) { register_conversion(true); } }; template inline void register_shared_ptr_from_python_and_casts(T*, Bases) { python::detail::force_instantiate(converter::shared_ptr_from_python()); register_dynamic_id(); mpl::for_each(register_base_of(), (Bases*)0, (add_pointer*)0); } template struct select_held_type : mpl::if_< mpl::or_< python::detail::specifies_bases , is_same > , Prev , T > { }; template < class T , class X1 , class X2 , class X3 > struct class_metadata { typedef typename select_held_type< X1 , typename select_held_type< X2 , typename select_held_type< X3 , python::detail::not_specified >::type >::type >::type held_type_arg; typedef typename python::detail::select_bases< X1 , typename python::detail::select_bases< X2 , typename python::detail::select_bases< X3 , python::bases<> >::type >::type >::type bases; typedef mpl::or_< is_same , is_same , is_same > is_noncopyable; typedef typename mpl::if_< is_same, T, held_type_arg >::type held_type; typedef is_convertible use_value_holder; typedef typename mpl::eval_if< use_value_holder , mpl::identity , pointee >::type wrapped; typedef mpl::or_< has_back_reference , is_same , is_base_and_derived > use_back_reference; typedef typename mpl::eval_if< use_back_reference , mpl::if_< use_value_holder , value_holder_back_reference , pointer_holder_back_reference > , mpl::if_< use_value_holder , value_holder , pointer_holder > >::type holder; inline static void register_() { class_metadata::register_aux((T*)0); } private: template inline static void register_aux(python::wrapper*) { typedef typename mpl::not_ >::type use_callback; class_metadata::register_aux2((T2*)0, use_callback()); } inline static void register_aux(void*) { typedef typename is_base_and_derived::type use_callback; class_metadata::register_aux2((T*)0, use_callback()); } template inline static void register_aux2(T2*, Callback) { objects::register_shared_ptr_from_python_and_casts((T2*)0, bases()); class_metadata::maybe_register_callback_class((T2*)0, Callback()); class_metadata::maybe_register_class_to_python((T2*)0, is_noncopyable()); class_metadata::maybe_register_pointer_to_python( (T2*)0, (use_value_holder*)0, (use_back_reference*)0); } inline static void maybe_register_pointer_to_python(...) {} inline static void maybe_register_pointer_to_python(void*,void*,mpl::true_*) { objects::copy_class_object(python::type_id(), python::type_id >()); objects::copy_class_object(python::type_id(), python::type_id >()); } template inline static void maybe_register_pointer_to_python(T2*, mpl::false_*, mpl::false_*) { python::detail::force_instantiate( objects::class_value_wrapper< held_type , make_ptr_instance > >() ); objects::copy_class_object(python::type_id(), python::type_id()); } inline static void maybe_register_class_to_python(void*, mpl::true_) {} template inline static void maybe_register_class_to_python(T2*, mpl::false_) { python::detail::force_instantiate(class_cref_wrapper >()); objects::copy_class_object(python::type_id(), python::type_id()); } inline static void maybe_register_callback_class(void*, mpl::false_) {} template inline static void maybe_register_callback_class(T2*, mpl::true_) { objects::register_shared_ptr_from_python_and_casts( (wrapped*)0, mpl::single_view()); objects::copy_class_object(python::type_id(), python::type_id()); } }; }}} # 24 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pickle_support.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/object/pickle_support.hpp" namespace boost { namespace python { namespace api { class object; } using api::object; class tuple; object const& make_instance_reduce_function(); struct pickle_suite; namespace error_messages { template struct missing_pickle_suite_function_or_incorrect_signature {}; inline void must_be_derived_from_pickle_suite(pickle_suite const&) {} } namespace detail { struct pickle_suite_registration; } struct pickle_suite { private: struct inaccessible {}; friend struct detail::pickle_suite_registration; public: static inaccessible* getinitargs() { return 0; } static inaccessible* getstate() { return 0; } static inaccessible* setstate() { return 0; } static bool getstate_manages_dict() { return false; } }; namespace detail { struct pickle_suite_registration { typedef pickle_suite::inaccessible inaccessible; template static void register_( Class_& cl, tuple (*getinitargs_fn)(Tgetinitargs), inaccessible* (* )(), inaccessible* (* )(), bool) { cl.enable_pickling_(false); cl.def("__getinitargs__", getinitargs_fn); } template static void register_( Class_& cl, inaccessible* (* )(), Rgetstate (*getstate_fn)(Tgetstate), void (*setstate_fn)(Tsetstate, Ttuple), bool getstate_manages_dict) { cl.enable_pickling_(getstate_manages_dict); cl.def("__getstate__", getstate_fn); cl.def("__setstate__", setstate_fn); } template static void register_( Class_& cl, tuple (*getinitargs_fn)(Tgetinitargs), Rgetstate (*getstate_fn)(Tgetstate), void (*setstate_fn)(Tsetstate, Ttuple), bool getstate_manages_dict) { cl.enable_pickling_(getstate_manages_dict); cl.def("__getinitargs__", getinitargs_fn); cl.def("__getstate__", getstate_fn); cl.def("__setstate__", setstate_fn); } template static void register_( Class_&, ...) { typedef typename error_messages::missing_pickle_suite_function_or_incorrect_signature< Class_>::error_type error_type; } }; template struct pickle_suite_finalize : PickleSuiteType, pickle_suite_registration {}; } }} # 25 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/overloads_fwd.hpp" 1 namespace boost { namespace python { namespace detail { struct overloads_base; template inline void define_with_defaults(char const* name, OverloadsT const&, NameSpaceT&, SigT const&); }}} # 28 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/operator_id.hpp" 1 namespace boost { namespace python { namespace detail { enum operator_id { op_add, op_sub, op_mul, op_div, op_mod, op_divmod, op_pow, op_lshift, op_rshift, op_and, op_xor, op_or, op_neg, op_pos, op_abs, op_invert, op_int, op_long, op_float, op_str, op_cmp, op_gt, op_ge, op_lt, op_le, op_eq, op_ne, op_iadd, op_isub, op_imul, op_idiv, op_imod, op_ilshift, op_irshift, op_iand, op_ixor, op_ior, op_complex, op_nonzero, op_repr }; }}} # 29 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/def_helper.hpp" 1 # 17 "/usr/include/boost-1_42/boost/python/detail/def_helper.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 1 # 18 "/usr/include/boost-1_42/boost/python/detail/def_helper.hpp" 2 # 1 "/usr/include/boost-1_42/boost/tuple/tuple.hpp" 1 # 33 "/usr/include/boost-1_42/boost/tuple/tuple.hpp" # 1 "/usr/include/boost-1_42/boost/tuple/detail/tuple_basic.hpp" 1 # 43 "/usr/include/boost-1_42/boost/tuple/detail/tuple_basic.hpp" namespace boost { namespace tuples { struct null_type {}; namespace detail { inline const null_type cnull() { return null_type(); } template struct IF { typedef Then RET; }; template struct IF { typedef Else RET; }; } template struct cons; template < class T0 = null_type, class T1 = null_type, class T2 = null_type, class T3 = null_type, class T4 = null_type, class T5 = null_type, class T6 = null_type, class T7 = null_type, class T8 = null_type, class T9 = null_type> class tuple; template struct length; namespace detail { template class generate_error; template< int N > struct get_class { template inline static RET get(const cons& t) { return get_class::template get(t.tail); } template inline static RET get(cons& t) { return get_class::template get(t.tail); } }; template<> struct get_class<0> { template inline static RET get(const cons& t) { return t.head; } template inline static RET get(cons& t) { return t.head; } }; } # 140 "/usr/include/boost-1_42/boost/tuple/detail/tuple_basic.hpp" template struct element { private: typedef typename T::tail_type Next; public: typedef typename element::type type; }; template struct element<0,T> { typedef typename T::head_type type; }; template struct element { private: typedef typename T::tail_type Next; typedef typename element::type unqualified_type; public: typedef typename boost::add_const::type type; }; template struct element<0,const T> { typedef typename boost::add_const::type type; }; # 233 "/usr/include/boost-1_42/boost/tuple/detail/tuple_basic.hpp" template struct access_traits { typedef const T& const_type; typedef T& non_const_type; typedef const typename boost::remove_cv::type& parameter_type; }; template struct access_traits { typedef T& const_type; typedef T& non_const_type; typedef T& parameter_type; }; template inline typename access_traits< typename element >::type >::non_const_type get(cons& c ) { return detail::get_class::template get< typename access_traits< typename element >::type >::non_const_type, HT,TT >(c); } template inline typename access_traits< typename element >::type >::const_type get(const cons& c ) { return detail::get_class::template get< typename access_traits< typename element >::type >::const_type, HT,TT >(c); } namespace detail { template class non_storeable_type { non_storeable_type(); }; template struct wrap_non_storeable_type { typedef typename IF< ::boost::is_function::value, non_storeable_type, T >::RET type; }; template <> struct wrap_non_storeable_type { typedef non_storeable_type type; }; } template struct cons { typedef HT head_type; typedef TT tail_type; typedef typename detail::wrap_non_storeable_type::type stored_head_type; stored_head_type head; tail_type tail; typename access_traits::non_const_type get_head() { return head; } typename access_traits::non_const_type get_tail() { return tail; } typename access_traits::const_type get_head() const { return head; } typename access_traits::const_type get_tail() const { return tail; } cons() : head(), tail() {} cons(typename access_traits::parameter_type h, const tail_type& t) : head (h), tail(t) {} template cons( T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 ) : head (t1), tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull()) {} template cons( const null_type& , T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 ) : head (), tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull()) {} template cons( const cons& u ) : head(u.head), tail(u.tail) {} template cons& operator=( const cons& u ) { head=u.head; tail=u.tail; return *this; } cons& operator=(const cons& u) { head = u.head; tail = u.tail; return *this; } template cons& operator=( const std::pair& u ) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((length::value == 2) == 0 ? false : true) >)> boost_static_assert_typedef_388; head = u.first; tail.head = u.second; return *this; } template typename access_traits< typename element >::type >::non_const_type get() { return boost::tuples::get(*this); } template typename access_traits< typename element >::type >::const_type get() const { return boost::tuples::get(*this); } }; template struct cons { typedef HT head_type; typedef null_type tail_type; typedef cons self_type; typedef typename detail::wrap_non_storeable_type::type stored_head_type; stored_head_type head; typename access_traits::non_const_type get_head() { return head; } null_type get_tail() { return null_type(); } typename access_traits::const_type get_head() const { return head; } const null_type get_tail() const { return null_type(); } cons() : head() {} cons(typename access_traits::parameter_type h, const null_type& = null_type()) : head (h) {} template cons(T1& t1, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&) : head (t1) {} cons(const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&, const null_type&) : head () {} template cons( const cons& u ) : head(u.head) {} template cons& operator=(const cons& u ) { head = u.head; return *this; } cons& operator=(const cons& u) { head = u.head; return *this; } template typename access_traits< typename element::type >::non_const_type get() { return boost::tuples::get(*this); } template typename access_traits< typename element::type >::const_type get() const { return boost::tuples::get(*this); } }; template struct length { static const int value = 1 + length::value; }; template<> struct length > { static const int value = 0; }; template<> struct length const> { static const int value = 0; }; template<> struct length { static const int value = 0; }; template<> struct length { static const int value = 0; }; namespace detail { template struct map_tuple_to_cons { typedef cons::type > type; }; template <> struct map_tuple_to_cons { typedef null_type type; }; } template class tuple : public detail::map_tuple_to_cons::type { public: typedef typename detail::map_tuple_to_cons::type inherited; typedef typename inherited::head_type head_type; typedef typename inherited::tail_type tail_type; tuple() {} tuple(typename access_traits::parameter_type t0) : inherited(t0, detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1) : inherited(t0, t1, detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1, typename access_traits::parameter_type t2) : inherited(t0, t1, t2, detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1, typename access_traits::parameter_type t2, typename access_traits::parameter_type t3) : inherited(t0, t1, t2, t3, detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1, typename access_traits::parameter_type t2, typename access_traits::parameter_type t3, typename access_traits::parameter_type t4) : inherited(t0, t1, t2, t3, t4, detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1, typename access_traits::parameter_type t2, typename access_traits::parameter_type t3, typename access_traits::parameter_type t4, typename access_traits::parameter_type t5) : inherited(t0, t1, t2, t3, t4, t5, detail::cnull(), detail::cnull(), detail::cnull(), detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1, typename access_traits::parameter_type t2, typename access_traits::parameter_type t3, typename access_traits::parameter_type t4, typename access_traits::parameter_type t5, typename access_traits::parameter_type t6) : inherited(t0, t1, t2, t3, t4, t5, t6, detail::cnull(), detail::cnull(), detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1, typename access_traits::parameter_type t2, typename access_traits::parameter_type t3, typename access_traits::parameter_type t4, typename access_traits::parameter_type t5, typename access_traits::parameter_type t6, typename access_traits::parameter_type t7) : inherited(t0, t1, t2, t3, t4, t5, t6, t7, detail::cnull(), detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1, typename access_traits::parameter_type t2, typename access_traits::parameter_type t3, typename access_traits::parameter_type t4, typename access_traits::parameter_type t5, typename access_traits::parameter_type t6, typename access_traits::parameter_type t7, typename access_traits::parameter_type t8) : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, detail::cnull()) {} tuple(typename access_traits::parameter_type t0, typename access_traits::parameter_type t1, typename access_traits::parameter_type t2, typename access_traits::parameter_type t3, typename access_traits::parameter_type t4, typename access_traits::parameter_type t5, typename access_traits::parameter_type t6, typename access_traits::parameter_type t7, typename access_traits::parameter_type t8, typename access_traits::parameter_type t9) : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {} template tuple(const cons& p) : inherited(p) {} template tuple& operator=(const cons& k) { inherited::operator=(k); return *this; } template tuple& operator=(const std::pair& k) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((length::value == 2) == 0 ? false : true) >)> boost_static_assert_typedef_645; this->head = k.first; this->tail.head = k.second; return *this; } }; template <> class tuple : public null_type { public: typedef null_type inherited; }; namespace detail { struct swallow_assign { template swallow_assign const& operator=(const T&) const { return *this; } }; } detail::swallow_assign const ignore = detail::swallow_assign(); # 696 "/usr/include/boost-1_42/boost/tuple/detail/tuple_basic.hpp" template struct make_tuple_traits { typedef T type; }; # 720 "/usr/include/boost-1_42/boost/tuple/detail/tuple_basic.hpp" template struct make_tuple_traits { typedef typename detail::generate_error:: do_not_use_with_reference_type error; }; template struct make_tuple_traits { typedef const T (&type)[n]; }; template struct make_tuple_traits { typedef const T (&type)[n]; }; template struct make_tuple_traits { typedef const volatile T (&type)[n]; }; template struct make_tuple_traits { typedef const volatile T (&type)[n]; }; template struct make_tuple_traits >{ typedef T& type; }; template struct make_tuple_traits >{ typedef T& type; }; namespace detail { template < class T0 = null_type, class T1 = null_type, class T2 = null_type, class T3 = null_type, class T4 = null_type, class T5 = null_type, class T6 = null_type, class T7 = null_type, class T8 = null_type, class T9 = null_type > struct make_tuple_mapper { typedef tuple::type, typename make_tuple_traits::type, typename make_tuple_traits::type, typename make_tuple_traits::type, typename make_tuple_traits::type, typename make_tuple_traits::type, typename make_tuple_traits::type, typename make_tuple_traits::type, typename make_tuple_traits::type, typename make_tuple_traits::type> type; }; } inline tuple<> make_tuple() { return tuple<>(); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0) { typedef typename detail::make_tuple_mapper::type t; return t(t0); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1) { typedef typename detail::make_tuple_mapper::type t; return t(t0, t1); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2) { typedef typename detail::make_tuple_mapper::type t; return t(t0, t1, t2); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) { typedef typename detail::make_tuple_mapper::type t; return t(t0, t1, t2, t3); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4) { typedef typename detail::make_tuple_mapper::type t; return t(t0, t1, t2, t3, t4); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5) { typedef typename detail::make_tuple_mapper::type t; return t(t0, t1, t2, t3, t4, t5); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6) { typedef typename detail::make_tuple_mapper ::type t; return t(t0, t1, t2, t3, t4, t5, t6); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7) { typedef typename detail::make_tuple_mapper ::type t; return t(t0, t1, t2, t3, t4, t5, t6, t7); } template inline typename detail::make_tuple_mapper ::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8) { typedef typename detail::make_tuple_mapper ::type t; return t(t0, t1, t2, t3, t4, t5, t6, t7, t8); } template inline typename detail::make_tuple_mapper ::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9) { typedef typename detail::make_tuple_mapper ::type t; return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9); } template inline tuple tie(T1& t1) { return tuple (t1); } template inline tuple tie(T1& t1, T2& t2) { return tuple (t1, t2); } template inline tuple tie(T1& t1, T2& t2, T3& t3) { return tuple (t1, t2, t3); } template inline tuple tie(T1& t1, T2& t2, T3& t3, T4& t4) { return tuple (t1, t2, t3, t4); } template inline tuple tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5) { return tuple (t1, t2, t3, t4, t5); } template inline tuple tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6) { return tuple (t1, t2, t3, t4, t5, t6); } template inline tuple tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7) { return tuple (t1, t2, t3, t4, t5, t6, t7); } template inline tuple tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8) { return tuple (t1, t2, t3, t4, t5, t6, t7, t8); } template inline tuple tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9) { return tuple (t1, t2, t3, t4, t5, t6, t7, t8, t9); } template inline tuple tie(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10) { return tuple (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10); } } } # 34 "/usr/include/boost-1_42/boost/tuple/tuple.hpp" 2 namespace boost { using tuples::tuple; using tuples::make_tuple; using tuples::tie; using tuples::get; # 87 "/usr/include/boost-1_42/boost/tuple/tuple.hpp" } # 19 "/usr/include/boost-1_42/boost/python/detail/def_helper.hpp" 2 namespace boost { namespace python { struct default_call_policies; namespace detail { template struct tuple_extract; template struct tuple_extract_impl { template struct apply { typedef typename Tuple::head_type result_type; static typename Tuple::head_type extract(Tuple const& x) { return x.get_head(); } }; }; template <> struct tuple_extract_impl { template struct apply { typedef tuple_extract next; typedef typename next::result_type result_type; static result_type extract(Tuple const& x) { return next::extract(x.get_tail()); } }; }; template struct tuple_extract_base_select { typedef typename Tuple::head_type head_type; typedef typename mpl::apply1::type>::type match_t; static const bool match = match_t::value; typedef typename tuple_extract_impl::template apply type; }; template struct tuple_extract : tuple_extract_base_select< Tuple , typename mpl::lambda::type >::type { }; template struct doc_extract : tuple_extract< Tuple , mpl::not_< mpl::or_< indirect_traits::is_reference_to_class , indirect_traits::is_reference_to_member_function_pointer > > > { }; template struct keyword_extract : tuple_extract > { }; template struct policy_extract : tuple_extract< Tuple , mpl::and_< mpl::not_ > , indirect_traits::is_reference_to_class , mpl::not_ > > > { }; template struct default_implementation_extract : tuple_extract< Tuple , indirect_traits::is_reference_to_member_function_pointer > { }; # 146 "/usr/include/boost-1_42/boost/python/detail/def_helper.hpp" template struct def_helper { typedef boost::tuples::tuple< T1 const& , T2 const& , T3 const& , T4 const& , default_call_policies , detail::keywords<0> , char const* , void(not_specified::*)() > all_t; def_helper(T1 const& a1) : m_all(a1,m_nil,m_nil,m_nil) {} def_helper(T1 const& a1, T2 const& a2) : m_all(a1,a2,m_nil,m_nil) {} def_helper(T1 const& a1, T2 const& a2, T3 const& a3) : m_all(a1,a2,a3,m_nil) {} def_helper(T1 const& a1, T2 const& a2, T3 const& a3, T4 const& a4) : m_all(a1,a2,a3,a4) {} private: typedef typename default_implementation_extract::result_type default_implementation_t; public: static const bool has_default_implementation = ( !is_same::value) ; public: char const* doc() const { return doc_extract::extract(m_all); } typename keyword_extract::result_type keywords() const { return keyword_extract::extract(m_all); } typename policy_extract::result_type policies() const { return policy_extract::extract(m_all); } default_implementation_t default_implementation() const { return default_implementation_extract::extract(m_all); } private: all_t m_all; not_specified m_nil; }; } }} # 30 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/unwrap_type_id.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/detail/unwrap_type_id.hpp" namespace boost { namespace python { template class wrapper; namespace detail { template inline type_info unwrap_type_id(T*, ...) { return type_id(); } template inline type_info unwrap_type_id(U*, wrapper*) { return type_id(); } }}} # 32 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/unwrap_wrapper.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/is_wrapper.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/detail/is_wrapper.hpp" namespace boost { namespace python { template class wrapper; namespace detail { typedef char (&is_not_wrapper)[2]; is_not_wrapper is_wrapper_helper(...); template char is_wrapper_helper(wrapper const volatile*); template struct is_wrapper : mpl::bool_<(sizeof(detail::is_wrapper_helper((T*)0)) == 1)> {}; }}} # 9 "/usr/include/boost-1_42/boost/python/detail/unwrap_wrapper.hpp" 2 namespace boost { namespace python { namespace detail { template struct unwrap_wrapper_helper { typedef typename T::_wrapper_wrapped_type_ type; }; template struct unwrap_wrapper_ : mpl::eval_if,unwrap_wrapper_helper,mpl::identity > {}; template typename unwrap_wrapper_::type* unwrap_wrapper(T*) { return 0; } }}} # 33 "/usr/include/boost-1_42/boost/python/class.hpp" 2 # 60 "/usr/include/boost-1_42/boost/python/class.hpp" namespace boost { namespace python { template class def_visitor; enum no_init_t { no_init }; namespace detail { struct write_type_id { write_type_id(type_info**p) : p(p) {} template void operator()(T*) const { *(*p)++ = type_id(); } type_info** p; }; template struct is_data_member_pointer : mpl::and_< is_member_pointer , mpl::not_ > > {}; # 107 "/usr/include/boost-1_42/boost/python/class.hpp" namespace error { # 118 "/usr/include/boost-1_42/boost/python/class.hpp" template struct assertion_failed { }; template struct assertion_ok { typedef C failed; }; template struct assertion : mpl::if_, assertion_failed >::type {}; template void not_a_derived_class_member(Default) {} template struct virtual_function_default { template static void must_be_derived_class_member(Default const&) { typedef typename assertion > >::failed test0; typedef typename assertion >::failed test1; typedef typename assertion >::failed test2; not_a_derived_class_member(Fn()); } }; } } template < class W , class X1 , class X2 , class X3 > class class_ : public objects::class_base { public: typedef objects::class_base base; typedef class_ self; typedef typename objects::class_metadata metadata; typedef W wrapped_type; private: struct id_vector { typedef typename metadata::bases bases; id_vector() { ids[0] = detail::unwrap_type_id((W*)0, (W*)0); type_info* p = ids + 1; mpl::for_each(detail::write_type_id(&p), (bases*)0, (add_pointer*)0); } static const std::size_t size = mpl::size::value + 1 ; type_info ids[size]; }; friend struct id_vector; public: class_(char const* name, char const* doc = 0); class_(char const* name, no_init_t); class_(char const* name, char const* doc, no_init_t); template inline class_(char const* name, init_base const& i) : base(name, id_vector::size, id_vector().ids) { this->initialize(i); } template inline class_(char const* name, char const* doc, init_base const& i) : base(name, id_vector::size, id_vector().ids, doc) { this->initialize(i); } public: template self& def(def_visitor const& visitor) { visitor.visit(*this); return *this; } template self& def(char const* name, F f) { this->def_impl( detail::unwrap_wrapper((W*)0) , name, f, detail::def_helper(0), &f); return *this; } template self& def(char const* name, A1 a1, A2 const& a2) { this->def_maybe_overloads(name, a1, a2, &a2); return *this; } template self& def(char const* name, Fn fn, A1 const& a1, A2 const& a2) { this->def_impl( detail::unwrap_wrapper((W*)0) , name, fn , detail::def_helper(a1,a2) , &fn); return *this; } template self& def(char const* name, Fn fn, A1 const& a1, A2 const& a2, A3 const& a3) { this->def_impl( detail::unwrap_wrapper((W*)0) , name, fn , detail::def_helper(a1,a2,a3) , &fn); return *this; } template self& def_readonly(char const* name, D const& d, char const* doc=0) { return this->def_readonly_impl(name, d, doc ); } template self& def_readwrite(char const* name, D const& d, char const* doc=0) { return this->def_readwrite_impl(name, d, doc ); } template self& def_readonly(char const* name, D& d, char const* doc=0) { return this->def_readonly_impl(name, d, doc ); } template self& def_readwrite(char const* name, D& d, char const* doc=0) { return this->def_readwrite_impl(name, d, doc ); } template self& add_property(char const* name, Get fget, char const* docstr = 0) { base::add_property(name, this->make_getter(fget), docstr); return *this; } template self& add_property(char const* name, Get fget, Set fset, char const* docstr = 0) { base::add_property( name, this->make_getter(fget), this->make_setter(fset), docstr); return *this; } # 361 "/usr/include/boost-1_42/boost/python/class.hpp" template self& add_static_property(char const* name, Get fget) { base::add_static_property(name, object(fget)); return *this; } template self& add_static_property(char const* name, Get fget, Set fset) { base::add_static_property(name, object(fget), object(fset)); return *this; } template self& setattr(char const* name, U const& x) { this->base::setattr(name, object(x)); return *this; } template self& def_pickle(PickleSuiteType const& x) { error_messages::must_be_derived_from_pickle_suite(x); detail::pickle_suite_finalize::register_( *this, &PickleSuiteType::getinitargs, &PickleSuiteType::getstate, &PickleSuiteType::setstate, PickleSuiteType::getstate_manages_dict()); return *this; } self& enable_pickling() { this->base::enable_pickling_(false); return *this; } self& staticmethod(char const* name) { this->make_method_static(name); return *this; } private: # 416 "/usr/include/boost-1_42/boost/python/class.hpp" template object make_getter(F f) { typedef typename api::is_object_operators::type is_obj_or_proxy; return this->make_fn_impl( detail::unwrap_wrapper((W*)0) , f, is_obj_or_proxy(), (char*)0, detail::is_data_member_pointer() ); } template object make_setter(F f) { typedef typename api::is_object_operators::type is_obj_or_proxy; return this->make_fn_impl( detail::unwrap_wrapper((W*)0) , f, is_obj_or_proxy(), (int*)0, detail::is_data_member_pointer() ); } template object make_fn_impl(T*, F const& f, mpl::false_, void*, mpl::false_) { return python::make_function(f, default_call_policies(), detail::get_signature(f, (T*)0)); } template object make_fn_impl(T*, D B::*pm_, mpl::false_, char*, mpl::true_) { D T::*pm = pm_; return python::make_getter(pm); } template object make_fn_impl(T*, D B::*pm_, mpl::false_, int*, mpl::true_) { D T::*pm = pm_; return python::make_setter(pm); } template object make_fn_impl(T*, F const& x, mpl::true_, void*, mpl::false_) { return x; } template self& def_readonly_impl( char const* name, D B::*pm_, char const* doc ) { return this->add_property(name, pm_, doc); } template self& def_readwrite_impl( char const* name, D B::*pm_, char const* doc ) { return this->add_property(name, pm_, pm_, doc); } template self& def_readonly_impl( char const* name, D& d, char const* ) { return this->add_static_property(name, python::make_getter(d)); } template self& def_readwrite_impl( char const* name, D& d, char const* ) { return this->add_static_property(name, python::make_getter(d), python::make_setter(d)); } template inline void initialize(DefVisitor const& i) { metadata::register_(); typedef typename metadata::holder holder; this->set_instance_size( objects::additional_instance_size::value ); this->def(i); } inline void initialize(no_init_t) { metadata::register_(); this->def_no_init(); } template inline void def_impl( T* , char const* name , LeafVisitor , Helper const& helper , def_visitor const* v ) { v->visit(*this, name, helper); } template inline void def_impl( T* , char const* name , Fn fn , Helper const& helper , ... ) { objects::add_to_namespace( *this , name , make_function( fn , helper.policies() , helper.keywords() , detail::get_signature(fn, (T*)0) ) , helper.doc() ); this->def_default(name, fn, helper, mpl::bool_()); } # 558 "/usr/include/boost-1_42/boost/python/class.hpp" template inline void def_default( char const* name , Fn , Helper const& helper , mpl::bool_) { detail::error::virtual_function_default::must_be_derived_class_member( helper.default_implementation()); objects::add_to_namespace( *this, name, make_function( helper.default_implementation(), helper.policies(), helper.keywords()) ); } template inline void def_default(char const*, Fn, Helper const&, mpl::bool_) { } # 587 "/usr/include/boost-1_42/boost/python/class.hpp" template void def_maybe_overloads( char const* name , SigT sig , OverloadsT const& overloads , detail::overloads_base const*) { detail::define_with_defaults( name, overloads, *this, detail::get_signature(sig)); } template void def_maybe_overloads( char const* name , Fn fn , A1 const& a1 , ...) { this->def_impl( detail::unwrap_wrapper((W*)0) , name , fn , detail::def_helper(a1) , &fn ); } }; template inline class_::class_(char const* name, char const* doc) : base(name, id_vector::size, id_vector().ids, doc) { this->initialize(init<>()); } template inline class_::class_(char const* name, no_init_t) : base(name, id_vector::size, id_vector().ids) { this->initialize(no_init); } template inline class_::class_(char const* name, char const* doc, no_init_t) : base(name, id_vector::size, id_vector().ids, doc) { this->initialize(no_init); } }} # 19 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/copy_const_reference.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/copy_const_reference.hpp" namespace boost { namespace python { namespace detail { template struct copy_const_reference_expects_a_const_reference_return_type {} ; } template struct to_python_value; struct copy_const_reference { template struct apply { typedef typename mpl::if_c< indirect_traits::is_reference_to_const::value , to_python_value , detail::copy_const_reference_expects_a_const_reference_return_type >::type type; }; }; }} # 20 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/copy_non_const_reference.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/copy_non_const_reference.hpp" namespace boost { namespace python { namespace detail { template struct copy_non_const_reference_expects_a_non_const_reference_return_type {} ; } template struct to_python_value; struct copy_non_const_reference { template struct apply { typedef typename mpl::if_c< indirect_traits::is_reference_to_non_const::value , to_python_value , detail::copy_non_const_reference_expects_a_non_const_reference_return_type >::type type; }; }; }} # 21 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/def.hpp" # 1 "/usr/include/boost-1_42/boost/python/scope.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/scope.hpp" namespace boost { namespace python { namespace detail { extern PyObject* current_scope; } class scope : public object { public: inline scope(scope const&); inline scope(object const&); inline scope(); inline ~scope(); private: PyObject* m_previous_scope; private: void operator=(scope const&); }; inline scope::scope(object const& new_scope) : object(new_scope) , m_previous_scope(detail::current_scope) { detail::current_scope = python::incref(new_scope.ptr()); } inline scope::scope() : object(detail::borrowed_reference( detail::current_scope ? detail::current_scope : (&_Py_NoneStruct) )) , m_previous_scope(python::xincref(detail::current_scope)) { } inline scope::~scope() { python::xdecref(detail::current_scope); detail::current_scope = m_previous_scope; } namespace converter { template <> struct object_manager_traits : object_manager_traits { }; } inline scope::scope(scope const& new_scope) : object(new_scope) , m_previous_scope(detail::current_scope) { detail::current_scope = python::incref(new_scope.ptr()); } }} # 15 "/usr/include/boost-1_42/boost/python/def.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/signature.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/def.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/scope.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/detail/scope.hpp" namespace boost { namespace python { namespace detail { void scope_setattr_doc(char const* name, object const& obj, char const* doc); }}} # 17 "/usr/include/boost-1_42/boost/python/def.hpp" 2 namespace boost { namespace python { namespace detail { namespace error { template struct multiple_functions_passed_to_def; template <> struct multiple_functions_passed_to_def { typedef char type; }; } template void def_from_helper( char const* name, F const& fn, Helper const& helper) { typedef typename error::multiple_functions_passed_to_def< Helper::has_default_implementation >::type assertion; detail::scope_setattr_doc( name, boost::python::make_function( fn , helper.policies() , helper.keywords()) , helper.doc() ); } template void def_maybe_overloads( char const* name , Fn fn , A1 const& a1 , ...) { detail::def_from_helper(name, fn, def_helper(a1)); } template void def_maybe_overloads( char const* name , SigT sig , StubsT const& stubs , detail::overloads_base const*) { scope current; detail::define_with_defaults( name, stubs, current, detail::get_signature(sig)); } template object make_function1(T fn, ...) { return make_function(fn); } inline object make_function1(object const& x, object const*) { return x; } } template void def(char const* name, Fn fn) { detail::scope_setattr_doc(name, detail::make_function1(fn, &fn), 0); } template void def(char const* name, Arg1T arg1, Arg2T const& arg2) { detail::def_maybe_overloads(name, arg1, arg2, &arg2); } template void def(char const* name, F f, A1 const& a1, A2 const& a2) { detail::def_from_helper(name, f, detail::def_helper(a1,a2)); } template void def(char const* name, F f, A1 const& a1, A2 const& a2, A3 const& a3) { detail::def_from_helper(name, f, detail::def_helper(a1,a2,a3)); } }} # 23 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/dict.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/dict.hpp" # 1 "/usr/include/boost-1_42/boost/python/list.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/list.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/pytype_object_mgr_traits.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/converter/pytype_object_mgr_traits.hpp" namespace boost { namespace python { namespace converter { template struct object_manager_traits; template struct pytype_object_manager_traits : pyobject_type { static const bool is_specialized = true; static inline python::detail::new_reference adopt(PyObject*); }; template inline python::detail::new_reference pytype_object_manager_traits::adopt(PyObject* x) { return python::detail::new_reference(python::pytype_check(pytype, x)); } }}} # 12 "/usr/include/boost-1_42/boost/python/list.hpp" 2 namespace boost { namespace python { namespace detail { struct list_base : object { void append(object_cref); ssize_t count(object_cref value) const; void extend(object_cref sequence); long index(object_cref value) const; void insert(ssize_t index, object_cref); void insert(object const& index, object_cref); object pop(); object pop(ssize_t index); object pop(object const& index); void remove(object_cref value); void reverse(); void sort(); void sort(object_cref cmpfunc); protected: list_base(); explicit list_base(object_cref sequence); inline explicit list_base(python::detail::borrowed_reference p) : object(p) {} inline explicit list_base(python::detail::new_reference p) : object(p) {} inline explicit list_base(python::detail::new_non_null_reference p) : object(p) {} private: static detail::new_non_null_reference call(object const&); }; } class list : public detail::list_base { typedef detail::list_base base; public: list() {} template explicit list(T const& sequence) : base(object(sequence)) { } template void append(T const& x) { base::append(object(x)); } template long count(T const& value) const { return base::count(object(value)); } template void extend(T const& x) { base::extend(object(x)); } template long index(T const& x) const { return base::index(object(x)); } template void insert(ssize_t index, T const& x) { base::insert(index, object(x)); } template void insert(object const& index, T const& x) { base::insert(index, object(x)); } object pop() { return base::pop(); } object pop(ssize_t index) { return base::pop(index); } template object pop(T const& index) { return base::pop(object(index)); } template void remove(T const& value) { base::remove(object(value)); } void sort() { base::sort(); } template void sort(T const& value) { base::sort(object(value)); } public: inline explicit list(python::detail::borrowed_reference p) : base(p) {} inline explicit list(python::detail::new_reference p) : base(p) {} inline explicit list(python::detail::new_non_null_reference p) : base(p) {} }; namespace converter { template <> struct object_manager_traits : pytype_object_manager_traits<&PyList_Type,list> { }; } }} # 12 "/usr/include/boost-1_42/boost/python/dict.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/tuple.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/tuple.hpp" namespace boost { namespace python { namespace detail { struct tuple_base : object { protected: tuple_base(); tuple_base(object_cref sequence); inline explicit tuple_base(python::detail::borrowed_reference p) : object(p) {} inline explicit tuple_base(python::detail::new_reference p) : object(p) {} inline explicit tuple_base(python::detail::new_non_null_reference p) : object(p) {} private: static detail::new_reference call(object const&); }; } class tuple : public detail::tuple_base { typedef detail::tuple_base base; public: tuple() {} template explicit tuple(T const& sequence) : base(object(sequence)) { } public: inline explicit tuple(python::detail::borrowed_reference p) : base(p) {} inline explicit tuple(python::detail::new_reference p) : base(p) {} inline explicit tuple(python::detail::new_non_null_reference p) : base(p) {} }; namespace converter { template <> struct object_manager_traits : pytype_object_manager_traits<&PyTuple_Type,tuple> { }; } inline tuple make_tuple() { return tuple(); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 52 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0> tuple make_tuple( A0 const& a0) { tuple result((detail::new_reference)::PyTuple_New(1)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); return result; } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1> tuple make_tuple( A0 const& a0 , A1 const& a1) { tuple result((detail::new_reference)::PyTuple_New(2)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); return result; } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2) { tuple result((detail::new_reference)::PyTuple_New(3)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); return result; } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) { tuple result((detail::new_reference)::PyTuple_New(4)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); return result; } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) { tuple result((detail::new_reference)::PyTuple_New(5)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); return result; } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) { tuple result((detail::new_reference)::PyTuple_New(6)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); return result; } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) { tuple result((detail::new_reference)::PyTuple_New(7)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); return result; } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) { tuple result((detail::new_reference)::PyTuple_New(8)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[7] = python::incref(python::object(a7).ptr())); return result; } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) { tuple result((detail::new_reference)::PyTuple_New(9)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[7] = python::incref(python::object(a7).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[8] = python::incref(python::object(a8).ptr())); return result; } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) { tuple result((detail::new_reference)::PyTuple_New(10)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[7] = python::incref(python::object(a7).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[8] = python::incref(python::object(a8).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[9] = python::incref(python::object(a9).ptr())); return result; } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) { tuple result((detail::new_reference)::PyTuple_New(11)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[7] = python::incref(python::object(a7).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[8] = python::incref(python::object(a8).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[9] = python::incref(python::object(a9).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[10] = python::incref(python::object(a10).ptr())); return result; } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) { tuple result((detail::new_reference)::PyTuple_New(12)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[7] = python::incref(python::object(a7).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[8] = python::incref(python::object(a8).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[9] = python::incref(python::object(a9).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[10] = python::incref(python::object(a10).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[11] = python::incref(python::object(a11).ptr())); return result; } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) { tuple result((detail::new_reference)::PyTuple_New(13)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[7] = python::incref(python::object(a7).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[8] = python::incref(python::object(a8).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[9] = python::incref(python::object(a9).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[10] = python::incref(python::object(a10).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[11] = python::incref(python::object(a11).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[12] = python::incref(python::object(a12).ptr())); return result; } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) { tuple result((detail::new_reference)::PyTuple_New(14)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[7] = python::incref(python::object(a7).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[8] = python::incref(python::object(a8).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[9] = python::incref(python::object(a9).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[10] = python::incref(python::object(a10).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[11] = python::incref(python::object(a11).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[12] = python::incref(python::object(a12).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[13] = python::incref(python::object(a13).ptr())); return result; } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/detail/make_tuple.hpp" template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14> tuple make_tuple( A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) { tuple result((detail::new_reference)::PyTuple_New(15)); (((PyTupleObject *)(result.ptr()))->ob_item[0] = python::incref(python::object(a0).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[1] = python::incref(python::object(a1).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[2] = python::incref(python::object(a2).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[3] = python::incref(python::object(a3).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[4] = python::incref(python::object(a4).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[5] = python::incref(python::object(a5).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[6] = python::incref(python::object(a6).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[7] = python::incref(python::object(a7).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[8] = python::incref(python::object(a8).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[9] = python::incref(python::object(a9).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[10] = python::incref(python::object(a10).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[11] = python::incref(python::object(a11).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[12] = python::incref(python::object(a12).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[13] = python::incref(python::object(a13).ptr())); (((PyTupleObject *)(result.ptr()))->ob_item[14] = python::incref(python::object(a14).ptr())); return result; } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 66 "/usr/include/boost-1_42/boost/python/tuple.hpp" 2 }} # 13 "/usr/include/boost-1_42/boost/python/dict.hpp" 2 namespace boost { namespace python { class dict; namespace detail { struct dict_base : object { void clear(); dict copy(); object get(object_cref k) const; object get(object_cref k, object_cref d) const; bool has_key(object_cref k) const; list items() const; object iteritems() const; object iterkeys() const; object itervalues() const; list keys() const; tuple popitem(); object setdefault(object_cref k); object setdefault(object_cref k, object_cref d); void update(object_cref E); list values() const; protected: dict_base(); explicit dict_base(object_cref data); inline explicit dict_base(python::detail::borrowed_reference p) : object(p) {} inline explicit dict_base(python::detail::new_reference p) : object(p) {} inline explicit dict_base(python::detail::new_non_null_reference p) : object(p) {} private: static detail::new_reference call(object const&); }; } class dict : public detail::dict_base { typedef detail::dict_base base; public: dict() {} template explicit dict(T const& data) : base(object(data)) { } template object get(T const& k) const { return base::get(object(k)); } template object get(T1 const& k, T2 const& d) const { return base::get(object(k),object(d)); } template bool has_key(T const& k) const { return base::has_key(object(k)); } template object setdefault(T const& k) { return base::setdefault(object(k)); } template object setdefault(T1 const& k, T2 const& d) { return base::setdefault(object(k),object(d)); } template void update(T const& E) { base::update(object(E)); } public: inline explicit dict(python::detail::borrowed_reference p) : base(p) {} inline explicit dict(python::detail::new_reference p) : base(p) {} inline explicit dict(python::detail::new_non_null_reference p) : base(p) {} }; namespace converter { template <> struct object_manager_traits : pytype_object_manager_traits<&PyDict_Type,dict> { }; } }} # 25 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/docstring_options.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/object/function.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/object/function.hpp" # 1 "/usr/include/boost-1_42/boost/function/function2.hpp" 1 # 11 "/usr/include/boost-1_42/boost/function/function2.hpp" # 1 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" 1 # 12 "/usr/include/boost-1_42/boost/function/function2.hpp" 2 # 12 "/usr/include/boost-1_42/boost/python/object/function.hpp" 2 namespace boost { namespace python { namespace objects { struct function : PyObject { function( py_function const& , python::detail::keyword const* names_and_defaults , unsigned num_keywords); ~function(); PyObject* call(PyObject*, PyObject*) const; static void add_to_namespace( object const& name_space, char const* name, object const& attribute); static void add_to_namespace( object const& name_space, char const* name, object const& attribute, char const* doc); object const& doc() const; void doc(object const& x); object const& name() const; private: object signature(bool show_return_type=false) const; object signatures(bool show_return_type=false) const; void argument_error(PyObject* args, PyObject* keywords) const; void add_overload(handle const&); private: py_function m_fn; handle m_overloads; object m_name; object m_namespace; object m_doc; object m_arg_names; unsigned m_nkeyword_values; friend class function_doc_signature_generator; }; inline object const& function::doc() const { return this->m_doc; } inline void function::doc(object const& x) { this->m_doc = x; } inline object const& function::name() const { return this->m_name; } }}} # 9 "/usr/include/boost-1_42/boost/python/docstring_options.hpp" 2 namespace boost { namespace python { class docstring_options : boost::noncopyable { public: docstring_options(bool show_all=true) { previous_show_user_defined_ = show_user_defined_; previous_show_py_signatures_ = show_py_signatures_; previous_show_cpp_signatures_ = show_cpp_signatures_; show_user_defined_ = show_all; show_cpp_signatures_ = show_all; show_py_signatures_ = show_all; } docstring_options(bool show_user_defined, bool show_signatures) { previous_show_user_defined_ = show_user_defined_; previous_show_cpp_signatures_ = show_cpp_signatures_; previous_show_py_signatures_ = show_py_signatures_; show_user_defined_ = show_user_defined; show_cpp_signatures_ = show_signatures; show_py_signatures_ = show_signatures; } docstring_options(bool show_user_defined, bool show_py_signatures, bool show_cpp_signatures) { previous_show_user_defined_ = show_user_defined_; previous_show_cpp_signatures_ = show_cpp_signatures_; previous_show_py_signatures_ = show_py_signatures_; show_user_defined_ = show_user_defined; show_cpp_signatures_ = show_cpp_signatures; show_py_signatures_ = show_py_signatures; } ~docstring_options() { show_user_defined_ = previous_show_user_defined_; show_cpp_signatures_ = previous_show_cpp_signatures_; show_py_signatures_ = previous_show_py_signatures_; } void disable_user_defined() { show_user_defined_ = false; } void enable_user_defined() { show_user_defined_ = true; } void disable_py_signatures() { show_py_signatures_ = false; } void enable_py_signatures() { show_py_signatures_ = true; } void disable_cpp_signatures() { show_cpp_signatures_ = false; } void enable_cpp_signatures() { show_cpp_signatures_ = true; } void disable_signatures() { show_cpp_signatures_ = false; show_py_signatures_ = false; } void enable_signatures() { show_cpp_signatures_ = true; show_py_signatures_ = true; } void disable_all() { show_user_defined_ = false; show_cpp_signatures_ = false; show_py_signatures_ = false; } void enable_all() { show_user_defined_ = true; show_cpp_signatures_ = true; show_py_signatures_ = true; } friend struct objects::function; private: static volatile bool show_user_defined_; static volatile bool show_cpp_signatures_; static volatile bool show_py_signatures_; bool previous_show_user_defined_; bool previous_show_cpp_signatures_; bool previous_show_py_signatures_; }; }} # 26 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/enum.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/enum.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/enum_base.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/object/enum_base.hpp" namespace boost { namespace python { namespace objects { struct enum_base : python::api::object { protected: enum_base( char const* name , converter::to_python_function_t , converter::convertible_function , converter::constructor_function , type_info , const char *doc = 0 ); void add_value(char const* name, long value); void export_values(); static PyObject* to_python(PyTypeObject* type, long x); }; }}} # 11 "/usr/include/boost-1_42/boost/python/enum.hpp" 2 namespace boost { namespace python { template struct enum_ : public objects::enum_base { typedef objects::enum_base base; enum_(char const* name, char const* doc = 0); inline enum_& value(char const* name, T); inline enum_& export_values(); private: static PyObject* to_python(void const* x); static void* convertible_from_python(PyObject* obj); static void construct(PyObject* obj, converter::rvalue_from_python_stage1_data* data); }; template inline enum_::enum_(char const* name, char const* doc ) : base( name , &enum_::to_python , &enum_::convertible_from_python , &enum_::construct , type_id() , doc ) { } template PyObject* enum_::to_python(void const* x) { return base::to_python( converter::registered::converters.m_class_object , static_cast(*(T const*)x)); } # 66 "/usr/include/boost-1_42/boost/python/enum.hpp" template void* enum_::convertible_from_python(PyObject* obj) { return PyObject_IsInstance( obj , upcast( converter::registered::converters.m_class_object)) ? obj : 0; } template void enum_::construct(PyObject* obj, converter::rvalue_from_python_stage1_data* data) { T x = static_cast((((PyIntObject *)(obj))->ob_ival)); void* const storage = ((converter::rvalue_from_python_storage*)data)->storage.bytes; new (storage) T(x); data->convertible = storage; } template inline enum_& enum_::value(char const* name, T x) { this->add_value(name, static_cast(x)); return *this; } template inline enum_& enum_::export_values() { this->base::export_values(); return *this; } }} # 27 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/exception_translator.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/exception_translator.hpp" # 1 "/usr/include/boost-1_42/boost/bind.hpp" 1 # 22 "/usr/include/boost-1_42/boost/bind.hpp" # 1 "/usr/include/boost-1_42/boost/bind/bind.hpp" 1 # 28 "/usr/include/boost-1_42/boost/bind/bind.hpp" # 1 "/usr/include/boost-1_42/boost/is_placeholder.hpp" 1 # 21 "/usr/include/boost-1_42/boost/is_placeholder.hpp" namespace boost { template< class T > struct is_placeholder { enum _vt { value = 0 }; }; } # 29 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 # 1 "/usr/include/boost-1_42/boost/bind/arg.hpp" 1 # 25 "/usr/include/boost-1_42/boost/bind/arg.hpp" namespace boost { template< int I > struct arg { arg() { } template< class T > arg( T const & ) { typedef char T_must_be_placeholder[ I == is_placeholder::value? 1: -1 ]; } }; template< int I > bool operator==( arg const &, arg const & ) { return true; } template< int I > struct is_placeholder< arg > { enum _vt { value = I }; }; template< int I > struct is_placeholder< arg (*) () > { enum _vt { value = I }; }; } # 30 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 # 1 "/usr/include/boost-1_42/boost/visit_each.hpp" 1 # 15 "/usr/include/boost-1_42/boost/visit_each.hpp" namespace boost { template inline void visit_each(Visitor& visitor, const T& t, long) { visitor(t); } template inline void visit_each(Visitor& visitor, const T& t) { visit_each(visitor, t, 0); } } # 32 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 # 41 "/usr/include/boost-1_42/boost/bind/bind.hpp" # 1 "/usr/include/boost-1_42/boost/bind/storage.hpp" 1 # 32 "/usr/include/boost-1_42/boost/bind/storage.hpp" namespace boost { namespace _bi { template struct storage1 { explicit storage1( A1 a1 ): a1_( a1 ) {} template void accept(V & v) const { visit_each(v, a1_, 0); } A1 a1_; }; template struct storage1< boost::arg > { explicit storage1( boost::arg ) {} template void accept(V &) const { } static boost::arg a1_() { return boost::arg(); } }; template struct storage1< boost::arg (*) () > { explicit storage1( boost::arg (*) () ) {} template void accept(V &) const { } static boost::arg a1_() { return boost::arg(); } }; template struct storage2: public storage1 { typedef storage1 inherited; storage2( A1 a1, A2 a2 ): storage1( a1 ), a2_( a2 ) {} template void accept(V & v) const { inherited::accept(v); visit_each(v, a2_, 0); } A2 a2_; }; template struct storage2< A1, boost::arg >: public storage1 { typedef storage1 inherited; storage2( A1 a1, boost::arg ): storage1( a1 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a2_() { return boost::arg(); } }; template struct storage2< A1, boost::arg (*) () >: public storage1 { typedef storage1 inherited; storage2( A1 a1, boost::arg (*) () ): storage1( a1 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a2_() { return boost::arg(); } }; template struct storage3: public storage2< A1, A2 > { typedef storage2 inherited; storage3( A1 a1, A2 a2, A3 a3 ): storage2( a1, a2 ), a3_( a3 ) {} template void accept(V & v) const { inherited::accept(v); visit_each(v, a3_, 0); } A3 a3_; }; template struct storage3< A1, A2, boost::arg >: public storage2< A1, A2 > { typedef storage2 inherited; storage3( A1 a1, A2 a2, boost::arg ): storage2( a1, a2 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a3_() { return boost::arg(); } }; template struct storage3< A1, A2, boost::arg (*) () >: public storage2< A1, A2 > { typedef storage2 inherited; storage3( A1 a1, A2 a2, boost::arg (*) () ): storage2( a1, a2 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a3_() { return boost::arg(); } }; template struct storage4: public storage3< A1, A2, A3 > { typedef storage3 inherited; storage4( A1 a1, A2 a2, A3 a3, A4 a4 ): storage3( a1, a2, a3 ), a4_( a4 ) {} template void accept(V & v) const { inherited::accept(v); visit_each(v, a4_, 0); } A4 a4_; }; template struct storage4< A1, A2, A3, boost::arg >: public storage3< A1, A2, A3 > { typedef storage3 inherited; storage4( A1 a1, A2 a2, A3 a3, boost::arg ): storage3( a1, a2, a3 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a4_() { return boost::arg(); } }; template struct storage4< A1, A2, A3, boost::arg (*) () >: public storage3< A1, A2, A3 > { typedef storage3 inherited; storage4( A1 a1, A2 a2, A3 a3, boost::arg (*) () ): storage3( a1, a2, a3 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a4_() { return boost::arg(); } }; template struct storage5: public storage4< A1, A2, A3, A4 > { typedef storage4 inherited; storage5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): storage4( a1, a2, a3, a4 ), a5_( a5 ) {} template void accept(V & v) const { inherited::accept(v); visit_each(v, a5_, 0); } A5 a5_; }; template struct storage5< A1, A2, A3, A4, boost::arg >: public storage4< A1, A2, A3, A4 > { typedef storage4 inherited; storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg ): storage4( a1, a2, a3, a4 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a5_() { return boost::arg(); } }; template struct storage5< A1, A2, A3, A4, boost::arg (*) () >: public storage4< A1, A2, A3, A4 > { typedef storage4 inherited; storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg (*) () ): storage4( a1, a2, a3, a4 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a5_() { return boost::arg(); } }; template struct storage6: public storage5< A1, A2, A3, A4, A5 > { typedef storage5 inherited; storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): storage5( a1, a2, a3, a4, a5 ), a6_( a6 ) {} template void accept(V & v) const { inherited::accept(v); visit_each(v, a6_, 0); } A6 a6_; }; template struct storage6< A1, A2, A3, A4, A5, boost::arg >: public storage5< A1, A2, A3, A4, A5 > { typedef storage5 inherited; storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg ): storage5( a1, a2, a3, a4, a5 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a6_() { return boost::arg(); } }; template struct storage6< A1, A2, A3, A4, A5, boost::arg (*) () >: public storage5< A1, A2, A3, A4, A5 > { typedef storage5 inherited; storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg (*) () ): storage5( a1, a2, a3, a4, a5 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a6_() { return boost::arg(); } }; template struct storage7: public storage6< A1, A2, A3, A4, A5, A6 > { typedef storage6 inherited; storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): storage6( a1, a2, a3, a4, a5, a6 ), a7_( a7 ) {} template void accept(V & v) const { inherited::accept(v); visit_each(v, a7_, 0); } A7 a7_; }; template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg >: public storage6< A1, A2, A3, A4, A5, A6 > { typedef storage6 inherited; storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg ): storage6( a1, a2, a3, a4, a5, a6 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a7_() { return boost::arg(); } }; template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg (*) () >: public storage6< A1, A2, A3, A4, A5, A6 > { typedef storage6 inherited; storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg (*) () ): storage6( a1, a2, a3, a4, a5, a6 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a7_() { return boost::arg(); } }; template struct storage8: public storage7< A1, A2, A3, A4, A5, A6, A7 > { typedef storage7 inherited; storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): storage7( a1, a2, a3, a4, a5, a6, a7 ), a8_( a8 ) {} template void accept(V & v) const { inherited::accept(v); visit_each(v, a8_, 0); } A8 a8_; }; template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg >: public storage7< A1, A2, A3, A4, A5, A6, A7 > { typedef storage7 inherited; storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg ): storage7( a1, a2, a3, a4, a5, a6, a7 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a8_() { return boost::arg(); } }; template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg (*) () >: public storage7< A1, A2, A3, A4, A5, A6, A7 > { typedef storage7 inherited; storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg (*) () ): storage7( a1, a2, a3, a4, a5, a6, a7 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a8_() { return boost::arg(); } }; template struct storage9: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > { typedef storage8 inherited; storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ), a9_( a9 ) {} template void accept(V & v) const { inherited::accept(v); visit_each(v, a9_, 0); } A9 a9_; }; template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > { typedef storage8 inherited; storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a9_() { return boost::arg(); } }; template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg (*) () >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > { typedef storage8 inherited; storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg (*) () ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ) {} template void accept(V & v) const { inherited::accept(v); } static boost::arg a9_() { return boost::arg(); } }; } } # 42 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 namespace boost { template class weak_ptr; namespace _bi { template struct result_traits { typedef R type; }; struct unspecified {}; template struct result_traits { typedef typename F::result_type type; }; template struct result_traits< unspecified, reference_wrapper > { typedef typename F::result_type type; }; template bool ref_compare( T const & a, T const & b, long ) { return a == b; } template bool ref_compare( arg const &, arg const &, int ) { return true; } template bool ref_compare( arg (*) (), arg (*) (), int ) { return true; } template bool ref_compare( reference_wrapper const & a, reference_wrapper const & b, int ) { return a.get_pointer() == b.get_pointer(); } template class bind_t; template bool ref_compare( bind_t const & a, bind_t const & b, int ) { return a.compare( b ); } template class value { public: value(T const & t): t_(t) {} T & get() { return t_; } T const & get() const { return t_; } bool operator==(value const & rhs) const { return t_ == rhs.t_; } private: T t_; }; template bool ref_compare( value< weak_ptr > const & a, value< weak_ptr > const & b, int ) { return !(a.get() < b.get()) && !(b.get() < a.get()); } template class type {}; template struct unwrapper { static inline F & unwrap( F & f, long ) { return f; } template static inline F2 & unwrap( reference_wrapper rf, int ) { return rf.get(); } template static inline _mfi::dm unwrap( R T::* pm, int ) { return _mfi::dm( pm ); } }; class list0 { public: list0() {} template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A &, long) { return unwrapper::unwrap(f, 0)(); } template R operator()(type, F const & f, A &, long) const { return unwrapper::unwrap(f, 0)(); } template void operator()(type, F & f, A &, int) { unwrapper::unwrap(f, 0)(); } template void operator()(type, F const & f, A &, int) const { unwrapper::unwrap(f, 0)(); } template void accept(V &) const { } bool operator==(list0 const &) const { return true; } }; # 217 "/usr/include/boost-1_42/boost/bind/bind.hpp" template< class A1 > class list1: private storage1< A1 > { private: typedef storage1< A1 > base_type; public: explicit list1( A1 a1 ): base_type( a1 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } template T & operator[] ( _bi::value & v ) const { return v.get(); } template T const & operator[] ( _bi::value const & v ) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_]); } template void accept(V & v) const { base_type::accept(v); } bool operator==(list1 const & rhs) const { return ref_compare(base_type::a1_, rhs.a1_, 0); } }; struct logical_and; struct logical_or; template< class A1, class A2 > class list2: private storage2< A1, A2 > { private: typedef storage2< A1, A2 > base_type; public: list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A2 operator[] (boost::arg<2>) const { return base_type::a2_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); } template bool operator()( type, logical_and & , A & a, int ) { return a[ base_type::a1_ ] && a[ base_type::a2_ ]; } template bool operator()( type, logical_and const & , A & a, int ) const { return a[ base_type::a1_ ] && a[ base_type::a2_ ]; } template bool operator()( type, logical_or & , A & a, int ) { return a[ base_type::a1_ ] || a[ base_type::a2_ ]; } template bool operator()( type, logical_or const & , A & a, int ) const { return a[ base_type::a1_ ] || a[ base_type::a2_ ]; } template void accept(V & v) const { base_type::accept(v); } bool operator==(list2 const & rhs) const { return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0); } }; template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 > { private: typedef storage3< A1, A2, A3 > base_type; public: list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A2 operator[] (boost::arg<2>) const { return base_type::a2_; } A3 operator[] (boost::arg<3>) const { return base_type::a3_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); } template void accept(V & v) const { base_type::accept(v); } bool operator==(list3 const & rhs) const { return ref_compare( base_type::a1_, rhs.a1_, 0 ) && ref_compare( base_type::a2_, rhs.a2_, 0 ) && ref_compare( base_type::a3_, rhs.a3_, 0 ); } }; template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 > { private: typedef storage4< A1, A2, A3, A4 > base_type; public: list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A2 operator[] (boost::arg<2>) const { return base_type::a2_; } A3 operator[] (boost::arg<3>) const { return base_type::a3_; } A4 operator[] (boost::arg<4>) const { return base_type::a4_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); } template void accept(V & v) const { base_type::accept(v); } bool operator==(list4 const & rhs) const { return ref_compare( base_type::a1_, rhs.a1_, 0 ) && ref_compare( base_type::a2_, rhs.a2_, 0 ) && ref_compare( base_type::a3_, rhs.a3_, 0 ) && ref_compare( base_type::a4_, rhs.a4_, 0 ); } }; template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 > { private: typedef storage5< A1, A2, A3, A4, A5 > base_type; public: list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A2 operator[] (boost::arg<2>) const { return base_type::a2_; } A3 operator[] (boost::arg<3>) const { return base_type::a3_; } A4 operator[] (boost::arg<4>) const { return base_type::a4_; } A5 operator[] (boost::arg<5>) const { return base_type::a5_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); } template void accept(V & v) const { base_type::accept(v); } bool operator==(list5 const & rhs) const { return ref_compare( base_type::a1_, rhs.a1_, 0 ) && ref_compare( base_type::a2_, rhs.a2_, 0 ) && ref_compare( base_type::a3_, rhs.a3_, 0 ) && ref_compare( base_type::a4_, rhs.a4_, 0 ) && ref_compare( base_type::a5_, rhs.a5_, 0 ); } }; template class list6: private storage6< A1, A2, A3, A4, A5, A6 > { private: typedef storage6< A1, A2, A3, A4, A5, A6 > base_type; public: list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A2 operator[] (boost::arg<2>) const { return base_type::a2_; } A3 operator[] (boost::arg<3>) const { return base_type::a3_; } A4 operator[] (boost::arg<4>) const { return base_type::a4_; } A5 operator[] (boost::arg<5>) const { return base_type::a5_; } A6 operator[] (boost::arg<6>) const { return base_type::a6_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); } template void accept(V & v) const { base_type::accept(v); } bool operator==(list6 const & rhs) const { return ref_compare( base_type::a1_, rhs.a1_, 0 ) && ref_compare( base_type::a2_, rhs.a2_, 0 ) && ref_compare( base_type::a3_, rhs.a3_, 0 ) && ref_compare( base_type::a4_, rhs.a4_, 0 ) && ref_compare( base_type::a5_, rhs.a5_, 0 ) && ref_compare( base_type::a6_, rhs.a6_, 0 ); } }; template class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 > { private: typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type; public: list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A2 operator[] (boost::arg<2>) const { return base_type::a2_; } A3 operator[] (boost::arg<3>) const { return base_type::a3_; } A4 operator[] (boost::arg<4>) const { return base_type::a4_; } A5 operator[] (boost::arg<5>) const { return base_type::a5_; } A6 operator[] (boost::arg<6>) const { return base_type::a6_; } A7 operator[] (boost::arg<7>) const { return base_type::a7_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); } template void accept(V & v) const { base_type::accept(v); } bool operator==(list7 const & rhs) const { return ref_compare( base_type::a1_, rhs.a1_, 0 ) && ref_compare( base_type::a2_, rhs.a2_, 0 ) && ref_compare( base_type::a3_, rhs.a3_, 0 ) && ref_compare( base_type::a4_, rhs.a4_, 0 ) && ref_compare( base_type::a5_, rhs.a5_, 0 ) && ref_compare( base_type::a6_, rhs.a6_, 0 ) && ref_compare( base_type::a7_, rhs.a7_, 0 ); } }; template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class list8: private storage8< A1, A2, A3, A4, A5, A6, A7, A8 > { private: typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type; public: list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A2 operator[] (boost::arg<2>) const { return base_type::a2_; } A3 operator[] (boost::arg<3>) const { return base_type::a3_; } A4 operator[] (boost::arg<4>) const { return base_type::a4_; } A5 operator[] (boost::arg<5>) const { return base_type::a5_; } A6 operator[] (boost::arg<6>) const { return base_type::a6_; } A7 operator[] (boost::arg<7>) const { return base_type::a7_; } A8 operator[] (boost::arg<8>) const { return base_type::a8_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; } template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); } template void accept(V & v) const { base_type::accept(v); } bool operator==(list8 const & rhs) const { return ref_compare( base_type::a1_, rhs.a1_, 0 ) && ref_compare( base_type::a2_, rhs.a2_, 0 ) && ref_compare( base_type::a3_, rhs.a3_, 0 ) && ref_compare( base_type::a4_, rhs.a4_, 0 ) && ref_compare( base_type::a5_, rhs.a5_, 0 ) && ref_compare( base_type::a6_, rhs.a6_, 0 ) && ref_compare( base_type::a7_, rhs.a7_, 0 ) && ref_compare( base_type::a8_, rhs.a8_, 0 ); } }; template class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > { private: typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type; public: list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {} A1 operator[] (boost::arg<1>) const { return base_type::a1_; } A2 operator[] (boost::arg<2>) const { return base_type::a2_; } A3 operator[] (boost::arg<3>) const { return base_type::a3_; } A4 operator[] (boost::arg<4>) const { return base_type::a4_; } A5 operator[] (boost::arg<5>) const { return base_type::a5_; } A6 operator[] (boost::arg<6>) const { return base_type::a6_; } A7 operator[] (boost::arg<7>) const { return base_type::a7_; } A8 operator[] (boost::arg<8>) const { return base_type::a8_; } A9 operator[] (boost::arg<9>) const { return base_type::a9_; } A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; } A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; } template T & operator[] (_bi::value & v) const { return v.get(); } template T const & operator[] (_bi::value const & v) const { return v.get(); } template T & operator[] (reference_wrapper const & v) const { return v.get(); } template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } template R operator()(type, F & f, A & a, long) { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); } template R operator()(type, F const & f, A & a, long) const { return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); } template void operator()(type, F & f, A & a, int) { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); } template void operator()(type, F const & f, A & a, int) const { unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); } template void accept(V & v) const { base_type::accept(v); } bool operator==(list9 const & rhs) const { return ref_compare( base_type::a1_, rhs.a1_, 0 ) && ref_compare( base_type::a2_, rhs.a2_, 0 ) && ref_compare( base_type::a3_, rhs.a3_, 0 ) && ref_compare( base_type::a4_, rhs.a4_, 0 ) && ref_compare( base_type::a5_, rhs.a5_, 0 ) && ref_compare( base_type::a6_, rhs.a6_, 0 ) && ref_compare( base_type::a7_, rhs.a7_, 0 ) && ref_compare( base_type::a8_, rhs.a8_, 0 ) && ref_compare( base_type::a9_, rhs.a9_, 0 ); } }; # 864 "/usr/include/boost-1_42/boost/bind/bind.hpp" template class bind_t { public: typedef bind_t this_type; bind_t(F f, L const & l): f_(f), l_(l) {} # 1 "/usr/include/boost-1_42/boost/bind/bind_template.hpp" 1 # 15 "/usr/include/boost-1_42/boost/bind/bind_template.hpp" typedef typename result_traits::type result_type; result_type operator()() { list0 a; return l_(type(), f_, a, 0); } result_type operator()() const { list0 a; return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1) { list1 a(a1); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1) const { list1 a(a1); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1) { list1 a(a1); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1) const { list1 a(a1); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2) { list2 a(a1, a2); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2) const { list2 a(a1, a2); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 & a2) { list2 a(a1, a2); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 & a2) const { list2 a(a1, a2); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 const & a2) { list2 a(a1, a2); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 const & a2) const { list2 a(a1, a2); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2) { list2 a(a1, a2); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2) const { list2 a(a1, a2); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3) { list3 a(a1, a2, a3); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3) const { list3 a(a1, a2, a3); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) { list3 a(a1, a2, a3); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const { list3 a(a1, a2, a3); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) { list4 a(a1, a2, a3, a4); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const { list4 a(a1, a2, a3, a4); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) { list4 a(a1, a2, a3, a4); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const { list4 a(a1, a2, a3, a4); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) { list5 a(a1, a2, a3, a4, a5); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const { list5 a(a1, a2, a3, a4, a5); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) { list5 a(a1, a2, a3, a4, a5); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const { list5 a(a1, a2, a3, a4, a5); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) { list6 a(a1, a2, a3, a4, a5, a6); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const { list6 a(a1, a2, a3, a4, a5, a6); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) { list6 a(a1, a2, a3, a4, a5, a6); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const { list6 a(a1, a2, a3, a4, a5, a6); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) { list7 a(a1, a2, a3, a4, a5, a6, a7); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const { list7 a(a1, a2, a3, a4, a5, a6, a7); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) { list7 a(a1, a2, a3, a4, a5, a6, a7); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const { list7 a(a1, a2, a3, a4, a5, a6, a7); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) { list8 a(a1, a2, a3, a4, a5, a6, a7, a8); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const { list8 a(a1, a2, a3, a4, a5, a6, a7, a8); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) { list8 a(a1, a2, a3, a4, a5, a6, a7, a8); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const { list8 a(a1, a2, a3, a4, a5, a6, a7, a8); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) { list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); return l_(type(), f_, a, 0); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const { list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) { list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); return l_(type(), f_, a, 0); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const { list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); return l_(type(), f_, a, 0); } template result_type eval(A & a) { return l_(type(), f_, a, 0); } template result_type eval(A & a) const { return l_(type(), f_, a, 0); } template void accept(V & v) const { using boost::visit_each; visit_each(v, f_, 0); l_.accept(v); } bool compare(this_type const & rhs) const { return ref_compare(f_, rhs.f_, 0) && l_ == rhs.l_; } private: F f_; L l_; # 874 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 }; # 940 "/usr/include/boost-1_42/boost/bind/bind.hpp" template bool function_equal( bind_t const & a, bind_t const & b ) { return a.compare(b); } # 994 "/usr/include/boost-1_42/boost/bind/bind.hpp" template< class T, int I > struct add_value_2 { typedef boost::arg type; }; template< class T > struct add_value_2< T, 0 > { typedef _bi::value< T > type; }; template struct add_value { typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type; }; template struct add_value< value > { typedef _bi::value type; }; template struct add_value< reference_wrapper > { typedef reference_wrapper type; }; template struct add_value< arg > { typedef boost::arg type; }; template struct add_value< arg (*) () > { typedef boost::arg (*type) (); }; template struct add_value< bind_t > { typedef bind_t type; }; # 1077 "/usr/include/boost-1_42/boost/bind/bind.hpp" template struct list_av_1 { typedef typename add_value::type B1; typedef list1 type; }; template struct list_av_2 { typedef typename add_value::type B1; typedef typename add_value::type B2; typedef list2 type; }; template struct list_av_3 { typedef typename add_value::type B1; typedef typename add_value::type B2; typedef typename add_value::type B3; typedef list3 type; }; template struct list_av_4 { typedef typename add_value::type B1; typedef typename add_value::type B2; typedef typename add_value::type B3; typedef typename add_value::type B4; typedef list4 type; }; template struct list_av_5 { typedef typename add_value::type B1; typedef typename add_value::type B2; typedef typename add_value::type B3; typedef typename add_value::type B4; typedef typename add_value::type B5; typedef list5 type; }; template struct list_av_6 { typedef typename add_value::type B1; typedef typename add_value::type B2; typedef typename add_value::type B3; typedef typename add_value::type B4; typedef typename add_value::type B5; typedef typename add_value::type B6; typedef list6 type; }; template struct list_av_7 { typedef typename add_value::type B1; typedef typename add_value::type B2; typedef typename add_value::type B3; typedef typename add_value::type B4; typedef typename add_value::type B5; typedef typename add_value::type B6; typedef typename add_value::type B7; typedef list7 type; }; template struct list_av_8 { typedef typename add_value::type B1; typedef typename add_value::type B2; typedef typename add_value::type B3; typedef typename add_value::type B4; typedef typename add_value::type B5; typedef typename add_value::type B6; typedef typename add_value::type B7; typedef typename add_value::type B8; typedef list8 type; }; template struct list_av_9 { typedef typename add_value::type B1; typedef typename add_value::type B2; typedef typename add_value::type B3; typedef typename add_value::type B4; typedef typename add_value::type B5; typedef typename add_value::type B6; typedef typename add_value::type B7; typedef typename add_value::type B8; typedef typename add_value::type B9; typedef list9 type; }; struct logical_not { template bool operator()(V const & v) const { return !v; } }; template bind_t< bool, logical_not, list1< bind_t > > operator! (bind_t const & f) { typedef list1< bind_t > list_type; return bind_t ( logical_not(), list_type(f) ); } # 1200 "/usr/include/boost-1_42/boost/bind/bind.hpp" struct equal { template bool operator()(V const & v, W const & w) const { return v == w; } }; template bind_t< bool, equal, list2< bind_t, typename add_value::type > > operator == (bind_t const & f, A2 a2) { typedef typename add_value::type B2; typedef list2< bind_t, B2> list_type; return bind_t ( equal(), list_type(f, a2) ); } struct not_equal { template bool operator()(V const & v, W const & w) const { return v != w; } }; template bind_t< bool, not_equal, list2< bind_t, typename add_value::type > > operator != (bind_t const & f, A2 a2) { typedef typename add_value::type B2; typedef list2< bind_t, B2> list_type; return bind_t ( not_equal(), list_type(f, a2) ); } struct less { template bool operator()(V const & v, W const & w) const { return v < w; } }; template bind_t< bool, less, list2< bind_t, typename add_value::type > > operator < (bind_t const & f, A2 a2) { typedef typename add_value::type B2; typedef list2< bind_t, B2> list_type; return bind_t ( less(), list_type(f, a2) ); } struct less_equal { template bool operator()(V const & v, W const & w) const { return v <= w; } }; template bind_t< bool, less_equal, list2< bind_t, typename add_value::type > > operator <= (bind_t const & f, A2 a2) { typedef typename add_value::type B2; typedef list2< bind_t, B2> list_type; return bind_t ( less_equal(), list_type(f, a2) ); } struct greater { template bool operator()(V const & v, W const & w) const { return v > w; } }; template bind_t< bool, greater, list2< bind_t, typename add_value::type > > operator > (bind_t const & f, A2 a2) { typedef typename add_value::type B2; typedef list2< bind_t, B2> list_type; return bind_t ( greater(), list_type(f, a2) ); } struct greater_equal { template bool operator()(V const & v, W const & w) const { return v >= w; } }; template bind_t< bool, greater_equal, list2< bind_t, typename add_value::type > > operator >= (bind_t const & f, A2 a2) { typedef typename add_value::type B2; typedef list2< bind_t, B2> list_type; return bind_t ( greater_equal(), list_type(f, a2) ); } struct logical_and { template bool operator()(V const & v, W const & w) const { return v && w; } }; template bind_t< bool, logical_and, list2< bind_t, typename add_value::type > > operator && (bind_t const & f, A2 a2) { typedef typename add_value::type B2; typedef list2< bind_t, B2> list_type; return bind_t ( logical_and(), list_type(f, a2) ); } struct logical_or { template bool operator()(V const & v, W const & w) const { return v || w; } }; template bind_t< bool, logical_or, list2< bind_t, typename add_value::type > > operator || (bind_t const & f, A2 a2) { typedef typename add_value::type B2; typedef list2< bind_t, B2> list_type; return bind_t ( logical_or(), list_type(f, a2) ); } # 1240 "/usr/include/boost-1_42/boost/bind/bind.hpp" template void visit_each( V & v, value const & t, int ) { using boost::visit_each; visit_each( v, t.get(), 0 ); } template void visit_each( V & v, bind_t const & t, int ) { t.accept( v ); } } # 1274 "/usr/include/boost-1_42/boost/bind/bind.hpp" template< class T > struct is_bind_expression { enum _vt { value = 0 }; }; template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > > { enum _vt { value = 1 }; }; # 1296 "/usr/include/boost-1_42/boost/bind/bind.hpp" template _bi::bind_t bind(F f) { typedef _bi::list0 list_type; return _bi::bind_t (f, list_type()); } template _bi::bind_t::type> bind(F f, A1 a1) { typedef typename _bi::list_av_1::type list_type; return _bi::bind_t (f, list_type(a1)); } template _bi::bind_t::type> bind(F f, A1 a1, A2 a2) { typedef typename _bi::list_av_2::type list_type; return _bi::bind_t (f, list_type(a1, a2)); } template _bi::bind_t::type> bind(F f, A1 a1, A2 a2, A3 a3) { typedef typename _bi::list_av_3::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3)); } template _bi::bind_t::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4) { typedef typename _bi::list_av_4::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4)); } template _bi::bind_t::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef typename _bi::list_av_5::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); } template _bi::bind_t::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef typename _bi::list_av_6::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); } template _bi::bind_t::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef typename _bi::list_av_7::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); } template _bi::bind_t::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef typename _bi::list_av_8::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template _bi::bind_t::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef typename _bi::list_av_9::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } template _bi::bind_t bind(boost::type, F f) { typedef _bi::list0 list_type; return _bi::bind_t (f, list_type()); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1) { typedef typename _bi::list_av_1::type list_type; return _bi::bind_t (f, list_type(a1)); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1, A2 a2) { typedef typename _bi::list_av_2::type list_type; return _bi::bind_t (f, list_type(a1, a2)); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1, A2 a2, A3 a3) { typedef typename _bi::list_av_3::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3)); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4) { typedef typename _bi::list_av_4::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4)); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef typename _bi::list_av_5::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef typename _bi::list_av_6::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef typename _bi::list_av_7::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef typename _bi::list_av_8::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template _bi::bind_t::type> bind(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef typename _bi::list_av_9::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } template _bi::bind_t<_bi::unspecified, F, _bi::list0> bind(F f) { typedef _bi::list0 list_type; return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type()); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1::type> bind(F f, A1 a1) { typedef typename _bi::list_av_1::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1)); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2::type> bind(F f, A1 a1, A2 a2) { typedef typename _bi::list_av_2::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2)); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3::type> bind(F f, A1 a1, A2 a2, A3 a3) { typedef typename _bi::list_av_3::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3)); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4) { typedef typename _bi::list_av_4::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4)); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef typename _bi::list_av_5::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5)); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef typename _bi::list_av_6::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6)); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef typename _bi::list_av_7::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7)); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef typename _bi::list_av_8::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9::type> bind(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef typename _bi::list_av_9::type list_type; return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } # 1549 "/usr/include/boost-1_42/boost/bind/bind.hpp" # 1 "/usr/include/boost-1_42/boost/bind/bind_cc.hpp" 1 # 15 "/usr/include/boost-1_42/boost/bind/bind_cc.hpp" template _bi::bind_t bind( R ( *f) ()) { typedef R ( *F) (); typedef _bi::list0 list_type; return _bi::bind_t (f, list_type()); } template _bi::bind_t::type> bind( R ( *f) (B1), A1 a1) { typedef R ( *F) (B1); typedef typename _bi::list_av_1::type list_type; return _bi::bind_t (f, list_type(a1)); } template _bi::bind_t::type> bind( R ( *f) (B1, B2), A1 a1, A2 a2) { typedef R ( *F) (B1, B2); typedef typename _bi::list_av_2::type list_type; return _bi::bind_t (f, list_type(a1, a2)); } template _bi::bind_t::type> bind( R ( *f) (B1, B2, B3), A1 a1, A2 a2, A3 a3) { typedef R ( *F) (B1, B2, B3); typedef typename _bi::list_av_3::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3)); } template _bi::bind_t::type> bind( R ( *f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4) { typedef R ( *F) (B1, B2, B3, B4); typedef typename _bi::list_av_4::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4)); } template _bi::bind_t::type> bind( R ( *f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef R ( *F) (B1, B2, B3, B4, B5); typedef typename _bi::list_av_5::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); } template _bi::bind_t::type> bind( R ( *f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef R ( *F) (B1, B2, B3, B4, B5, B6); typedef typename _bi::list_av_6::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); } template _bi::bind_t::type> bind( R ( *f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef R ( *F) (B1, B2, B3, B4, B5, B6, B7); typedef typename _bi::list_av_7::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); } template _bi::bind_t::type> bind( R ( *f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef R ( *F) (B1, B2, B3, B4, B5, B6, B7, B8); typedef typename _bi::list_av_8::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template _bi::bind_t::type> bind( R ( *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef R ( *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9); typedef typename _bi::list_av_9::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } # 1550 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 # 1595 "/usr/include/boost-1_42/boost/bind/bind.hpp" # 1 "/usr/include/boost-1_42/boost/bind/bind_mf_cc.hpp" 1 # 17 "/usr/include/boost-1_42/boost/bind/bind_mf_cc.hpp" template _bi::bind_t, typename _bi::list_av_1::type> bind(R ( T::*f) (), A1 a1) { typedef _mfi::mf0 F; typedef typename _bi::list_av_1::type list_type; return _bi::bind_t(F(f), list_type(a1)); } template _bi::bind_t, typename _bi::list_av_1::type> bind(R ( T::*f) () const, A1 a1) { typedef _mfi::cmf0 F; typedef typename _bi::list_av_1::type list_type; return _bi::bind_t(F(f), list_type(a1)); } template _bi::bind_t, typename _bi::list_av_2::type> bind(R ( T::*f) (B1), A1 a1, A2 a2) { typedef _mfi::mf1 F; typedef typename _bi::list_av_2::type list_type; return _bi::bind_t(F(f), list_type(a1, a2)); } template _bi::bind_t, typename _bi::list_av_2::type> bind(R ( T::*f) (B1) const, A1 a1, A2 a2) { typedef _mfi::cmf1 F; typedef typename _bi::list_av_2::type list_type; return _bi::bind_t(F(f), list_type(a1, a2)); } template _bi::bind_t, typename _bi::list_av_3::type> bind(R ( T::*f) (B1, B2), A1 a1, A2 a2, A3 a3) { typedef _mfi::mf2 F; typedef typename _bi::list_av_3::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3)); } template _bi::bind_t, typename _bi::list_av_3::type> bind(R ( T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3) { typedef _mfi::cmf2 F; typedef typename _bi::list_av_3::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3)); } template _bi::bind_t, typename _bi::list_av_4::type> bind(R ( T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4) { typedef _mfi::mf3 F; typedef typename _bi::list_av_4::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); } template _bi::bind_t, typename _bi::list_av_4::type> bind(R ( T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4) { typedef _mfi::cmf3 F; typedef typename _bi::list_av_4::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); } template _bi::bind_t, typename _bi::list_av_5::type> bind(R ( T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef _mfi::mf4 F; typedef typename _bi::list_av_5::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); } template _bi::bind_t, typename _bi::list_av_5::type> bind(R ( T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef _mfi::cmf4 F; typedef typename _bi::list_av_5::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); } template _bi::bind_t, typename _bi::list_av_6::type> bind(R ( T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef _mfi::mf5 F; typedef typename _bi::list_av_6::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); } template _bi::bind_t, typename _bi::list_av_6::type> bind(R ( T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef _mfi::cmf5 F; typedef typename _bi::list_av_6::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); } template _bi::bind_t, typename _bi::list_av_7::type> bind(R ( T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef _mfi::mf6 F; typedef typename _bi::list_av_7::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); } template _bi::bind_t, typename _bi::list_av_7::type> bind(R ( T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef _mfi::cmf6 F; typedef typename _bi::list_av_7::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); } template _bi::bind_t, typename _bi::list_av_8::type> bind(R ( T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef _mfi::mf7 F; typedef typename _bi::list_av_8::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template _bi::bind_t, typename _bi::list_av_8::type> bind(R ( T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef _mfi::cmf7 F; typedef typename _bi::list_av_8::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template _bi::bind_t, typename _bi::list_av_9::type> bind(R ( T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef _mfi::mf8 F; typedef typename _bi::list_av_9::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } template _bi::bind_t, typename _bi::list_av_9::type> bind(R ( T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef _mfi::cmf8 F; typedef typename _bi::list_av_9::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } # 1596 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 # 1 "/usr/include/boost-1_42/boost/bind/bind_mf2_cc.hpp" 1 # 18 "/usr/include/boost-1_42/boost/bind/bind_mf2_cc.hpp" template _bi::bind_t, typename _bi::list_av_1::type> bind(boost::type, R ( T::*f) (), A1 a1) { typedef _mfi::mf0 F; typedef typename _bi::list_av_1::type list_type; return _bi::bind_t(F(f), list_type(a1)); } template _bi::bind_t, typename _bi::list_av_1::type> bind(boost::type, R ( T::*f) () const, A1 a1) { typedef _mfi::cmf0 F; typedef typename _bi::list_av_1::type list_type; return _bi::bind_t(F(f), list_type(a1)); } template _bi::bind_t, typename _bi::list_av_2::type> bind(boost::type, R ( T::*f) (B1), A1 a1, A2 a2) { typedef _mfi::mf1 F; typedef typename _bi::list_av_2::type list_type; return _bi::bind_t(F(f), list_type(a1, a2)); } template _bi::bind_t, typename _bi::list_av_2::type> bind(boost::type, R ( T::*f) (B1) const, A1 a1, A2 a2) { typedef _mfi::cmf1 F; typedef typename _bi::list_av_2::type list_type; return _bi::bind_t(F(f), list_type(a1, a2)); } template _bi::bind_t, typename _bi::list_av_3::type> bind(boost::type, R ( T::*f) (B1, B2), A1 a1, A2 a2, A3 a3) { typedef _mfi::mf2 F; typedef typename _bi::list_av_3::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3)); } template _bi::bind_t, typename _bi::list_av_3::type> bind(boost::type, R ( T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3) { typedef _mfi::cmf2 F; typedef typename _bi::list_av_3::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3)); } template _bi::bind_t, typename _bi::list_av_4::type> bind(boost::type, R ( T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4) { typedef _mfi::mf3 F; typedef typename _bi::list_av_4::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); } template _bi::bind_t, typename _bi::list_av_4::type> bind(boost::type, R ( T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4) { typedef _mfi::cmf3 F; typedef typename _bi::list_av_4::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); } template _bi::bind_t, typename _bi::list_av_5::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef _mfi::mf4 F; typedef typename _bi::list_av_5::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); } template _bi::bind_t, typename _bi::list_av_5::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef _mfi::cmf4 F; typedef typename _bi::list_av_5::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); } template _bi::bind_t, typename _bi::list_av_6::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef _mfi::mf5 F; typedef typename _bi::list_av_6::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); } template _bi::bind_t, typename _bi::list_av_6::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef _mfi::cmf5 F; typedef typename _bi::list_av_6::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); } template _bi::bind_t, typename _bi::list_av_7::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef _mfi::mf6 F; typedef typename _bi::list_av_7::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); } template _bi::bind_t, typename _bi::list_av_7::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef _mfi::cmf6 F; typedef typename _bi::list_av_7::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); } template _bi::bind_t, typename _bi::list_av_8::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef _mfi::mf7 F; typedef typename _bi::list_av_8::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template _bi::bind_t, typename _bi::list_av_8::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef _mfi::cmf7 F; typedef typename _bi::list_av_8::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template _bi::bind_t, typename _bi::list_av_9::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef _mfi::mf8 F; typedef typename _bi::list_av_9::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } template _bi::bind_t, typename _bi::list_av_9::type> bind(boost::type, R ( T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef _mfi::cmf8 F; typedef typename _bi::list_av_9::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } # 1597 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 # 1656 "/usr/include/boost-1_42/boost/bind/bind.hpp" namespace _bi { template< class Pm, int I > struct add_cref; template< class M, class T > struct add_cref< M T::*, 0 > { typedef M type; }; template< class M, class T > struct add_cref< M T::*, 1 > { typedef M const & type; }; template< class R, class T > struct add_cref< R (T::*) (), 1 > { typedef void type; }; template< class R, class T > struct add_cref< R (T::*) () const, 1 > { typedef void type; }; template struct isref { enum value_type { value = 0 }; }; template struct isref< R& > { enum value_type { value = 1 }; }; template struct isref< R* > { enum value_type { value = 1 }; }; template struct dm_result { typedef typename add_cref< Pm, 1 >::type type; }; template struct dm_result< Pm, bind_t > { typedef typename bind_t::result_type result_type; typedef typename add_cref< Pm, isref< result_type >::value >::type type; }; } template< class A1, class M, class T > _bi::bind_t< typename _bi::dm_result< M T::*, A1 >::type, _mfi::dm, typename _bi::list_av_1::type > bind( M T::*f, A1 a1 ) { typedef typename _bi::dm_result< M T::*, A1 >::type result_type; typedef _mfi::dm F; typedef typename _bi::list_av_1::type list_type; return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) ); } } # 1 "/usr/include/boost-1_42/boost/bind/placeholders.hpp" 1 # 25 "/usr/include/boost-1_42/boost/bind/placeholders.hpp" namespace { # 55 "/usr/include/boost-1_42/boost/bind/placeholders.hpp" boost::arg<1> _1; boost::arg<2> _2; boost::arg<3> _3; boost::arg<4> _4; boost::arg<5> _5; boost::arg<6> _6; boost::arg<7> _7; boost::arg<8> _8; boost::arg<9> _9; } # 1743 "/usr/include/boost-1_42/boost/bind/bind.hpp" 2 # 23 "/usr/include/boost-1_42/boost/bind.hpp" 2 # 11 "/usr/include/boost-1_42/boost/python/exception_translator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/translate_exception.hpp" 1 # 1 "/usr/include/boost-1_42/boost/python/detail/exception_handler.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/detail/exception_handler.hpp" # 1 "/usr/include/boost-1_42/boost/function/function0.hpp" 1 # 11 "/usr/include/boost-1_42/boost/function/function0.hpp" # 1 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" 1 # 12 "/usr/include/boost-1_42/boost/function/function0.hpp" 2 # 10 "/usr/include/boost-1_42/boost/python/detail/exception_handler.hpp" 2 # 1 "/usr/include/boost-1_42/boost/function/function2.hpp" 1 # 11 "/usr/include/boost-1_42/boost/function/function2.hpp" # 1 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" 1 # 12 "/usr/include/boost-1_42/boost/function/function2.hpp" 2 # 11 "/usr/include/boost-1_42/boost/python/detail/exception_handler.hpp" 2 namespace boost { namespace python { namespace detail { struct exception_handler; typedef function2 const&> handler_function; struct exception_handler { private: public: explicit exception_handler(handler_function const& impl); inline bool handle(function0 const& f) const; bool operator()(function0 const& f) const; static exception_handler* chain; private: static exception_handler* tail; handler_function m_impl; exception_handler* m_next; }; inline bool exception_handler::handle(function0 const& f) const { return this->m_impl(*this, f); } void register_exception_handler(handler_function const& f); }}} # 9 "/usr/include/boost-1_42/boost/python/detail/translate_exception.hpp" 2 # 1 "/usr/include/boost-1_42/boost/function/function0.hpp" 1 # 11 "/usr/include/boost-1_42/boost/function/function0.hpp" # 1 "/usr/include/boost-1_42/boost/function/detail/maybe_include.hpp" 1 # 12 "/usr/include/boost-1_42/boost/function/function0.hpp" 2 # 16 "/usr/include/boost-1_42/boost/python/detail/translate_exception.hpp" 2 namespace boost { namespace python { namespace detail { template struct translate_exception { # 36 "/usr/include/boost-1_42/boost/python/detail/translate_exception.hpp" typedef typename add_reference< typename add_const::type >::type exception_cref; inline bool operator()( exception_handler const& handler , function0 const& f , typename call_traits::param_type translate) const { try { return handler(f); } # 58 "/usr/include/boost-1_42/boost/python/detail/translate_exception.hpp" catch(exception_cref e) { translate(e); return true; } } }; }}} # 13 "/usr/include/boost-1_42/boost/python/exception_translator.hpp" 2 namespace boost { namespace python { template void register_exception_translator(Translate translate, boost::type* = 0) { detail::register_exception_handler( bind(detail::translate_exception(), _1, _2, translate) ); } }} # 29 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/exec.hpp" 1 # 9 "/usr/include/boost-1_42/boost/python/exec.hpp" # 1 "/usr/include/boost-1_42/boost/python/str.hpp" 1 # 22 "/usr/include/boost-1_42/boost/python/str.hpp" namespace boost { namespace python { class str; namespace detail { struct str_base : object { str capitalize() const; str center(object_cref width) const; long count(object_cref sub) const; long count(object_cref sub, object_cref start) const; long count(object_cref sub, object_cref start, object_cref end) const; object decode() const; object decode(object_cref encoding) const; object decode(object_cref encoding, object_cref errors) const; object encode() const; object encode(object_cref encoding) const; object encode(object_cref encoding, object_cref errors) const; bool endswith(object_cref suffix) const; bool endswith(object_cref suffix, object_cref start) const; bool endswith(object_cref suffix, object_cref start, object_cref end) const; str expandtabs() const; str expandtabs(object_cref tabsize) const; long find(object_cref sub) const; long find(object_cref sub, object_cref start) const; long find(object_cref sub, object_cref start, object_cref end) const; long index(object_cref sub) const; long index(object_cref sub, object_cref start) const; long index(object_cref sub, object_cref start, object_cref end) const; bool isalnum() const; bool isalpha() const; bool isdigit() const; bool islower() const; bool isspace() const; bool istitle() const; bool isupper() const; str join(object_cref sequence) const; str ljust(object_cref width) const; str lower() const; str lstrip() const; str replace(object_cref old, object_cref new_) const; str replace(object_cref old, object_cref new_, object_cref maxsplit) const; long rfind(object_cref sub) const; long rfind(object_cref sub, object_cref start) const; long rfind(object_cref sub, object_cref start, object_cref end) const; long rindex(object_cref sub) const; long rindex(object_cref sub, object_cref start) const; long rindex(object_cref sub, object_cref start, object_cref end) const; str rjust(object_cref width) const; str rstrip() const; list split() const; list split(object_cref sep) const; list split(object_cref sep, object_cref maxsplit) const; list splitlines() const; list splitlines(object_cref keepends) const; bool startswith(object_cref prefix) const; bool startswith(object_cref prefix, object_cref start) const; bool startswith(object_cref prefix, object_cref start, object_cref end) const; str strip() const; str swapcase() const; str title() const; str translate(object_cref table) const; str translate(object_cref table, object_cref deletechars) const; str upper() const; protected: str_base(); str_base(const char* s); str_base(char const* start, char const* finish); str_base(char const* start, std::size_t length); explicit str_base(object_cref other); inline explicit str_base(python::detail::borrowed_reference p) : object(p) {} inline explicit str_base(python::detail::new_reference p) : object(p) {} inline explicit str_base(python::detail::new_non_null_reference p) : object(p) {} private: static new_reference call(object const&); }; } class str : public detail::str_base { typedef detail::str_base base; public: str() {} str(const char* s) : base(s) {} str(char const* start, char const* finish) : base(start, finish) {} str(char const* start, std::size_t length) : base(start, length) {} template explicit str(T const& other) : base(object(other)) { } template str center(T const& width) const { return base::center(object(width)); } template long count(T const& sub) const { return base::count(object(sub)); } template long count(T1 const& sub,T2 const& start) const { return base::count(object(sub), object(start)); } template long count(T1 const& sub,T2 const& start, T3 const& end) const { return base::count(object(sub), object(start)); } object decode() const { return base::decode(); } template object decode(T const& encoding) const { return base::decode(object(encoding)); } template object decode(T1 const& encoding, T2 const& errors) const { return base::decode(object(encoding),object(errors)); } object encode() const { return base::encode(); } template object encode(T const& encoding) const { return base::encode(object(encoding)); } template object encode(T1 const& encoding, T2 const& errors) const { return base::encode(object(encoding),object(errors)); } template bool endswith(T const& suffix) const { return base::endswith(object(suffix)); } template bool endswith(T1 const& suffix, T2 const& start) const { return base::endswith(object(suffix), object(start)); } template bool endswith(T1 const& suffix, T2 const& start, T3 const& end) const { return base::endswith(object(suffix), object(start), object(end)); } str expandtabs() const { return base::expandtabs(); } template str expandtabs(T const& tabsize) const { return base::expandtabs(object(tabsize)); } template long find(T const& sub) const { return base::find(object(sub)); } template long find(T1 const& sub, T2 const& start) const { return base::find(object(sub), object(start)); } template long find(T1 const& sub, T2 const& start, T3 const& end) const { return base::find(object(sub), object(start), object(end)); } template long index(T const& sub) const { return base::index(object(sub)); } template long index(T1 const& sub, T2 const& start) const { return base::index(object(sub), object(start)); } template long index(T1 const& sub, T2 const& start, T3 const& end) const { return base::index(object(sub), object(start), object(end)); } template str join(T const& sequence) const { return base::join(object(sequence)); } template str ljust(T const& width) const { return base::ljust(object(width)); } template str replace(T1 const& old, T2 const& new_) const { return base::replace(object(old),object(new_)); } template str replace(T1 const& old, T2 const& new_, T3 const& maxsplit) const { return base::replace(object(old),object(new_), object(maxsplit)); } template long rfind(T const& sub) const { return base::rfind(object(sub)); } template long rfind(T1 const& sub, T2 const& start) const { return base::rfind(object(sub), object(start)); } template long rfind(T1 const& sub, T2 const& start, T3 const& end) const { return base::rfind(object(sub), object(start), object(end)); } template long rindex(T const& sub) const { return base::rindex(object(sub)); } template long rindex(T1 const& sub, T2 const& start) const { return base::rindex(object(sub), object(start)); } template long rindex(T1 const& sub, T2 const& start, T3 const& end) const { return base::rindex(object(sub), object(start), object(end)); } template str rjust(T const& width) const { return base::rjust(object(width)); } list split() const { return base::split(); } template list split(T const& sep) const { return base::split(object(sep)); } template list split(T1 const& sep, T2 const& maxsplit) const { return base::split(object(sep), object(maxsplit)); } list splitlines() const { return base::splitlines(); } template list splitlines(T const& keepends) const { return base::splitlines(object(keepends)); } template bool startswith(T const& prefix) const { return base::startswith(object(prefix)); } template bool startswith(T1 const& prefix, T2 const& start) const { return base::startswith(object(prefix), object(start)); } template bool startswith(T1 const& prefix, T2 const& start, T3 const& end) const { return base::startswith(object(prefix), object(start), object(end)); } template str translate(T const& table) const { return base::translate(object(table)); } template str translate(T1 const& table, T2 const& deletechars) const { return base::translate(object(table), object(deletechars)); } public: inline explicit str(python::detail::borrowed_reference p) : base(p) {} inline explicit str(python::detail::new_reference p) : base(p) {} inline explicit str(python::detail::new_non_null_reference p) : base(p) {} }; namespace converter { template <> struct object_manager_traits : pytype_object_manager_traits<&PyString_Type,str> { }; } }} # 10 "/usr/include/boost-1_42/boost/python/exec.hpp" 2 namespace boost { namespace python { object eval(str string, object global = object(), object local = object()); object exec_statement(str string, object global = object(), object local = object()); object exec(str string, object global = object(), object local = object()); object exec_file(str filename, object global = object(), object local = object()); } } # 30 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/implicit.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/implicit.hpp" # 1 "/usr/include/boost-1_42/boost/python/converter/implicit.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/converter/implicit.hpp" namespace boost { namespace python { namespace converter { template struct implicit { static void* convertible(PyObject* obj) { return implicit_rvalue_convertible_from_python(obj, registered::converters) ? obj : 0; } static void construct(PyObject* obj, rvalue_from_python_stage1_data* data) { void* storage = ((rvalue_from_python_storage*)data)->storage.bytes; arg_from_python get_source(obj); bool convertible = get_source.convertible(); ((void)(convertible)); new (storage) Target(get_source()); data->convertible = storage; } }; }}} # 11 "/usr/include/boost-1_42/boost/python/implicit.hpp" 2 namespace boost { namespace python { template void implicitly_convertible(boost::type* = 0, boost::type* = 0) { typedef converter::implicit functions; converter::registry::push_back( &functions::convertible , &functions::construct , type_id() , &converter::expected_from_python_type_direct::get_pytype ); } }} # 34 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/import.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/import.hpp" namespace boost { namespace python { object import(str name); } } # 36 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/iterator.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/iterator.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 22 "/usr/include/boost-1_42/boost/python/detail/target.hpp" namespace boost { namespace python { namespace detail { # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template void(* target(R (*)()) )() { return 0; } # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0)) )() { return 0; } # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1)) )() { return 0; } # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2)) )() { return 0; } # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3)) )() { return 0; } # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4)) )() { return 0; } # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5)) )() { return 0; } # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6)) )() { return 0; } # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)) )() { return 0; } # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)) )() { return 0; } # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)) )() { return 0; } # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10)) )() { return 0; } # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11)) )() { return 0; } # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12)) )() { return 0; } # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13)) )() { return 0; } # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 46 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template A0(* target(R (*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14)) )() { return 0; } # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 64 "/usr/include/boost-1_42/boost/python/detail/target.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)() ) )() { return 0; } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0) ) )() { return 0; } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1) ) )() { return 0; } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2) ) )() { return 0; } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3) ) )() { return 0; } # 66 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4) ) )() { return 0; } # 71 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5) ) )() { return 0; } # 76 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6) ) )() { return 0; } # 81 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) ) )() { return 0; } # 86 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) ) )() { return 0; } # 91 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) ) )() { return 0; } # 96 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10) ) )() { return 0; } # 101 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11) ) )() { return 0; } # 106 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12) ) )() { return 0; } # 111 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13) ) )() { return 0; } # 116 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14) ) )() { return 0; } # 121 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 65 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 2 # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 64 "/usr/include/boost-1_42/boost/python/detail/target.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)() const) )() { return 0; } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0) const) )() { return 0; } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1) const) )() { return 0; } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2) const) )() { return 0; } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3) const) )() { return 0; } # 66 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4) const) )() { return 0; } # 71 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5) const) )() { return 0; } # 76 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6) const) )() { return 0; } # 81 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const) )() { return 0; } # 86 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) const) )() { return 0; } # 91 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) const) )() { return 0; } # 96 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10) const) )() { return 0; } # 101 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11) const) )() { return 0; } # 106 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12) const) )() { return 0; } # 111 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13) const) )() { return 0; } # 116 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14) const) )() { return 0; } # 121 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 65 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 2 # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 64 "/usr/include/boost-1_42/boost/python/detail/target.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)() volatile) )() { return 0; } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0) volatile) )() { return 0; } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1) volatile) )() { return 0; } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2) volatile) )() { return 0; } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3) volatile) )() { return 0; } # 66 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4) volatile) )() { return 0; } # 71 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5) volatile) )() { return 0; } # 76 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6) volatile) )() { return 0; } # 81 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) volatile) )() { return 0; } # 86 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) volatile) )() { return 0; } # 91 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) volatile) )() { return 0; } # 96 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10) volatile) )() { return 0; } # 101 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11) volatile) )() { return 0; } # 106 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12) volatile) )() { return 0; } # 111 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13) volatile) )() { return 0; } # 116 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14) volatile) )() { return 0; } # 121 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 65 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 2 # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 64 "/usr/include/boost-1_42/boost/python/detail/target.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower2.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper2.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 45 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)() const volatile) )() { return 0; } # 46 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0) const volatile) )() { return 0; } # 51 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1) const volatile) )() { return 0; } # 56 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2) const volatile) )() { return 0; } # 61 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3) const volatile) )() { return 0; } # 66 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4) const volatile) )() { return 0; } # 71 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5) const volatile) )() { return 0; } # 76 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6) const volatile) )() { return 0; } # 81 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const volatile) )() { return 0; } # 86 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) const volatile) )() { return 0; } # 91 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) const volatile) )() { return 0; } # 96 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10) const volatile) )() { return 0; } # 101 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11) const volatile) )() { return 0; } # 106 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12) const volatile) )() { return 0; } # 111 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13) const volatile) )() { return 0; } # 116 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 1 # 69 "/usr/include/boost-1_42/boost/python/detail/target.hpp" template T& (* target(R (T::*)( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14) const volatile) )() { return 0; } # 121 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward2.hpp" 2 # 65 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 2 # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 31 "/usr/include/boost-1_42/boost/python/detail/target.hpp" 2 template T& (* target(R (T::*)) )() { return 0; } }}} # 11 "/usr/include/boost-1_42/boost/python/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/iterator.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/object/iterator.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/iterator_core.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/object/iterator_core.hpp" namespace boost { namespace python { namespace objects { object const& identity_function(); void stop_iteration_error(); }}} # 17 "/usr/include/boost-1_42/boost/python/object/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/class_detail.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/object/class_detail.hpp" namespace boost { namespace python { namespace objects { type_handle registered_class_object(type_info id); type_handle class_metatype(); type_handle class_type(); }}} # 18 "/usr/include/boost-1_42/boost/python/object/iterator.hpp" 2 # 31 "/usr/include/boost-1_42/boost/python/object/iterator.hpp" # 1 "/usr/include/boost-1_42/boost/detail/iterator.hpp" 1 # 77 "/usr/include/boost-1_42/boost/detail/iterator.hpp" namespace boost { namespace detail { template struct iterator_traits : std::iterator_traits {}; using std::distance; }} # 32 "/usr/include/boost-1_42/boost/python/object/iterator.hpp" 2 namespace boost { namespace python { namespace objects { typedef return_value_policy default_iterator_call_policies; template struct iterator_range { iterator_range(object sequence, Iterator start, Iterator finish); typedef boost::detail::iterator_traits traits_t; struct next { typedef typename mpl::if_< is_reference< typename traits_t::reference > , typename traits_t::reference , typename traits_t::value_type >::type result_type; result_type operator()(iterator_range& self) { if (self.m_start == self.m_finish) stop_iteration_error(); return *self.m_start++; } }; # 101 "/usr/include/boost-1_42/boost/python/object/iterator.hpp" typedef next next_fn; object m_sequence; Iterator m_start; Iterator m_finish; }; namespace detail { template object demand_iterator_class(char const* name, Iterator* = 0, NextPolicies const& policies = NextPolicies()) { typedef iterator_range range_; handle<> class_obj( objects::registered_class_object(python::type_id())); if (class_obj.get() != 0) return object(class_obj); typedef typename range_::next_fn next_fn; typedef typename next_fn::result_type result_type; return class_(name, no_init) .def("__iter__", identity_function()) .def( "next" , make_function( next_fn() , policies , mpl::vector2() )); } template < class Target , class Iterator , class Accessor1 , class Accessor2 , class NextPolicies > struct py_iter_ { py_iter_(Accessor1 const& get_start, Accessor2 const& get_finish) : m_get_start(get_start) , m_get_finish(get_finish) {} iterator_range operator()(back_reference x) const { detail::demand_iterator_class("iterator", (Iterator*)0, NextPolicies()); return iterator_range( x.source() , m_get_start(x.get()) , m_get_finish(x.get()) ); } private: Accessor1 m_get_start; Accessor2 m_get_finish; }; template inline object make_iterator_function( Accessor1 const& get_start , Accessor2 const& get_finish , NextPolicies const& , Iterator const& (*)() , boost::type* , int ) { return make_function( py_iter_(get_start, get_finish) , default_call_policies() , mpl::vector2, back_reference >() ); } template inline object make_iterator_function( Accessor1 const& get_start , Accessor2 const& get_finish , NextPolicies const& next_policies , Iterator& (*)() , boost::type* , ...) { return make_iterator_function( get_start , get_finish , next_policies , (Iterator const&(*)())0 , (boost::type*)0 , 0 ); } } template inline object make_iterator_function( Accessor1 const& get_start , Accessor2 const& get_finish , NextPolicies const& next_policies , boost::type* = 0 ) { typedef typename Accessor1::result_type iterator; typedef typename add_const::type iterator_const; typedef typename add_reference::type iterator_cref; return detail::make_iterator_function( get_start , get_finish , next_policies , (iterator_cref(*)())0 , (boost::type*)0 , 0 ); } template inline iterator_range::iterator_range( object sequence, Iterator start, Iterator finish) : m_sequence(sequence), m_start(start), m_finish(finish) { } }}} # 12 "/usr/include/boost-1_42/boost/python/iterator.hpp" 2 # 28 "/usr/include/boost-1_42/boost/python/iterator.hpp" # 1 "/usr/include/boost-1_42/boost/bind/protect.hpp" 1 # 18 "/usr/include/boost-1_42/boost/bind/protect.hpp" namespace boost { namespace _bi { template class protected_bind_t { public: typedef typename F::result_type result_type; explicit protected_bind_t(F f): f_(f) { } result_type operator()() { return f_(); } result_type operator()() const { return f_(); } template result_type operator()(A1 & a1) { return f_(a1); } template result_type operator()(A1 & a1) const { return f_(a1); } template result_type operator()(const A1 & a1) { return f_(a1); } template result_type operator()(const A1 & a1) const { return f_(a1); } template result_type operator()(A1 & a1, A2 & a2) { return f_(a1, a2); } template result_type operator()(A1 & a1, A2 & a2) const { return f_(a1, a2); } template result_type operator()(A1 const & a1, A2 & a2) { return f_(a1, a2); } template result_type operator()(A1 const & a1, A2 & a2) const { return f_(a1, a2); } template result_type operator()(A1 & a1, A2 const & a2) { return f_(a1, a2); } template result_type operator()(A1 & a1, A2 const & a2) const { return f_(a1, a2); } template result_type operator()(A1 const & a1, A2 const & a2) { return f_(a1, a2); } template result_type operator()(A1 const & a1, A2 const & a2) const { return f_(a1, a2); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3) { return f_(a1, a2, a3); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3) const { return f_(a1, a2, a3); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) { return f_(a1, a2, a3); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const { return f_(a1, a2, a3); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) { return f_(a1, a2, a3, a4); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const { return f_(a1, a2, a3, a4); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) { return f_(a1, a2, a3, a4); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const { return f_(a1, a2, a3, a4); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) { return f_(a1, a2, a3, a4, a5); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const { return f_(a1, a2, a3, a4, a5); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) { return f_(a1, a2, a3, a4, a5); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const { return f_(a1, a2, a3, a4, a5); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) { return f_(a1, a2, a3, a4, a5, a6); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const { return f_(a1, a2, a3, a4, a5, a6); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) { return f_(a1, a2, a3, a4, a5, a6); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const { return f_(a1, a2, a3, a4, a5, a6); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) { return f_(a1, a2, a3, a4, a5, a6, a7); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const { return f_(a1, a2, a3, a4, a5, a6, a7); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) { return f_(a1, a2, a3, a4, a5, a6, a7); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const { return f_(a1, a2, a3, a4, a5, a6, a7); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) { return f_(a1, a2, a3, a4, a5, a6, a7, a8); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const { return f_(a1, a2, a3, a4, a5, a6, a7, a8); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) { return f_(a1, a2, a3, a4, a5, a6, a7, a8); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const { return f_(a1, a2, a3, a4, a5, a6, a7, a8); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) { return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9); } template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const { return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) { return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9); } template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const { return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9); } private: F f_; }; } template _bi::protected_bind_t protect(F f) { return _bi::protected_bind_t(f); } } # 29 "/usr/include/boost-1_42/boost/python/iterator.hpp" 2 namespace boost { namespace python { namespace detail { template inline object make_iterator( Accessor1 get_start , Accessor2 get_finish , NextPolicies next_policies , Target&(*)() ) { return objects::make_iterator_function( boost::protect(boost::bind(get_start, _1)) , boost::protect(boost::bind(get_finish, _1)) , next_policies ); } template struct iterators_impl { template struct apply { typedef typename T::iterator iterator; static iterator begin(T& x) { return x.begin(); } static iterator end(T& x) { return x.end(); } }; }; template <> struct iterators_impl { template struct apply { typedef typename T::const_iterator iterator; static iterator begin(T& x) { return x.begin(); } static iterator end(T& x) { return x.end(); } }; }; } template struct iterators : detail::iterators_impl< boost::is_const::value >::template apply { }; template object range(Accessor1 start, Accessor2 finish) { return detail::make_iterator( start, finish , objects::default_iterator_call_policies() , detail::target(start) ); } template object range(Accessor1 start, Accessor2 finish, NextPolicies* = 0) { return detail::make_iterator(start, finish, NextPolicies(), detail::target(start)); } template object range(Accessor1 start, Accessor2 finish, NextPolicies* = 0, boost::type* = 0) { return detail::make_iterator(start, finish, NextPolicies(), (Target&(*)())0); } template struct iterator : object { iterator() : object( python::range( &iterators::begin, &iterators::end )) { } }; }} # 38 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/long.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/long.hpp" namespace boost { namespace python { namespace detail { struct long_base : object { protected: long_base(); explicit long_base(object_cref rhs); explicit long_base(object_cref rhs, object_cref base); inline explicit long_base(python::detail::borrowed_reference p) : object(p) {} inline explicit long_base(python::detail::new_reference p) : object(p) {} inline explicit long_base(python::detail::new_non_null_reference p) : object(p) {} private: static detail::new_non_null_reference call(object const&); static detail::new_non_null_reference call(object const&, object const&); }; } class long_ : public detail::long_base { typedef detail::long_base base; public: long_() {} template explicit long_(T const& rhs) : detail::long_base(object(rhs)) { } template explicit long_(T const& rhs, U const& base) : detail::long_base(object(rhs), object(base)) { } public: inline explicit long_(python::detail::borrowed_reference p) : base(p) {} inline explicit long_(python::detail::new_reference p) : base(p) {} inline explicit long_(python::detail::new_non_null_reference p) : base(p) {} }; namespace converter { template <> struct object_manager_traits : pytype_object_manager_traits<&PyLong_Type,long_> { }; } }} # 40 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/lvalue_from_pytype.hpp" 1 # 17 "/usr/include/boost-1_42/boost/python/lvalue_from_pytype.hpp" namespace boost { namespace python { namespace detail { template inline type_info extractor_type_id(T&(*)(U)) { return type_id(); } template struct normalized_extractor { static inline void* execute(PyObject* op) { typedef typename boost::add_reference::type param; return &Extractor::execute( boost::python::detail::void_ptr_to_reference( op, (param(*)())0 ) ); } }; template inline normalized_extractor normalize(T(*)(U), Extractor* = 0) { return normalized_extractor(); } } template struct extract_member { static MemberType& execute(InstanceType& c) { (void)(((PyObject*)(&c))->ob_type); return c.*member; } }; template struct extract_identity { static InstanceType& execute(InstanceType& c) { (void)(((PyObject*)(&c))->ob_type); return c; } }; template struct lvalue_from_pytype { lvalue_from_pytype() { converter::registry::insert ( &extract , detail::extractor_type_id(&Extractor::execute) , &get_pytype ); } private: static void* extract(PyObject* op) { return ((((PyObject*)(op))->ob_type) == (const_cast(python_type)) || PyType_IsSubtype((((PyObject*)(op))->ob_type), (const_cast(python_type)))) ? const_cast( static_cast( detail::normalize(&Extractor::execute).execute(op))) : 0 ; } static PyTypeObject const*get_pytype() { return python_type; } }; }} # 41 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/make_holder.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/object/pointer_holder.hpp" 1 # 17 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/caller.hpp" 1 # 20 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/push_front.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/push_front.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/push_front_impl.hpp" 1 # 26 "/usr/include/boost-1_42/boost/mpl/aux_/push_front_impl.hpp" namespace boost { namespace mpl { struct has_push_front_arg {}; template< typename Tag > struct push_front_impl { template< typename Sequence, typename T > struct apply { struct REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST; typedef struct REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST45 # 41 "/usr/include/boost-1_42/boost/mpl/aux_/push_front_impl.hpp" : boost::mpl::assert_ { static boost::mpl::failed ************ (REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST::************ assert_arg()) ( Sequence ) { return 0; } } mpl_assert_arg45 # 41 "/usr/include/boost-1_42/boost/mpl/aux_/push_front_impl.hpp" ; enum { mpl_assertion_in_line_45 = sizeof( boost::mpl::assertion_failed<(( boost::is_same< T, has_push_front_arg >::value ))>( mpl_assert_arg45::assert_arg() ) ) } ; }; }; template< typename Tag > struct has_push_front_impl { template< typename Seq > struct apply : aux::has_type< push_front< Seq, has_push_front_arg > > { }; }; template<> struct push_front_impl {}; template<> struct has_push_front_impl {}; }} # 19 "/usr/include/boost-1_42/boost/mpl/push_front.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na , typename T = na > struct push_front : push_front_impl< typename sequence_tag::type > ::template apply< Sequence,T > { }; template< typename Sequence = na > struct has_push_front : has_push_front_impl< typename sequence_tag::type > ::template apply< Sequence > { }; template<> struct push_front< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : push_front< T1 , T2 > { }; }; template< typename Tag > struct lambda< push_front< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef push_front< na , na > result_; typedef push_front< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< push_front< T1 , T2 > > : int_<2> { }; template<> struct template_arity< push_front< na , na > > : int_<-1> { }; } template<> struct has_push_front< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : has_push_front< T1 > { }; }; template< typename Tag > struct lambda< has_push_front< na > , Tag , int_<-1> > { typedef false_ is_le; typedef has_push_front< na > result_; typedef has_push_front< na > type; }; namespace aux { template< typename T1 > struct template_arity< has_push_front< T1 > > : int_<1> { }; template<> struct template_arity< has_push_front< na > > : int_<-1> { }; } }} # 25 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/pop_front.hpp" 1 # 18 "/usr/include/boost-1_42/boost/mpl/pop_front.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/pop_front_impl.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/pop_front_impl.hpp" namespace boost { namespace mpl { template< typename Tag > struct pop_front_impl { template< typename Sequence > struct apply ; }; template<> struct pop_front_impl {}; }} # 19 "/usr/include/boost-1_42/boost/mpl/pop_front.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct pop_front : pop_front_impl< typename sequence_tag::type > ::template apply< Sequence > { }; template<> struct pop_front< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : pop_front< T1 > { }; }; template< typename Tag > struct lambda< pop_front< na > , Tag , int_<-1> > { typedef false_ is_le; typedef pop_front< na > result_; typedef pop_front< na > type; }; namespace aux { template< typename T1 > struct template_arity< pop_front< T1 > > : int_<1> { }; template<> struct template_arity< pop_front< na > > : int_<-1> { }; } }} # 26 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" 2 namespace boost { namespace python { namespace detail { template struct install_holder : converter::context_result_converter { install_holder(PyObject* args_) : m_self(PyTuple_GetItem(args_, 0)) {} PyObject* operator()(T x) const { dispatch(x, is_pointer()); return none(); } private: template void dispatch(U* x, mpl::true_) const { std::auto_ptr owner(x); dispatch(owner, mpl::false_()); } template void dispatch(Ptr x, mpl::false_) const { typedef typename pointee::type value_type; typedef objects::pointer_holder holder; typedef objects::instance instance_t; void* memory = holder::allocate(this->m_self, __builtin_offsetof (instance_t, storage), sizeof(holder)); try { (new (memory) holder(x))->install(this->m_self); } catch(...) { holder::deallocate(this->m_self, memory); throw; } } PyObject* m_self; }; struct constructor_result_converter { template struct apply { typedef install_holder type; }; }; template struct offset_args { offset_args(BaseArgs base_) : base(base_) {} BaseArgs base; }; template inline PyObject* get(mpl::int_, offset_args const& args_) { return get(mpl::int_<(N+Offset::value)>(), args_.base); } template inline unsigned arity(offset_args const& args_) { return arity(args_.base) - Offset::value; } template struct constructor_policy : BasePolicy_ { constructor_policy(BasePolicy_ base) : BasePolicy_(base) {} # 115 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" struct MAKE_CONSTRUCTOR_SUPPLIES_ITS_OWN_RESULT_CONVERTER_THAT_WOULD_OVERRIDE_YOURS; typedef struct MAKE_CONSTRUCTOR_SUPPLIES_ITS_OWN_RESULT_CONVERTER_THAT_WOULD_OVERRIDE_YOURS122 # 115 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" : boost::mpl::assert_ { static boost::mpl::failed ************ (MAKE_CONSTRUCTOR_SUPPLIES_ITS_OWN_RESULT_CONVERTER_THAT_WOULD_OVERRIDE_YOURS::************ assert_arg()) (typename BasePolicy_::result_converter) { return 0; } } mpl_assert_arg122 # 115 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" ; enum { mpl_assertion_in_line_122 = sizeof( boost::mpl::assertion_failed<((is_same< typename BasePolicy_::result_converter , default_result_converter >::value))>( mpl_assert_arg122::assert_arg() ) ) } ; typedef constructor_result_converter result_converter; typedef offset_args > argument_package; }; template struct outer_constructor_signature { typedef typename mpl::pop_front::type inner_args; typedef typename mpl::push_front::type outer_args; typedef typename mpl::push_front::type type; }; template <> struct outer_constructor_signature { typedef int type; }; # 150 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" template object make_constructor_aux( F f , CallPolicies const& p , Sig const& ) { typedef typename outer_constructor_signature::type outer_signature; typedef constructor_policy inner_policy; return objects::function_object( objects::py_function( detail::caller(f, inner_policy(p)) , outer_signature() ) ); } template object make_constructor_aux( F f , CallPolicies const& p , Sig const& , detail::keyword_range const& kw , NumKeywords ) { enum { arity = mpl::size::value - 1 }; typedef typename detail::error::more_keywords_than_function_arguments< NumKeywords::value, arity >::too_many_keywords assertion; typedef typename outer_constructor_signature::type outer_signature; typedef constructor_policy inner_policy; return objects::function_object( objects::py_function( detail::caller(f, inner_policy(p)) , outer_signature() ) , kw ); } # 209 "/usr/include/boost-1_42/boost/python/make_constructor.hpp" template object make_constructor_dispatch(F f, CallPolicies const& policies, Keywords const& kw, mpl::true_) { return detail::make_constructor_aux( f , policies , detail::get_signature(f) , kw.range() , mpl::int_() ); } template object make_constructor_dispatch(F f, CallPolicies const& policies, Signature const& sig, mpl::false_) { return detail::make_constructor_aux( f , policies , sig ); } } template object make_constructor(F f) { return detail::make_constructor_aux( f,default_call_policies(), detail::get_signature(f)); } template object make_constructor(F f, CallPolicies const& policies) { return detail::make_constructor_aux( f, policies, detail::get_signature(f)); } template object make_constructor( F f , CallPolicies const& policies , KeywordsOrSignature const& keywords_or_signature) { typedef typename detail::is_reference_to_keywords::type is_kw; return detail::make_constructor_dispatch( f , policies , keywords_or_signature , is_kw() ); } template object make_constructor( F f , CallPolicies const& policies , Keywords const& kw , Signature const& sig ) { return detail::make_constructor_aux( f , policies , sig , kw.range() , mpl::int_() ); } }} # 42 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/manage_new_object.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/manage_new_object.hpp" namespace boost { namespace python { namespace detail { template struct manage_new_object_requires_a_pointer_return_type {} ; } struct manage_new_object { template struct apply { typedef typename mpl::if_c< boost::is_pointer::value , to_python_indirect , detail::manage_new_object_requires_a_pointer_return_type >::type type; }; }; }} # 44 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/module.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/module.hpp" # 1 "/usr/include/boost-1_42/boost/python/module_init.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/module_init.hpp" namespace boost { namespace python { namespace detail { PyObject* init_module(char const* name, void(*)()); }}} # 11 "/usr/include/boost-1_42/boost/python/module.hpp" 2 # 45 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/numeric.hpp" 1 # 18 "/usr/include/boost-1_42/boost/python/numeric.hpp" namespace boost { namespace python { namespace numeric { class array; namespace aux { struct array_base : object { # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 37 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" array_base( object const& x0); array_base( object const& x0 , object const& x1); array_base( object const& x0 , object const& x1 , object const& x2); array_base( object const& x0 , object const& x1 , object const& x2 , object const& x3); array_base( object const& x0 , object const& x1 , object const& x2 , object const& x3 , object const& x4); array_base( object const& x0 , object const& x1 , object const& x2 , object const& x3 , object const& x4 , object const& x5); array_base( object const& x0 , object const& x1 , object const& x2 , object const& x3 , object const& x4 , object const& x5 , object const& x6); # 30 "/usr/include/boost-1_42/boost/python/numeric.hpp" 2 object argmax(long axis=-1); object argmin(long axis=-1); object argsort(long axis=-1); object astype(object const& type = object()); void byteswap(); object copy() const; object diagonal(long offset = 0, long axis1 = 0, long axis2 = 1) const; void info() const; bool is_c_array() const; bool isbyteswapped() const; array new_(object type) const; void sort(); object trace(long offset = 0, long axis1 = 0, long axis2 = 1) const; object type() const; char typecode() const; object factory( object const& sequence = object() , object const& typecode = object() , bool copy = true , bool savespace = false , object type = object() , object shape = object()); object getflat() const; long getrank() const; object getshape() const; bool isaligned() const; bool iscontiguous() const; long itemsize() const; long nelements() const; object nonzero() const; void put(object const& indices, object const& values); void ravel(); object repeat(object const& repeats, long axis=0); void resize(object const& shape); void setflat(object const& flat); void setshape(object const& shape); void swapaxes(long axis1, long axis2); object take(object const& sequence, long axis = 0) const; void tofile(object const& file) const; str tostring() const; void transpose(object const& axes = object()); object view() const; public: inline explicit array_base(python::detail::borrowed_reference p) : object(p) {} inline explicit array_base(python::detail::new_reference p) : object(p) {} inline explicit array_base(python::detail::new_non_null_reference p) : object(p) {}; }; struct array_object_manager_traits { static bool check(PyObject* obj); static detail::new_non_null_reference adopt(PyObject* obj); static PyTypeObject const* get_pytype() ; }; } class array : public aux::array_base { typedef aux::array_base base; public: object astype() { return base::astype(); } template object astype(Type const& type_) { return base::astype(object(type_)); } template array new_(Type const& type_) const { return base::new_(object(type_)); } template void resize(Sequence const& x) { base::resize(object(x)); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 37 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" void resize( long x0) { resize(make_tuple( x0)); } void resize( long x0 , long x1) { resize(make_tuple( x0 , x1)); } void resize( long x0 , long x1 , long x2) { resize(make_tuple( x0 , x1 , x2)); } void resize( long x0 , long x1 , long x2 , long x3) { resize(make_tuple( x0 , x1 , x2 , x3)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4) { resize(make_tuple( x0 , x1 , x2 , x3 , x4)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10 , long x11) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10 , long x11 , long x12) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , x12)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10 , long x11 , long x12 , long x13) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , x12 , x13)); } void resize( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10 , long x11 , long x12 , long x13 , long x14) { resize(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , x12 , x13 , x14)); } # 131 "/usr/include/boost-1_42/boost/python/numeric.hpp" 2 template void setshape(Sequence const& x) { base::setshape(object(x)); } # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 37 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" void setshape( long x0) { setshape(make_tuple( x0)); } void setshape( long x0 , long x1) { setshape(make_tuple( x0 , x1)); } void setshape( long x0 , long x1 , long x2) { setshape(make_tuple( x0 , x1 , x2)); } void setshape( long x0 , long x1 , long x2 , long x3) { setshape(make_tuple( x0 , x1 , x2 , x3)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10 , long x11) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10 , long x11 , long x12) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , x12)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10 , long x11 , long x12 , long x13) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , x12 , x13)); } void setshape( long x0 , long x1 , long x2 , long x3 , long x4 , long x5 , long x6 , long x7 , long x8 , long x9 , long x10 , long x11 , long x12 , long x13 , long x14) { setshape(make_tuple( x0 , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , x12 , x13 , x14)); } # 145 "/usr/include/boost-1_42/boost/python/numeric.hpp" 2 template void put(Indices const& indices, Values const& values) { base::put(object(indices), object(values)); } template object take(Sequence const& sequence, long axis = 0) { return base::take(object(sequence), axis); } template void tofile(File const& f) const { base::tofile(object(f)); } object factory() { return base::factory(); } template object factory(Sequence const& sequence) { return base::factory(object(sequence)); } template object factory( Sequence const& sequence , Typecode const& typecode_ , bool copy = true , bool savespace = false ) { return base::factory(object(sequence), object(typecode_), copy, savespace); } template object factory( Sequence const& sequence , Typecode const& typecode_ , bool copy , bool savespace , Type const& type ) { return base::factory(object(sequence), object(typecode_), copy, savespace, object(type)); } template object factory( Sequence const& sequence , Typecode const& typecode_ , bool copy , bool savespace , Type const& type , Shape const& shape ) { return base::factory(object(sequence), object(typecode_), copy, savespace, object(type), object(shape)); } # 218 "/usr/include/boost-1_42/boost/python/numeric.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 37 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" template < class T0> explicit array( T0 const& x0) : base( object(x0)) {} template < class T0 , class T1> explicit array( T0 const& x0 , T1 const& x1) : base( object(x0) , object(x1)) {} template < class T0 , class T1 , class T2> explicit array( T0 const& x0 , T1 const& x1 , T2 const& x2) : base( object(x0) , object(x1) , object(x2)) {} template < class T0 , class T1 , class T2 , class T3> explicit array( T0 const& x0 , T1 const& x1 , T2 const& x2 , T3 const& x3) : base( object(x0) , object(x1) , object(x2) , object(x3)) {} template < class T0 , class T1 , class T2 , class T3 , class T4> explicit array( T0 const& x0 , T1 const& x1 , T2 const& x2 , T3 const& x3 , T4 const& x4) : base( object(x0) , object(x1) , object(x2) , object(x3) , object(x4)) {} template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5> explicit array( T0 const& x0 , T1 const& x1 , T2 const& x2 , T3 const& x3 , T4 const& x4 , T5 const& x5) : base( object(x0) , object(x1) , object(x2) , object(x3) , object(x4) , object(x5)) {} template < class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6> explicit array( T0 const& x0 , T1 const& x1 , T2 const& x2 , T3 const& x3 , T4 const& x4 , T5 const& x5 , T6 const& x6) : base( object(x0) , object(x1) , object(x2) , object(x3) , object(x4) , object(x5) , object(x6)) {} # 219 "/usr/include/boost-1_42/boost/python/numeric.hpp" 2 static void set_module_and_type(char const* package_name = 0, char const* type_attribute_name = 0); static std::string get_module_name(); public: inline explicit array(python::detail::borrowed_reference p) : base(p) {} inline explicit array(python::detail::new_reference p) : base(p) {} inline explicit array(python::detail::new_non_null_reference p) : base(p) {}; }; } namespace converter { template <> struct object_manager_traits< numeric::array > : numeric::aux::array_object_manager_traits { static const bool is_specialized = true; }; } }} # 46 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/opaque_pointer_converter.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/opaque_pointer_converter.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/dealloc.hpp" 1 namespace boost { namespace python { namespace detail { extern "C" { inline void dealloc(PyObject* self) { PyObject_Free(self); } } }}} # 16 "/usr/include/boost-1_42/boost/python/opaque_pointer_converter.hpp" 2 # 41 "/usr/include/boost-1_42/boost/python/opaque_pointer_converter.hpp" namespace boost { namespace python { template struct opaque { opaque() { if (type_object.tp_name == 0) { type_object.tp_name = const_cast(type_id().name()); if (PyType_Ready (&type_object) < 0) { throw error_already_set(); } this->register_self(); } } static opaque instance; private: static void* extract(PyObject* op) { return ((((PyObject*)(op))->ob_type) == (&type_object) || PyType_IsSubtype((((PyObject*)(op))->ob_type), (&type_object))) ? static_cast(implicit_cast(op))->x : 0 ; } static PyObject* wrap(void const* px) { Pointee* x = *static_cast(px); if (x == 0) return detail::none(); if ( python_instance *o = ( (python_instance *) _PyObject_New(&type_object) ) ) { o->x = x; return static_cast(implicit_cast(o)); } else { throw error_already_set(); } } void register_self() { converter::registration const *existing = converter::registry::query (type_id()); if ((existing == 0) || (existing->m_to_python == 0)) { converter::registry::insert(&extract, type_id(), &get_pytype); converter::registry::insert(&wrap, type_id(), &get_pytype); } } struct python_instance { Py_ssize_t ob_refcnt; struct _typeobject *ob_type; Pointee* x; }; static PyTypeObject type_object; static PyTypeObject const *get_pytype(){return &type_object; } }; template opaque opaque::instance; template PyTypeObject opaque::type_object = { 1, __null, 0, 0, sizeof( typename opaque::python_instance ), 0, ::boost::python::detail::dealloc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; }} # 50 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/operators.hpp" 1 # 17 "/usr/include/boost-1_42/boost/python/operators.hpp" # 1 "/usr/include/boost-1_42/boost/python/self.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/self.hpp" namespace boost { namespace python { namespace self_ns { struct self_t {}; extern self_t self; } using self_ns::self_t; using self_ns::self; }} # 18 "/usr/include/boost-1_42/boost/python/operators.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/other.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/other.hpp" namespace boost { namespace python { template struct other { typedef T type; }; namespace detail { template class is_other { public: static const bool value = false; }; template class is_other > { public: static const bool value = true; }; template class unwrap_other { public: typedef T type; }; template class unwrap_other > { public: typedef T type; }; } # 112 "/usr/include/boost-1_42/boost/python/other.hpp" }} # 19 "/usr/include/boost-1_42/boost/python/operators.hpp" 2 # 1 "/usr/include/boost-1_42/boost/lexical_cast.hpp" 1 # 17 "/usr/include/boost-1_42/boost/lexical_cast.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 2 3 # 18 "/usr/include/boost-1_42/boost/lexical_cast.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 19 "/usr/include/boost-1_42/boost/lexical_cast.hpp" 2 # 28 "/usr/include/boost-1_42/boost/lexical_cast.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/make_unsigned.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/make_unsigned.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/is_signed.hpp" 1 # 19 "/usr/include/boost-1_42/boost/type_traits/is_signed.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 20 "/usr/include/boost-1_42/boost/type_traits/is_signed.hpp" 2 namespace boost { namespace detail{ template struct is_signed_values { typedef typename remove_cv::type no_cv_t; static const no_cv_t minus_one = (static_cast(-1)); static const no_cv_t zero = (static_cast(0)); }; template struct is_signed_helper { typedef typename remove_cv::type no_cv_t; static const bool value = (!(::boost::detail::is_signed_values::minus_one > boost::detail::is_signed_values::zero)); }; template struct is_signed_select_helper { template struct rebind { typedef is_signed_helper type; }; }; template <> struct is_signed_select_helper { template struct rebind { typedef false_type type; }; }; template struct is_signed_imp { typedef is_signed_select_helper< ::boost::type_traits::ice_or< ::boost::is_integral::value, ::boost::is_enum::value>::value > selector; typedef typename selector::template rebind binder; typedef typename binder::type type; static const bool value = type::value; }; # 121 "/usr/include/boost-1_42/boost/type_traits/is_signed.hpp" } template< typename T > struct is_signed : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 134 "/usr/include/boost-1_42/boost/type_traits/is_signed.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/make_unsigned.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_unsigned.hpp" 1 # 19 "/usr/include/boost-1_42/boost/type_traits/is_unsigned.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 20 "/usr/include/boost-1_42/boost/type_traits/is_unsigned.hpp" 2 namespace boost { namespace detail{ template struct is_unsigned_values { typedef typename remove_cv::type no_cv_t; static const no_cv_t minus_one = (static_cast(-1)); static const no_cv_t zero = (static_cast(0)); }; template struct is_ununsigned_helper { static const bool value = (::boost::detail::is_unsigned_values::minus_one > ::boost::detail::is_unsigned_values::zero); }; template struct is_ununsigned_select_helper { template struct rebind { typedef is_ununsigned_helper type; }; }; template <> struct is_ununsigned_select_helper { template struct rebind { typedef false_type type; }; }; template struct is_unsigned_imp { typedef is_ununsigned_select_helper< ::boost::type_traits::ice_or< ::boost::is_integral::value, ::boost::is_enum::value>::value > selector; typedef typename selector::template rebind binder; typedef typename binder::type type; static const bool value = type::value; }; # 116 "/usr/include/boost-1_42/boost/type_traits/is_unsigned.hpp" } template< typename T > struct is_unsigned : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 129 "/usr/include/boost-1_42/boost/type_traits/is_unsigned.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/make_unsigned.hpp" 2 # 29 "/usr/include/boost-1_42/boost/type_traits/make_unsigned.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 30 "/usr/include/boost-1_42/boost/type_traits/make_unsigned.hpp" 2 namespace boost { namespace detail { template struct make_unsigned_imp { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (((::boost::type_traits::ice_or< ::boost::is_integral::value, ::boost::is_enum::value>::value)) == 0 ? false : true) >)> boost_static_assert_typedef_39; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (((::boost::type_traits::ice_not< ::boost::is_same< typename remove_cv::type, bool>::value>::value)) == 0 ? false : true) >)> boost_static_assert_typedef_43; typedef typename remove_cv::type t_no_cv; typedef typename mpl::if_c< (::boost::type_traits::ice_and< ::boost::is_unsigned::value, ::boost::is_integral::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value >::value), T, typename mpl::if_c< (::boost::type_traits::ice_and< ::boost::is_integral::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value> ::value), typename mpl::if_< is_same, unsigned char, typename mpl::if_< is_same, unsigned short, typename mpl::if_< is_same, unsigned int, typename mpl::if_< is_same, unsigned long, boost::ulong_long_type >::type >::type >::type >::type, typename mpl::if_c< sizeof(t_no_cv) == sizeof(unsigned char), unsigned char, typename mpl::if_c< sizeof(t_no_cv) == sizeof(unsigned short), unsigned short, typename mpl::if_c< sizeof(t_no_cv) == sizeof(unsigned int), unsigned int, typename mpl::if_c< sizeof(t_no_cv) == sizeof(unsigned long), unsigned long, boost::ulong_long_type >::type >::type >::type >::type >::type >::type base_integer_type; typedef typename mpl::if_< is_const, typename add_const::type, base_integer_type >::type const_base_integer_type; typedef typename mpl::if_< is_volatile, typename add_volatile::type, const_base_integer_type >::type type; }; } template< typename T > struct make_unsigned { typedef typename boost::detail::make_unsigned_imp::type type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 135 "/usr/include/boost-1_42/boost/type_traits/make_unsigned.hpp" 2 # 29 "/usr/include/boost-1_42/boost/lexical_cast.hpp" 2 # 1 "/usr/include/boost-1_42/boost/detail/lcast_precision.hpp" 1 # 11 "/usr/include/boost-1_42/boost/detail/lcast_precision.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/climits" 2 3 # 12 "/usr/include/boost-1_42/boost/detail/lcast_precision.hpp" 2 # 36 "/usr/include/boost-1_42/boost/detail/lcast_precision.hpp" namespace boost { namespace detail { class lcast_abstract_stub {}; template struct lcast_precision { typedef typename boost::mpl::if_< boost::is_abstract , std::numeric_limits , std::numeric_limits >::type limits; static const bool use_default_precision = !limits::is_specialized || limits::is_exact ; static const bool is_specialized_bin = !use_default_precision && limits::radix == 2 && limits::digits > 0 ; static const bool is_specialized_dec = !use_default_precision && limits::radix == 10 && limits::digits10 > 0 ; static const std::streamsize streamsize_max = boost::integer_traits::const_max ; static const unsigned int precision_dec = limits::digits10 + 1U; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((!is_specialized_dec || precision_dec <= streamsize_max + 0UL) == 0 ? false : true) >)> boost_static_assert_typedef_79; static const unsigned long precision_bin = 2UL + limits::digits * 30103UL / 100000UL ; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((!is_specialized_bin || (limits::digits + 0UL < (9223372036854775807L * 2UL + 1UL) / 30103UL && precision_bin > limits::digits10 + 0UL && precision_bin <= streamsize_max + 0UL)) == 0 ? false : true) >)> boost_static_assert_typedef_89; static const std::streamsize value = is_specialized_bin ? precision_bin : is_specialized_dec ? precision_dec : 6 ; }; template inline std::streamsize lcast_get_precision(T* = 0) { return lcast_precision::value; # 165 "/usr/include/boost-1_42/boost/detail/lcast_precision.hpp" } template inline void lcast_set_precision(std::ios_base& stream, T*) { stream.precision(lcast_get_precision()); } template inline void lcast_set_precision(std::ios_base& stream, Source*, Target*) { std::streamsize const s = lcast_get_precision((Source*)0); std::streamsize const t = lcast_get_precision((Target*)0); stream.precision(s > t ? s : t); } }} # 32 "/usr/include/boost-1_42/boost/lexical_cast.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/locale" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/locale" 3 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/locale" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ctime" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ctime" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ctime" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ctime" 2 3 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/ctime" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::clock_t; using ::time_t; using ::tm; using ::clock; using ::difftime; using ::mktime; using ::time; using ::asctime; using ::ctime; using ::gmtime; using ::localtime; using ::strftime; } # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 class time_base { public: enum dateorder { no_order, dmy, mdy, ymd, ydm }; }; template struct __timepunct_cache : public locale::facet { static const _CharT* _S_timezones[14]; const _CharT* _M_date_format; const _CharT* _M_date_era_format; const _CharT* _M_time_format; const _CharT* _M_time_era_format; const _CharT* _M_date_time_format; const _CharT* _M_date_time_era_format; const _CharT* _M_am; const _CharT* _M_pm; const _CharT* _M_am_pm_format; const _CharT* _M_day1; const _CharT* _M_day2; const _CharT* _M_day3; const _CharT* _M_day4; const _CharT* _M_day5; const _CharT* _M_day6; const _CharT* _M_day7; const _CharT* _M_aday1; const _CharT* _M_aday2; const _CharT* _M_aday3; const _CharT* _M_aday4; const _CharT* _M_aday5; const _CharT* _M_aday6; const _CharT* _M_aday7; const _CharT* _M_month01; const _CharT* _M_month02; const _CharT* _M_month03; const _CharT* _M_month04; const _CharT* _M_month05; const _CharT* _M_month06; const _CharT* _M_month07; const _CharT* _M_month08; const _CharT* _M_month09; const _CharT* _M_month10; const _CharT* _M_month11; const _CharT* _M_month12; const _CharT* _M_amonth01; const _CharT* _M_amonth02; const _CharT* _M_amonth03; const _CharT* _M_amonth04; const _CharT* _M_amonth05; const _CharT* _M_amonth06; const _CharT* _M_amonth07; const _CharT* _M_amonth08; const _CharT* _M_amonth09; const _CharT* _M_amonth10; const _CharT* _M_amonth11; const _CharT* _M_amonth12; bool _M_allocated; __timepunct_cache(size_t __refs = 0) : facet(__refs), _M_date_format(__null), _M_date_era_format(__null), _M_time_format(__null), _M_time_era_format(__null), _M_date_time_format(__null), _M_date_time_era_format(__null), _M_am(__null), _M_pm(__null), _M_am_pm_format(__null), _M_day1(__null), _M_day2(__null), _M_day3(__null), _M_day4(__null), _M_day5(__null), _M_day6(__null), _M_day7(__null), _M_aday1(__null), _M_aday2(__null), _M_aday3(__null), _M_aday4(__null), _M_aday5(__null), _M_aday6(__null), _M_aday7(__null), _M_month01(__null), _M_month02(__null), _M_month03(__null), _M_month04(__null), _M_month05(__null), _M_month06(__null), _M_month07(__null), _M_month08(__null), _M_month09(__null), _M_month10(__null), _M_month11(__null), _M_month12(__null), _M_amonth01(__null), _M_amonth02(__null), _M_amonth03(__null), _M_amonth04(__null), _M_amonth05(__null), _M_amonth06(__null), _M_amonth07(__null), _M_amonth08(__null), _M_amonth09(__null), _M_amonth10(__null), _M_amonth11(__null), _M_amonth12(__null), _M_allocated(false) { } ~__timepunct_cache(); void _M_cache(const locale& __loc); private: __timepunct_cache& operator=(const __timepunct_cache&); explicit __timepunct_cache(const __timepunct_cache&); }; template __timepunct_cache<_CharT>::~__timepunct_cache() { if (_M_allocated) { } } template<> const char* __timepunct_cache::_S_timezones[14]; template<> const wchar_t* __timepunct_cache::_S_timezones[14]; template const _CharT* __timepunct_cache<_CharT>::_S_timezones[14]; template class __timepunct : public locale::facet { public: typedef _CharT __char_type; typedef basic_string<_CharT> __string_type; typedef __timepunct_cache<_CharT> __cache_type; protected: __cache_type* _M_data; __c_locale _M_c_locale_timepunct; const char* _M_name_timepunct; public: static locale::id id; explicit __timepunct(size_t __refs = 0); explicit __timepunct(__cache_type* __cache, size_t __refs = 0); # 208 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0); void _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format, const tm* __tm) const throw (); void _M_date_formats(const _CharT** __date) const { __date[0] = _M_data->_M_date_format; __date[1] = _M_data->_M_date_era_format; } void _M_time_formats(const _CharT** __time) const { __time[0] = _M_data->_M_time_format; __time[1] = _M_data->_M_time_era_format; } void _M_date_time_formats(const _CharT** __dt) const { __dt[0] = _M_data->_M_date_time_format; __dt[1] = _M_data->_M_date_time_era_format; } void _M_am_pm_format(const _CharT* __ampm) const { __ampm = _M_data->_M_am_pm_format; } void _M_am_pm(const _CharT** __ampm) const { __ampm[0] = _M_data->_M_am; __ampm[1] = _M_data->_M_pm; } void _M_days(const _CharT** __days) const { __days[0] = _M_data->_M_day1; __days[1] = _M_data->_M_day2; __days[2] = _M_data->_M_day3; __days[3] = _M_data->_M_day4; __days[4] = _M_data->_M_day5; __days[5] = _M_data->_M_day6; __days[6] = _M_data->_M_day7; } void _M_days_abbreviated(const _CharT** __days) const { __days[0] = _M_data->_M_aday1; __days[1] = _M_data->_M_aday2; __days[2] = _M_data->_M_aday3; __days[3] = _M_data->_M_aday4; __days[4] = _M_data->_M_aday5; __days[5] = _M_data->_M_aday6; __days[6] = _M_data->_M_aday7; } void _M_months(const _CharT** __months) const { __months[0] = _M_data->_M_month01; __months[1] = _M_data->_M_month02; __months[2] = _M_data->_M_month03; __months[3] = _M_data->_M_month04; __months[4] = _M_data->_M_month05; __months[5] = _M_data->_M_month06; __months[6] = _M_data->_M_month07; __months[7] = _M_data->_M_month08; __months[8] = _M_data->_M_month09; __months[9] = _M_data->_M_month10; __months[10] = _M_data->_M_month11; __months[11] = _M_data->_M_month12; } void _M_months_abbreviated(const _CharT** __months) const { __months[0] = _M_data->_M_amonth01; __months[1] = _M_data->_M_amonth02; __months[2] = _M_data->_M_amonth03; __months[3] = _M_data->_M_amonth04; __months[4] = _M_data->_M_amonth05; __months[5] = _M_data->_M_amonth06; __months[6] = _M_data->_M_amonth07; __months[7] = _M_data->_M_amonth08; __months[8] = _M_data->_M_amonth09; __months[9] = _M_data->_M_amonth10; __months[10] = _M_data->_M_amonth11; __months[11] = _M_data->_M_amonth12; } protected: virtual ~__timepunct(); void _M_initialize_timepunct(__c_locale __cloc = __null); }; template locale::id __timepunct<_CharT>::id; template<> void __timepunct::_M_initialize_timepunct(__c_locale __cloc); template<> void __timepunct::_M_put(char*, size_t, const char*, const tm*) const throw (); template<> void __timepunct::_M_initialize_timepunct(__c_locale __cloc); template<> void __timepunct::_M_put(wchar_t*, size_t, const wchar_t*, const tm*) const throw (); } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/time_members.h" 1 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/time_members.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template __timepunct<_CharT>::__timepunct(size_t __refs) : facet(__refs), _M_data(__null), _M_c_locale_timepunct(__null), _M_name_timepunct(_S_get_c_name()) { _M_initialize_timepunct(); } template __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs) : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(__null), _M_name_timepunct(_S_get_c_name()) { _M_initialize_timepunct(); } template __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s, size_t __refs) : facet(__refs), _M_data(__null), _M_c_locale_timepunct(__null), _M_name_timepunct(__null) { if (__builtin_strcmp(__s, _S_get_c_name()) != 0) { const size_t __len = __builtin_strlen(__s) + 1; char* __tmp = new char[__len]; __builtin_memcpy(__tmp, __s, __len); _M_name_timepunct = __tmp; } else _M_name_timepunct = _S_get_c_name(); try { _M_initialize_timepunct(__cloc); } catch(...) { if (_M_name_timepunct != _S_get_c_name()) delete [] _M_name_timepunct; throw; } } template __timepunct<_CharT>::~__timepunct() { if (_M_name_timepunct != _S_get_c_name()) delete [] _M_name_timepunct; delete _M_data; _S_destroy_c_locale(_M_c_locale_timepunct); } } # 346 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 362 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 template class time_get : public locale::facet, public time_base { public: typedef _CharT char_type; typedef _InIter iter_type; typedef basic_string<_CharT> __string_type; static locale::id id; # 384 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit time_get(size_t __refs = 0) : facet (__refs) { } # 401 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 dateorder date_order() const { return this->do_date_order(); } # 425 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type get_time(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_time(__beg, __end, __io, __err, __tm); } # 450 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type get_date(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_date(__beg, __end, __io, __err, __tm); } # 478 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type get_weekday(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_weekday(__beg, __end, __io, __err, __tm); } # 507 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type get_monthname(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_monthname(__beg, __end, __io, __err, __tm); } # 533 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type get_year(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_year(__beg, __end, __io, __err, __tm); } protected: virtual ~time_get() { } # 553 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual dateorder do_date_order() const; # 571 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_time(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const; # 590 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_date(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const; # 609 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_weekday(iter_type __beg, iter_type __end, ios_base&, ios_base::iostate& __err, tm* __tm) const; # 628 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_monthname(iter_type __beg, iter_type __end, ios_base&, ios_base::iostate& __err, tm* __tm) const; # 647 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_year(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const; iter_type _M_extract_num(iter_type __beg, iter_type __end, int& __member, int __min, int __max, size_t __len, ios_base& __io, ios_base::iostate& __err) const; iter_type _M_extract_name(iter_type __beg, iter_type __end, int& __member, const _CharT** __names, size_t __indexlen, ios_base& __io, ios_base::iostate& __err) const; iter_type _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member, const _CharT** __names, size_t __indexlen, ios_base& __io, ios_base::iostate& __err) const; iter_type _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm, const _CharT* __format) const; }; template locale::id time_get<_CharT, _InIter>::id; template class time_get_byname : public time_get<_CharT, _InIter> { public: typedef _CharT char_type; typedef _InIter iter_type; explicit time_get_byname(const char*, size_t __refs = 0) : time_get<_CharT, _InIter>(__refs) { } protected: virtual ~time_get_byname() { } }; # 709 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 template class time_put : public locale::facet { public: typedef _CharT char_type; typedef _OutIter iter_type; static locale::id id; # 730 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit time_put(size_t __refs = 0) : facet(__refs) { } # 749 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, const _CharT* __beg, const _CharT* __end) const; # 769 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, char __format, char __mod = 0) const { return this->do_put(__s, __io, __fill, __tm, __format, __mod); } protected: virtual ~time_put() { } # 796 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, char __format, char __mod) const; }; template locale::id time_put<_CharT, _OutIter>::id; template class time_put_byname : public time_put<_CharT, _OutIter> { public: typedef _CharT char_type; typedef _OutIter iter_type; explicit time_put_byname(const char*, size_t __refs = 0) : time_put<_CharT, _OutIter>(__refs) { }; protected: virtual ~time_put_byname() { } }; # 835 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 class money_base { public: enum part { none, space, symbol, sign, value }; struct pattern { char field[4]; }; static const pattern _S_default_pattern; enum { _S_minus, _S_zero, _S_end = 11 }; static const char* _S_atoms; __attribute__ ((__const__)) static pattern _S_construct_pattern(char __precedes, char __space, char __posn) throw (); }; template struct __moneypunct_cache : public locale::facet { const char* _M_grouping; size_t _M_grouping_size; bool _M_use_grouping; _CharT _M_decimal_point; _CharT _M_thousands_sep; const _CharT* _M_curr_symbol; size_t _M_curr_symbol_size; const _CharT* _M_positive_sign; size_t _M_positive_sign_size; const _CharT* _M_negative_sign; size_t _M_negative_sign_size; int _M_frac_digits; money_base::pattern _M_pos_format; money_base::pattern _M_neg_format; _CharT _M_atoms[money_base::_S_end]; bool _M_allocated; __moneypunct_cache(size_t __refs = 0) : facet(__refs), _M_grouping(__null), _M_grouping_size(0), _M_use_grouping(false), _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()), _M_curr_symbol(__null), _M_curr_symbol_size(0), _M_positive_sign(__null), _M_positive_sign_size(0), _M_negative_sign(__null), _M_negative_sign_size(0), _M_frac_digits(0), _M_pos_format(money_base::pattern()), _M_neg_format(money_base::pattern()), _M_allocated(false) { } ~__moneypunct_cache(); void _M_cache(const locale& __loc); private: __moneypunct_cache& operator=(const __moneypunct_cache&); explicit __moneypunct_cache(const __moneypunct_cache&); }; template __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache() { if (_M_allocated) { delete [] _M_grouping; delete [] _M_curr_symbol; delete [] _M_positive_sign; delete [] _M_negative_sign; } } # 928 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 template class moneypunct : public locale::facet, public money_base { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; typedef __moneypunct_cache<_CharT, _Intl> __cache_type; private: __cache_type* _M_data; public: static const bool intl = _Intl; static locale::id id; # 957 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit moneypunct(size_t __refs = 0) : facet(__refs), _M_data(__null) { _M_initialize_moneypunct(); } # 969 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit moneypunct(__cache_type* __cache, size_t __refs = 0) : facet(__refs), _M_data(__cache) { _M_initialize_moneypunct(); } # 984 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0) : facet(__refs), _M_data(__null) { _M_initialize_moneypunct(__cloc, __s); } # 998 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 char_type decimal_point() const { return this->do_decimal_point(); } # 1011 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 char_type thousands_sep() const { return this->do_thousands_sep(); } # 1041 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 string grouping() const { return this->do_grouping(); } # 1054 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 string_type curr_symbol() const { return this->do_curr_symbol(); } # 1071 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 string_type positive_sign() const { return this->do_positive_sign(); } # 1088 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 string_type negative_sign() const { return this->do_negative_sign(); } # 1104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 int frac_digits() const { return this->do_frac_digits(); } # 1140 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 pattern pos_format() const { return this->do_pos_format(); } pattern neg_format() const { return this->do_neg_format(); } protected: virtual ~moneypunct(); # 1162 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual char_type do_decimal_point() const { return _M_data->_M_decimal_point; } # 1174 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual char_type do_thousands_sep() const { return _M_data->_M_thousands_sep; } # 1187 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual string do_grouping() const { return _M_data->_M_grouping; } # 1200 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual string_type do_curr_symbol() const { return _M_data->_M_curr_symbol; } # 1213 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual string_type do_positive_sign() const { return _M_data->_M_positive_sign; } # 1226 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual string_type do_negative_sign() const { return _M_data->_M_negative_sign; } # 1240 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual int do_frac_digits() const { return _M_data->_M_frac_digits; } # 1254 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual pattern do_pos_format() const { return _M_data->_M_pos_format; } # 1268 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual pattern do_neg_format() const { return _M_data->_M_neg_format; } void _M_initialize_moneypunct(__c_locale __cloc = __null, const char* __name = __null); }; template locale::id moneypunct<_CharT, _Intl>::id; template const bool moneypunct<_CharT, _Intl>::intl; template<> moneypunct::~moneypunct(); template<> moneypunct::~moneypunct(); template<> void moneypunct::_M_initialize_moneypunct(__c_locale, const char*); template<> void moneypunct::_M_initialize_moneypunct(__c_locale, const char*); template<> moneypunct::~moneypunct(); template<> moneypunct::~moneypunct(); template<> void moneypunct::_M_initialize_moneypunct(__c_locale, const char*); template<> void moneypunct::_M_initialize_moneypunct(__c_locale, const char*); template class moneypunct_byname : public moneypunct<_CharT, _Intl> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; static const bool intl = _Intl; explicit moneypunct_byname(const char* __s, size_t __refs = 0) : moneypunct<_CharT, _Intl>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { __c_locale __tmp; this->_S_create_c_locale(__tmp, __s); this->_M_initialize_moneypunct(__tmp); this->_S_destroy_c_locale(__tmp); } } protected: virtual ~moneypunct_byname() { } }; template const bool moneypunct_byname<_CharT, _Intl>::intl; # 1363 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 template class money_get : public locale::facet { public: typedef _CharT char_type; typedef _InIter iter_type; typedef basic_string<_CharT> string_type; static locale::id id; # 1385 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit money_get(size_t __refs = 0) : facet(__refs) { } # 1415 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, long double& __units) const { return this->do_get(__s, __end, __intl, __io, __err, __units); } # 1446 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, string_type& __digits) const { return this->do_get(__s, __end, __intl, __io, __err, __digits); } protected: virtual ~money_get() { } # 1469 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, long double& __units) const; # 1481 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, string_type& __digits) const; # 1492 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 template iter_type _M_extract(iter_type __s, iter_type __end, ios_base& __io, ios_base::iostate& __err, string& __digits) const; }; template locale::id money_get<_CharT, _InIter>::id; # 1514 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 template class money_put : public locale::facet { public: typedef _CharT char_type; typedef _OutIter iter_type; typedef basic_string<_CharT> string_type; static locale::id id; # 1535 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit money_put(size_t __refs = 0) : facet(__refs) { } # 1555 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, long double __units) const { return this->do_put(__s, __intl, __io, __fill, __units); } # 1578 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 iter_type put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, const string_type& __digits) const { return this->do_put(__s, __intl, __io, __fill, __digits); } protected: virtual ~money_put() { } # 1612 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, long double __units) const; # 1636 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, const string_type& __digits) const; # 1647 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 template iter_type _M_insert(iter_type __s, ios_base& __io, char_type __fill, const string_type& __digits) const; }; template locale::id money_put<_CharT, _OutIter>::id; struct messages_base { typedef int catalog; }; # 1688 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 template class messages : public locale::facet, public messages_base { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; protected: __c_locale _M_c_locale_messages; const char* _M_name_messages; public: static locale::id id; # 1716 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit messages(size_t __refs = 0); # 1730 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 explicit messages(__c_locale __cloc, const char* __s, size_t __refs = 0); # 1743 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 catalog open(const basic_string& __s, const locale& __loc) const { return this->do_open(__s, __loc); } # 1761 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 catalog open(const basic_string&, const locale&, const char*) const; # 1779 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 string_type get(catalog __c, int __set, int __msgid, const string_type& __s) const { return this->do_get(__c, __set, __msgid, __s); } # 1790 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 void close(catalog __c) const { return this->do_close(__c); } protected: virtual ~messages(); # 1810 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual catalog do_open(const basic_string&, const locale&) const; # 1829 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 virtual string_type do_get(catalog, int, int, const string_type& __dfault) const; virtual void do_close(catalog) const; char* _M_convert_to_char(const string_type& __msg) const { return reinterpret_cast(const_cast<_CharT*>(__msg.c_str())); } string_type _M_convert_from_char(char*) const { # 1886 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 3 return string_type(); } }; template locale::id messages<_CharT>::id; template<> string messages::do_get(catalog, int, int, const string&) const; template<> wstring messages::do_get(catalog, int, int, const wstring&) const; template class messages_byname : public messages<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit messages_byname(const char* __s, size_t __refs = 0); protected: virtual ~messages_byname() { } }; } # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h" 3 # 1 "/usr/include/libintl.h" 1 3 4 # 35 "/usr/include/libintl.h" 3 4 extern "C" { extern char *gettext (__const char *__msgid) throw () __attribute__ ((__format_arg__ (1))); extern char *dgettext (__const char *__domainname, __const char *__msgid) throw () __attribute__ ((__format_arg__ (2))); extern char *__dgettext (__const char *__domainname, __const char *__msgid) throw () __attribute__ ((__format_arg__ (2))); extern char *dcgettext (__const char *__domainname, __const char *__msgid, int __category) throw () __attribute__ ((__format_arg__ (2))); extern char *__dcgettext (__const char *__domainname, __const char *__msgid, int __category) throw () __attribute__ ((__format_arg__ (2))); extern char *ngettext (__const char *__msgid1, __const char *__msgid2, unsigned long int __n) throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); extern char *dngettext (__const char *__domainname, __const char *__msgid1, __const char *__msgid2, unsigned long int __n) throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *dcngettext (__const char *__domainname, __const char *__msgid1, __const char *__msgid2, unsigned long int __n, int __category) throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *textdomain (__const char *__domainname) throw (); extern char *bindtextdomain (__const char *__domainname, __const char *__dirname) throw (); extern char *bind_textdomain_codeset (__const char *__domainname, __const char *__codeset) throw (); # 122 "/usr/include/libintl.h" 3 4 } # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template messages<_CharT>::messages(size_t __refs) : facet(__refs), _M_c_locale_messages(_S_get_c_locale()), _M_name_messages(_S_get_c_name()) { } template messages<_CharT>::messages(__c_locale __cloc, const char* __s, size_t __refs) : facet(__refs), _M_c_locale_messages(__null), _M_name_messages(__null) { if (__builtin_strcmp(__s, _S_get_c_name()) != 0) { const size_t __len = __builtin_strlen(__s) + 1; char* __tmp = new char[__len]; __builtin_memcpy(__tmp, __s, __len); _M_name_messages = __tmp; } else _M_name_messages = _S_get_c_name(); _M_c_locale_messages = _S_clone_c_locale(__cloc); } template typename messages<_CharT>::catalog messages<_CharT>::open(const basic_string& __s, const locale& __loc, const char* __dir) const { bindtextdomain(__s.c_str(), __dir); return this->do_open(__s, __loc); } template messages<_CharT>::~messages() { if (_M_name_messages != _S_get_c_name()) delete [] _M_name_messages; _S_destroy_c_locale(_M_c_locale_messages); } template typename messages<_CharT>::catalog messages<_CharT>::do_open(const basic_string& __s, const locale&) const { textdomain(__s.c_str()); return 0; } template void messages<_CharT>::do_close(catalog) const { } template messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs) : messages<_CharT>(__refs) { if (this->_M_name_messages != locale::facet::_S_get_c_name()) { delete [] this->_M_name_messages; if (__builtin_strcmp(__s, locale::facet::_S_get_c_name()) != 0) { const size_t __len = __builtin_strlen(__s) + 1; char* __tmp = new char[__len]; __builtin_memcpy(__tmp, __s, __len); this->_M_name_messages = __tmp; } else this->_M_name_messages = locale::facet::_S_get_c_name(); } if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { this->_S_destroy_c_locale(this->_M_c_locale_messages); this->_S_create_c_locale(this->_M_c_locale_messages, __s); } } } # 1925 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 1 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { class codecvt_base { public: enum result { ok, partial, error, noconv }; }; # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 3 template class __codecvt_abstract_base : public locale::facet, public codecvt_base { public: typedef codecvt_base::result result; typedef _InternT intern_type; typedef _ExternT extern_type; typedef _StateT state_type; # 114 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 3 result out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const { return this->do_out(__state, __from, __from_end, __from_next, __to, __to_end, __to_next); } # 153 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 3 result unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const { return this->do_unshift(__state, __to,__to_end,__to_next); } # 194 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 3 result in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const { return this->do_in(__state, __from, __from_end, __from_next, __to, __to_end, __to_next); } int encoding() const throw() { return this->do_encoding(); } bool always_noconv() const throw() { return this->do_always_noconv(); } int length(state_type& __state, const extern_type* __from, const extern_type* __end, size_t __max) const { return this->do_length(__state, __from, __end, __max); } int max_length() const throw() { return this->do_max_length(); } protected: explicit __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { } virtual ~__codecvt_abstract_base() { } # 235 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 3 virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const = 0; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const = 0; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const = 0; virtual int do_encoding() const throw() = 0; virtual bool do_always_noconv() const throw() = 0; virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const = 0; virtual int do_max_length() const throw() = 0; }; # 274 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/codecvt.h" 3 template class codecvt : public __codecvt_abstract_base<_InternT, _ExternT, _StateT> { public: typedef codecvt_base::result result; typedef _InternT intern_type; typedef _ExternT extern_type; typedef _StateT state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0) : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs) { } explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt() { } virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template locale::id codecvt<_InternT, _ExternT, _StateT>::id; template<> class codecvt : public __codecvt_abstract_base { public: typedef char intern_type; typedef char extern_type; typedef mbstate_t state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0); explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt(); virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template<> class codecvt : public __codecvt_abstract_base { public: typedef wchar_t intern_type; typedef char extern_type; typedef mbstate_t state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0); explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt(); virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT> { public: explicit codecvt_byname(const char* __s, size_t __refs = 0) : codecvt<_InternT, _ExternT, _StateT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { this->_S_destroy_c_locale(this->_M_c_locale_codecvt); this->_S_create_c_locale(this->_M_c_locale_codecvt, __s); } } protected: virtual ~codecvt_byname() { } }; extern template class codecvt_byname; extern template const codecvt& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class codecvt_byname; extern template const codecvt& use_facet >(const locale&); extern template bool has_facet >(const locale&); } # 1928 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.tcc" 1 3 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.tcc" 3 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __use_cache<__moneypunct_cache<_CharT, _Intl> > { const __moneypunct_cache<_CharT, _Intl>* operator() (const locale& __loc) const { const size_t __i = moneypunct<_CharT, _Intl>::id._M_id(); const locale::facet** __caches = __loc._M_impl->_M_caches; if (!__caches[__i]) { __moneypunct_cache<_CharT, _Intl>* __tmp = __null; try { __tmp = new __moneypunct_cache<_CharT, _Intl>; __tmp->_M_cache(__loc); } catch(...) { delete __tmp; throw; } __loc._M_impl->_M_install_cache(__tmp, __i); } return static_cast< const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]); } }; template void __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc) { _M_allocated = true; const moneypunct<_CharT, _Intl>& __mp = use_facet >(__loc); _M_decimal_point = __mp.decimal_point(); _M_thousands_sep = __mp.thousands_sep(); _M_frac_digits = __mp.frac_digits(); char* __grouping = 0; _CharT* __curr_symbol = 0; _CharT* __positive_sign = 0; _CharT* __negative_sign = 0; try { _M_grouping_size = __mp.grouping().size(); __grouping = new char[_M_grouping_size]; __mp.grouping().copy(__grouping, _M_grouping_size); _M_grouping = __grouping; _M_use_grouping = (_M_grouping_size && static_cast(_M_grouping[0]) > 0 && (_M_grouping[0] != __gnu_cxx::__numeric_traits::__max)); _M_curr_symbol_size = __mp.curr_symbol().size(); __curr_symbol = new _CharT[_M_curr_symbol_size]; __mp.curr_symbol().copy(__curr_symbol, _M_curr_symbol_size); _M_curr_symbol = __curr_symbol; _M_positive_sign_size = __mp.positive_sign().size(); __positive_sign = new _CharT[_M_positive_sign_size]; __mp.positive_sign().copy(__positive_sign, _M_positive_sign_size); _M_positive_sign = __positive_sign; _M_negative_sign_size = __mp.negative_sign().size(); __negative_sign = new _CharT[_M_negative_sign_size]; __mp.negative_sign().copy(__negative_sign, _M_negative_sign_size); _M_negative_sign = __negative_sign; _M_pos_format = __mp.pos_format(); _M_neg_format = __mp.neg_format(); const ctype<_CharT>& __ct = use_facet >(__loc); __ct.widen(money_base::_S_atoms, money_base::_S_atoms + money_base::_S_end, _M_atoms); } catch(...) { delete [] __grouping; delete [] __curr_symbol; delete [] __positive_sign; delete [] __negative_sign; throw; } } template template _InIter money_get<_CharT, _InIter>:: _M_extract(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, string& __units) const { typedef char_traits<_CharT> __traits_type; typedef typename string_type::size_type size_type; typedef money_base::part part; typedef __moneypunct_cache<_CharT, _Intl> __cache_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); __use_cache<__cache_type> __uc; const __cache_type* __lc = __uc(__loc); const char_type* __lit = __lc->_M_atoms; bool __negative = false; size_type __sign_size = 0; const bool __mandatory_sign = (__lc->_M_positive_sign_size && __lc->_M_negative_sign_size); string __grouping_tmp; if (__lc->_M_use_grouping) __grouping_tmp.reserve(32); int __last_pos = 0; int __n = 0; bool __testvalid = true; bool __testdecfound = false; string __res; __res.reserve(32); const char_type* __lit_zero = __lit + money_base::_S_zero; const money_base::pattern __p = __lc->_M_neg_format; for (int __i = 0; __i < 4 && __testvalid; ++__i) { const part __which = static_cast(__p.field[__i]); switch (__which) { case money_base::symbol: if (__io.flags() & ios_base::showbase || __sign_size > 1 || __i == 0 || (__i == 1 && (__mandatory_sign || (static_cast(__p.field[0]) == money_base::sign) || (static_cast(__p.field[2]) == money_base::space))) || (__i == 2 && ((static_cast(__p.field[3]) == money_base::value) || (__mandatory_sign && (static_cast(__p.field[3]) == money_base::sign))))) { const size_type __len = __lc->_M_curr_symbol_size; size_type __j = 0; for (; __beg != __end && __j < __len && *__beg == __lc->_M_curr_symbol[__j]; ++__beg, ++__j); if (__j != __len && (__j || __io.flags() & ios_base::showbase)) __testvalid = false; } break; case money_base::sign: if (__lc->_M_positive_sign_size && __beg != __end && *__beg == __lc->_M_positive_sign[0]) { __sign_size = __lc->_M_positive_sign_size; ++__beg; } else if (__lc->_M_negative_sign_size && __beg != __end && *__beg == __lc->_M_negative_sign[0]) { __negative = true; __sign_size = __lc->_M_negative_sign_size; ++__beg; } else if (__lc->_M_positive_sign_size && !__lc->_M_negative_sign_size) __negative = true; else if (__mandatory_sign) __testvalid = false; break; case money_base::value: for (; __beg != __end; ++__beg) { const char_type __c = *__beg; const char_type* __q = __traits_type::find(__lit_zero, 10, __c); if (__q != 0) { __res += money_base::_S_atoms[__q - __lit]; ++__n; } else if (__c == __lc->_M_decimal_point && !__testdecfound) { if (__lc->_M_frac_digits <= 0) break; __last_pos = __n; __n = 0; __testdecfound = true; } else if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep && !__testdecfound) { if (__n) { __grouping_tmp += static_cast(__n); __n = 0; } else { __testvalid = false; break; } } else break; } if (__res.empty()) __testvalid = false; break; case money_base::space: if (__beg != __end && __ctype.is(ctype_base::space, *__beg)) ++__beg; else __testvalid = false; case money_base::none: if (__i != 3) for (; __beg != __end && __ctype.is(ctype_base::space, *__beg); ++__beg); break; } } if (__sign_size > 1 && __testvalid) { const char_type* __sign = __negative ? __lc->_M_negative_sign : __lc->_M_positive_sign; size_type __i = 1; for (; __beg != __end && __i < __sign_size && *__beg == __sign[__i]; ++__beg, ++__i); if (__i != __sign_size) __testvalid = false; } if (__testvalid) { if (__res.size() > 1) { const size_type __first = __res.find_first_not_of('0'); const bool __only_zeros = __first == string::npos; if (__first) __res.erase(0, __only_zeros ? __res.size() - 1 : __first); } if (__negative && __res[0] != '0') __res.insert(__res.begin(), '-'); if (__grouping_tmp.size()) { __grouping_tmp += static_cast(__testdecfound ? __last_pos : __n); if (!std::__verify_grouping(__lc->_M_grouping, __lc->_M_grouping_size, __grouping_tmp)) __err |= ios_base::failbit; } if (__testdecfound && __n != __lc->_M_frac_digits) __testvalid = false; } if (!__testvalid) __err |= ios_base::failbit; else __units.swap(__res); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } # 360 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.tcc" 3 template _InIter money_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, long double& __units) const { string __str; __beg = __intl ? _M_extract(__beg, __end, __io, __err, __str) : _M_extract(__beg, __end, __io, __err, __str); std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale()); return __beg; } template _InIter money_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, string_type& __digits) const { typedef typename string::size_type size_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); string __str; __beg = __intl ? _M_extract(__beg, __end, __io, __err, __str) : _M_extract(__beg, __end, __io, __err, __str); const size_type __len = __str.size(); if (__len) { __digits.resize(__len); __ctype.widen(__str.data(), __str.data() + __len, &__digits[0]); } return __beg; } template template _OutIter money_put<_CharT, _OutIter>:: _M_insert(iter_type __s, ios_base& __io, char_type __fill, const string_type& __digits) const { typedef typename string_type::size_type size_type; typedef money_base::part part; typedef __moneypunct_cache<_CharT, _Intl> __cache_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); __use_cache<__cache_type> __uc; const __cache_type* __lc = __uc(__loc); const char_type* __lit = __lc->_M_atoms; const char_type* __beg = __digits.data(); money_base::pattern __p; const char_type* __sign; size_type __sign_size; if (!(*__beg == __lit[money_base::_S_minus])) { __p = __lc->_M_pos_format; __sign = __lc->_M_positive_sign; __sign_size = __lc->_M_positive_sign_size; } else { __p = __lc->_M_neg_format; __sign = __lc->_M_negative_sign; __sign_size = __lc->_M_negative_sign_size; if (__digits.size()) ++__beg; } size_type __len = __ctype.scan_not(ctype_base::digit, __beg, __beg + __digits.size()) - __beg; if (__len) { string_type __value; __value.reserve(2 * __len); long __paddec = __len - __lc->_M_frac_digits; if (__paddec > 0) { if (__lc->_M_frac_digits < 0) __paddec = __len; if (__lc->_M_grouping_size) { __value.assign(2 * __paddec, char_type()); _CharT* __vend = std::__add_grouping(&__value[0], __lc->_M_thousands_sep, __lc->_M_grouping, __lc->_M_grouping_size, __beg, __beg + __paddec); __value.erase(__vend - &__value[0]); } else __value.assign(__beg, __paddec); } if (__lc->_M_frac_digits > 0) { __value += __lc->_M_decimal_point; if (__paddec >= 0) __value.append(__beg + __paddec, __lc->_M_frac_digits); else { __value.append(-__paddec, __lit[money_base::_S_zero]); __value.append(__beg, __len); } } const ios_base::fmtflags __f = __io.flags() & ios_base::adjustfield; __len = __value.size() + __sign_size; __len += ((__io.flags() & ios_base::showbase) ? __lc->_M_curr_symbol_size : 0); string_type __res; __res.reserve(2 * __len); const size_type __width = static_cast(__io.width()); const bool __testipad = (__f == ios_base::internal && __len < __width); for (int __i = 0; __i < 4; ++__i) { const part __which = static_cast(__p.field[__i]); switch (__which) { case money_base::symbol: if (__io.flags() & ios_base::showbase) __res.append(__lc->_M_curr_symbol, __lc->_M_curr_symbol_size); break; case money_base::sign: if (__sign_size) __res += __sign[0]; break; case money_base::value: __res += __value; break; case money_base::space: if (__testipad) __res.append(__width - __len, __fill); else __res += __fill; break; case money_base::none: if (__testipad) __res.append(__width - __len, __fill); break; } } if (__sign_size > 1) __res.append(__sign + 1, __sign_size - 1); __len = __res.size(); if (__width > __len) { if (__f == ios_base::left) __res.append(__width - __len, __fill); else __res.insert(0, __width - __len, __fill); __len = __width; } __s = std::__write(__s, __res.data(), __len); } __io.width(0); return __s; } # 565 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.tcc" 3 template _OutIter money_put<_CharT, _OutIter>:: do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, long double __units) const { const locale __loc = __io.getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int __cs_size = 64; char* __cs = static_cast(__builtin_alloca(__cs_size)); int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, "%.*Lf", 0, __units); if (__len >= __cs_size) { __cs_size = __len + 1; __cs = static_cast(__builtin_alloca(__cs_size)); __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, "%.*Lf", 0, __units); } # 597 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.tcc" 3 string_type __digits(__len, char_type()); __ctype.widen(__cs, __cs + __len, &__digits[0]); return __intl ? _M_insert(__s, __io, __fill, __digits) : _M_insert(__s, __io, __fill, __digits); } template _OutIter money_put<_CharT, _OutIter>:: do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, const string_type& __digits) const { return __intl ? _M_insert(__s, __io, __fill, __digits) : _M_insert(__s, __io, __fill, __digits); } template time_base::dateorder time_get<_CharT, _InIter>::do_date_order() const { return time_base::no_order; } template _InIter time_get<_CharT, _InIter>:: _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm, const _CharT* __format) const { const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const ctype<_CharT>& __ctype = use_facet >(__loc); const size_t __len = char_traits<_CharT>::length(__format); ios_base::iostate __tmperr = ios_base::goodbit; for (size_t __i = 0; __beg != __end && __i < __len && !__tmperr; ++__i) { if (__ctype.narrow(__format[__i], 0) == '%') { char __c = __ctype.narrow(__format[++__i], 0); int __mem = 0; if (__c == 'E' || __c == 'O') __c = __ctype.narrow(__format[++__i], 0); switch (__c) { const char* __cs; _CharT __wcs[10]; case 'a': const char_type* __days1[7]; __tp._M_days_abbreviated(__days1); __beg = _M_extract_name(__beg, __end, __tm->tm_wday, __days1, 7, __io, __tmperr); break; case 'A': const char_type* __days2[7]; __tp._M_days(__days2); __beg = _M_extract_name(__beg, __end, __tm->tm_wday, __days2, 7, __io, __tmperr); break; case 'h': case 'b': const char_type* __months1[12]; __tp._M_months_abbreviated(__months1); __beg = _M_extract_name(__beg, __end, __tm->tm_mon, __months1, 12, __io, __tmperr); break; case 'B': const char_type* __months2[12]; __tp._M_months(__months2); __beg = _M_extract_name(__beg, __end, __tm->tm_mon, __months2, 12, __io, __tmperr); break; case 'c': const char_type* __dt[2]; __tp._M_date_time_formats(__dt); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __dt[0]); break; case 'd': __beg = _M_extract_num(__beg, __end, __tm->tm_mday, 1, 31, 2, __io, __tmperr); break; case 'e': if (__ctype.is(ctype_base::space, *__beg)) __beg = _M_extract_num(++__beg, __end, __tm->tm_mday, 1, 9, 1, __io, __tmperr); else __beg = _M_extract_num(__beg, __end, __tm->tm_mday, 10, 31, 2, __io, __tmperr); break; case 'D': __cs = "%m/%d/%y"; __ctype.widen(__cs, __cs + 9, __wcs); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __wcs); break; case 'H': __beg = _M_extract_num(__beg, __end, __tm->tm_hour, 0, 23, 2, __io, __tmperr); break; case 'I': __beg = _M_extract_num(__beg, __end, __tm->tm_hour, 1, 12, 2, __io, __tmperr); break; case 'm': __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2, __io, __tmperr); if (!__tmperr) __tm->tm_mon = __mem - 1; break; case 'M': __beg = _M_extract_num(__beg, __end, __tm->tm_min, 0, 59, 2, __io, __tmperr); break; case 'n': if (__ctype.narrow(*__beg, 0) == '\n') ++__beg; else __tmperr |= ios_base::failbit; break; case 'R': __cs = "%H:%M"; __ctype.widen(__cs, __cs + 6, __wcs); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __wcs); break; case 'S': __beg = _M_extract_num(__beg, __end, __tm->tm_sec, 0, 60, 2, __io, __tmperr); break; case 't': if (__ctype.narrow(*__beg, 0) == '\t') ++__beg; else __tmperr |= ios_base::failbit; break; case 'T': __cs = "%H:%M:%S"; __ctype.widen(__cs, __cs + 9, __wcs); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __wcs); break; case 'x': const char_type* __dates[2]; __tp._M_date_formats(__dates); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __dates[0]); break; case 'X': const char_type* __times[2]; __tp._M_time_formats(__times); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __times[0]); break; case 'y': case 'C': case 'Y': __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4, __io, __tmperr); if (!__tmperr) __tm->tm_year = __mem < 0 ? __mem + 100 : __mem - 1900; break; case 'Z': if (__ctype.is(ctype_base::upper, *__beg)) { int __tmp; __beg = _M_extract_name(__beg, __end, __tmp, __timepunct_cache<_CharT>::_S_timezones, 14, __io, __tmperr); if (__beg != __end && !__tmperr && __tmp == 0 && (*__beg == __ctype.widen('-') || *__beg == __ctype.widen('+'))) { __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2, __io, __tmperr); __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2, __io, __tmperr); } } else __tmperr |= ios_base::failbit; break; default: __tmperr |= ios_base::failbit; } } else { if (__format[__i] == *__beg) ++__beg; else __tmperr |= ios_base::failbit; } } if (__tmperr) __err |= ios_base::failbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: _M_extract_num(iter_type __beg, iter_type __end, int& __member, int __min, int __max, size_t __len, ios_base& __io, ios_base::iostate& __err) const { const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int __mult = __len == 2 ? 10 : (__len == 4 ? 1000 : 1); ++__min; size_t __i = 0; int __value = 0; for (; __beg != __end && __i < __len; ++__beg, ++__i) { const char __c = __ctype.narrow(*__beg, '*'); if (__c >= '0' && __c <= '9') { __value = __value * 10 + (__c - '0'); const int __valuec = __value * __mult; if (__valuec > __max || __valuec + __mult < __min) break; __mult /= 10; } else break; } if (__i == __len) __member = __value; else if (__len == 4 && __i == 2) __member = __value - 100; else __err |= ios_base::failbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: _M_extract_name(iter_type __beg, iter_type __end, int& __member, const _CharT** __names, size_t __indexlen, ios_base& __io, ios_base::iostate& __err) const { typedef char_traits<_CharT> __traits_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int* __matches = static_cast(__builtin_alloca(sizeof(int) * __indexlen)); size_t __nmatches = 0; size_t __pos = 0; bool __testvalid = true; const char_type* __name; if (__beg != __end) { const char_type __c = *__beg; for (size_t __i1 = 0; __i1 < __indexlen; ++__i1) if (__c == __names[__i1][0] || __c == __ctype.toupper(__names[__i1][0])) __matches[__nmatches++] = __i1; } while (__nmatches > 1) { size_t __minlen = __traits_type::length(__names[__matches[0]]); for (size_t __i2 = 1; __i2 < __nmatches; ++__i2) __minlen = std::min(__minlen, __traits_type::length(__names[__matches[__i2]])); ++__beg, ++__pos; if (__pos < __minlen && __beg != __end) for (size_t __i3 = 0; __i3 < __nmatches;) { __name = __names[__matches[__i3]]; if (!(__name[__pos] == *__beg)) __matches[__i3] = __matches[--__nmatches]; else ++__i3; } else break; } if (__nmatches == 1) { ++__beg, ++__pos; __name = __names[__matches[0]]; const size_t __len = __traits_type::length(__name); while (__pos < __len && __beg != __end && __name[__pos] == *__beg) ++__beg, ++__pos; if (__len == __pos) __member = __matches[0]; else __testvalid = false; } else __testvalid = false; if (!__testvalid) __err |= ios_base::failbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member, const _CharT** __names, size_t __indexlen, ios_base& __io, ios_base::iostate& __err) const { typedef char_traits<_CharT> __traits_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int* __matches = static_cast(__builtin_alloca(2 * sizeof(int) * __indexlen)); size_t __nmatches = 0; size_t* __matches_lengths = 0; size_t __pos = 0; if (__beg != __end) { const char_type __c = *__beg; for (size_t __i = 0; __i < 2 * __indexlen; ++__i) if (__c == __names[__i][0] || __c == __ctype.toupper(__names[__i][0])) __matches[__nmatches++] = __i; } if (__nmatches) { ++__beg, ++__pos; __matches_lengths = static_cast(__builtin_alloca(sizeof(size_t) * __nmatches)); for (size_t __i = 0; __i < __nmatches; ++__i) __matches_lengths[__i] = __traits_type::length(__names[__matches[__i]]); } for (; __beg != __end; ++__beg, ++__pos) { size_t __nskipped = 0; const char_type __c = *__beg; for (size_t __i = 0; __i < __nmatches;) { const char_type* __name = __names[__matches[__i]]; if (__pos >= __matches_lengths[__i]) ++__nskipped, ++__i; else if (!(__name[__pos] == __c)) { --__nmatches; __matches[__i] = __matches[__nmatches]; __matches_lengths[__i] = __matches_lengths[__nmatches]; } else ++__i; } if (__nskipped == __nmatches) break; } if ((__nmatches == 1 && __matches_lengths[0] == __pos) || (__nmatches == 2 && (__matches_lengths[0] == __pos || __matches_lengths[1] == __pos))) __member = (__matches[0] >= __indexlen ? __matches[0] - __indexlen : __matches[0]); else __err |= ios_base::failbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_time(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const char_type* __times[2]; __tp._M_time_formats(__times); __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __times[0]); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_date(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const char_type* __dates[2]; __tp._M_date_formats(__dates); __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __dates[0]); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { typedef char_traits<_CharT> __traits_type; const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const ctype<_CharT>& __ctype = use_facet >(__loc); const char_type* __days[14]; __tp._M_days_abbreviated(__days); __tp._M_days(__days + 7); int __tmpwday; ios_base::iostate __tmperr = ios_base::goodbit; __beg = _M_extract_wday_or_month(__beg, __end, __tmpwday, __days, 7, __io, __tmperr); if (!__tmperr) __tm->tm_wday = __tmpwday; else __err |= ios_base::failbit; if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_monthname(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { typedef char_traits<_CharT> __traits_type; const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const ctype<_CharT>& __ctype = use_facet >(__loc); const char_type* __months[24]; __tp._M_months_abbreviated(__months); __tp._M_months(__months + 12); int __tmpmon; ios_base::iostate __tmperr = ios_base::goodbit; __beg = _M_extract_wday_or_month(__beg, __end, __tmpmon, __months, 12, __io, __tmperr); if (!__tmperr) __tm->tm_mon = __tmpmon; else __err |= ios_base::failbit; if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_year(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int __tmpyear; ios_base::iostate __tmperr = ios_base::goodbit; __beg = _M_extract_num(__beg, __end, __tmpyear, 0, 9999, 4, __io, __tmperr); if (!__tmperr) __tm->tm_year = __tmpyear < 0 ? __tmpyear + 100 : __tmpyear - 1900; else __err |= ios_base::failbit; if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _OutIter time_put<_CharT, _OutIter>:: put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, const _CharT* __beg, const _CharT* __end) const { const locale& __loc = __io._M_getloc(); ctype<_CharT> const& __ctype = use_facet >(__loc); for (; __beg != __end; ++__beg) if (__ctype.narrow(*__beg, 0) != '%') { *__s = *__beg; ++__s; } else if (++__beg != __end) { char __format; char __mod = 0; const char __c = __ctype.narrow(*__beg, 0); if (__c != 'E' && __c != 'O') __format = __c; else if (++__beg != __end) { __mod = __c; __format = __ctype.narrow(*__beg, 0); } else break; __s = this->do_put(__s, __io, __fill, __tm, __format, __mod); } else break; return __s; } template _OutIter time_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm, char __format, char __mod) const { const locale& __loc = __io._M_getloc(); ctype<_CharT> const& __ctype = use_facet >(__loc); __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc); const size_t __maxlen = 128; char_type __res[__maxlen]; char_type __fmt[4]; __fmt[0] = __ctype.widen('%'); if (!__mod) { __fmt[1] = __format; __fmt[2] = char_type(); } else { __fmt[1] = __mod; __fmt[2] = __format; __fmt[3] = char_type(); } __tp._M_put(__res, __maxlen, __fmt, __tm); return std::__write(__s, __res, char_traits::length(__res)); } extern template class moneypunct; extern template class moneypunct; extern template class moneypunct_byname; extern template class moneypunct_byname; extern template class money_get; extern template class money_put; extern template class __timepunct; extern template class time_put; extern template class time_put_byname; extern template class time_get; extern template class time_get_byname; extern template class messages; extern template class messages_byname; extern template const moneypunct& use_facet >(const locale&); extern template const moneypunct& use_facet >(const locale&); extern template const money_put& use_facet >(const locale&); extern template const money_get& use_facet >(const locale&); extern template const __timepunct& use_facet<__timepunct >(const locale&); extern template const time_put& use_facet >(const locale&); extern template const time_get& use_facet >(const locale&); extern template const messages& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet<__timepunct >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class moneypunct; extern template class moneypunct; extern template class moneypunct_byname; extern template class moneypunct_byname; extern template class money_get; extern template class money_put; extern template class __timepunct; extern template class time_put; extern template class time_put_byname; extern template class time_get; extern template class time_get_byname; extern template class messages; extern template class messages_byname; extern template const moneypunct& use_facet >(const locale&); extern template const moneypunct& use_facet >(const locale&); extern template const money_put& use_facet >(const locale&); extern template const money_get& use_facet >(const locale&); extern template const __timepunct& use_facet<__timepunct >(const locale&); extern template const time_put& use_facet >(const locale&); extern template const time_get& use_facet >(const locale&); extern template const messages& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet<__timepunct >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); } # 1931 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/locale_facets_nonio.h" 2 3 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/locale" 2 3 # 36 "/usr/include/boost-1_42/boost/lexical_cast.hpp" 2 # 55 "/usr/include/boost-1_42/boost/lexical_cast.hpp" namespace boost { class bad_lexical_cast : public std::bad_cast { public: bad_lexical_cast() : source(&typeid(void)), target(&typeid(void)) { } bad_lexical_cast( const std::type_info &source_type_arg, const std::type_info &target_type_arg) : source(&source_type_arg), target(&target_type_arg) { } const std::type_info &source_type() const { return *source; } const std::type_info &target_type() const { return *target; } virtual const char *what() const throw() { return "bad lexical cast: " "source type value could not be interpreted as target"; } virtual ~bad_lexical_cast() throw() { } private: const std::type_info *source; const std::type_info *target; }; namespace detail { template struct stream_char { typedef char type; }; template struct stream_char< std::basic_string > { typedef CharT type; }; template<> struct stream_char { typedef wchar_t type; }; template<> struct stream_char { typedef wchar_t type; }; template<> struct stream_char { typedef wchar_t type; }; # 151 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template struct widest_char { typedef TargetChar type; }; template<> struct widest_char { typedef wchar_t type; }; } namespace detail { template struct deduce_char_traits { typedef std::char_traits type; }; template struct deduce_char_traits< CharT , std::basic_string , Source > { typedef Traits type; }; template struct deduce_char_traits< CharT , Target , std::basic_string > { typedef Traits type; }; template struct deduce_char_traits< CharT , std::basic_string , std::basic_string > { typedef Traits type; }; } namespace detail { # 213 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template< class CharT , class Source > struct lcast_src_length { static const std::size_t value = 0; static void check_coverage() {} }; template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; # 247 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; template<> struct lcast_src_length { static const std::size_t value = 1; static void check_coverage() {} }; template struct lcast_src_length< CharT, std::basic_string > { static const std::size_t value = 1; static void check_coverage() {} }; # 339 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template struct lcast_src_length_integral { static const std::size_t value = std::numeric_limits::is_signed + std::numeric_limits::is_specialized + std::numeric_limits::digits10 * 2 ; }; # 367 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_integral { static void check_coverage() {} }; # 395 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template struct lcast_src_length_floating { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((std::numeric_limits::max_exponent10 <= 999999L && std::numeric_limits::min_exponent10 >= -999999L) == 0 ? false : true) >)> boost_static_assert_typedef_401; static const std::size_t value = 5 + lcast_precision::value + 6 ; }; template<> struct lcast_src_length : lcast_src_length_floating { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_floating { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_floating { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_floating { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_floating { static void check_coverage() {} }; template<> struct lcast_src_length : lcast_src_length_floating { static void check_coverage() {} }; } namespace detail { template struct lcast_char_constants; template<> struct lcast_char_constants { static const char zero = '0'; static const char minus = '-'; }; template<> struct lcast_char_constants { static const wchar_t zero = L'0'; static const wchar_t minus = L'-'; }; } namespace detail { struct lexical_streambuf_fake { }; } namespace detail { template inline typename make_unsigned::type lcast_to_unsigned(T value) { typedef typename make_unsigned::type result_type; result_type uvalue = static_cast(value); return value < 0 ? -uvalue : uvalue; } } namespace detail { template CharT* lcast_put_unsigned(T n, CharT* finish) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((!std::numeric_limits::is_signed) == 0 ? false : true) >)> boost_static_assert_typedef_512; std::locale loc; typedef std::numpunct numpunct; numpunct const& np = std::use_facet< numpunct >(loc); std::string const& grouping = np.grouping(); std::string::size_type const grouping_size = grouping.size(); CharT thousands_sep = grouping_size ? np.thousands_sep() : 0; std::string::size_type group = 0; char last_grp_size = grouping[0] <= 0 ? 127 : grouping[0]; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((std::numeric_limits::digits10 < 127) == 0 ? false : true) >)> boost_static_assert_typedef_529; char left = last_grp_size; typedef typename Traits::int_type int_type; CharT const czero = lcast_char_constants::zero; int_type const zero = Traits::to_int_type(czero); do { if(left == 0) { ++group; if(group < grouping_size) { char const grp_size = grouping[group]; last_grp_size = grp_size <= 0 ? 127 : grp_size; } left = last_grp_size; --finish; Traits::assign(*finish, thousands_sep); } --left; --finish; int_type const digit = static_cast(n % 10U); Traits::assign(*finish, Traits::to_char_type(zero + digit)); n /= 10; } while(n); return finish; } } namespace detail { template class lexical_stream { private: typedef typename widest_char< typename stream_char::type, typename stream_char::type>::type char_type; typedef Traits traits_type; public: lexical_stream(char_type* = 0, char_type* = 0) { stream.unsetf(std::ios::skipws); lcast_set_precision(stream, static_cast(0), static_cast(0) ); } ~lexical_stream() { } bool operator<<(const Source &input) { return !(stream << input).fail(); } template bool operator>>(InputStreamable &output) { return !is_pointer::value && stream >> output && stream.get() == traits_type::eof(); } # 633 "/usr/include/boost-1_42/boost/lexical_cast.hpp" bool operator>>(std::basic_string& output) { stream.str().swap(output); return true; } template bool operator>>(std::basic_string& out) { std::basic_string str(stream.str()); out.assign(str.begin(), str.end()); return true; } private: std::basic_stringstream stream; }; } namespace detail { template< class CharT , class Base , class Traits > class lexical_stream_limited_src : public Base { CharT* start; CharT* finish; private: static void widen_and_assign(char*p, char ch) { Traits::assign(*p, ch); } static void widen_and_assign(wchar_t* p, char ch) { std::locale loc; wchar_t w = std::use_facet< std::ctype >(loc).widen(ch); Traits::assign(*p, w); } static void widen_and_assign(wchar_t* p, wchar_t ch) { Traits::assign(*p, ch); } static void widen_and_assign(char*, wchar_t ch); template bool lcast_put(const OutputStreamable& input) { this->setp(start, finish); std::basic_ostream stream(static_cast(this)); lcast_set_precision(stream, static_cast(0)); bool const result = !(stream << input).fail(); finish = this->pptr(); return result; } lexical_stream_limited_src(lexical_stream_limited_src const&); void operator=(lexical_stream_limited_src const&); public: lexical_stream_limited_src(CharT* sta, CharT* fin) : start(sta) , finish(fin) {} public: template bool operator<<(std::basic_string const& str) { start = const_cast(str.data()); finish = start + str.length(); return true; } bool operator<<(bool); bool operator<<(char); bool operator<<(wchar_t); bool operator<<(CharT const*); bool operator<<(short); bool operator<<(int); bool operator<<(long); bool operator<<(unsigned short); bool operator<<(unsigned int); bool operator<<(unsigned long); bool operator<<(boost::ulong_long_type); bool operator<<(boost::long_long_type ); bool operator<<(float); bool operator<<(double); bool operator<<(long double); public: template bool operator>>(InputStreamable& output) { if(is_pointer::value) return false; this->setg(start, start, finish); std::basic_istream stream(static_cast(this)); stream.unsetf(std::ios::skipws); lcast_set_precision(stream, static_cast(0)); return stream >> output && stream.get() == Traits::eof(); } bool operator>>(CharT&); # 801 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template bool operator>>(std::basic_string& str) { str.assign(start, finish); return true; } }; template inline bool lexical_stream_limited_src::operator<<( bool value) { typedef typename Traits::int_type int_type; CharT const czero = lcast_char_constants::zero; int_type const zero = Traits::to_int_type(czero); Traits::assign(*start, Traits::to_char_type(zero + value)); finish = start + 1; return true; } template inline bool lexical_stream_limited_src::operator<<( char ch) { widen_and_assign(start, ch); finish = start + 1; return true; } template inline bool lexical_stream_limited_src::operator<<( wchar_t ch) { widen_and_assign(start, ch); finish = start + 1; return true; } template inline bool lexical_stream_limited_src::operator<<( short n) { start = lcast_put_unsigned(lcast_to_unsigned(n), finish); if(n < 0) { --start; CharT const minus = lcast_char_constants::minus; Traits::assign(*start, minus); } return true; } template inline bool lexical_stream_limited_src::operator<<( int n) { start = lcast_put_unsigned(lcast_to_unsigned(n), finish); if(n < 0) { --start; CharT const minus = lcast_char_constants::minus; Traits::assign(*start, minus); } return true; } template inline bool lexical_stream_limited_src::operator<<( long n) { start = lcast_put_unsigned(lcast_to_unsigned(n), finish); if(n < 0) { --start; CharT const minus = lcast_char_constants::minus; Traits::assign(*start, minus); } return true; } template inline bool lexical_stream_limited_src::operator<<( boost::long_long_type n) { start = lcast_put_unsigned(lcast_to_unsigned(n), finish); if(n < 0) { --start; CharT const minus = lcast_char_constants::minus; Traits::assign(*start, minus); } return true; } # 914 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template inline bool lexical_stream_limited_src::operator<<( unsigned short n) { start = lcast_put_unsigned(n, finish); return true; } template inline bool lexical_stream_limited_src::operator<<( unsigned int n) { start = lcast_put_unsigned(n, finish); return true; } template inline bool lexical_stream_limited_src::operator<<( unsigned long n) { start = lcast_put_unsigned(n, finish); return true; } template inline bool lexical_stream_limited_src::operator<<( boost::ulong_long_type n) { start = lcast_put_unsigned(n, finish); return true; } # 956 "/usr/include/boost-1_42/boost/lexical_cast.hpp" template inline bool lexical_stream_limited_src::operator<<( float val) { return this->lcast_put(val); } template inline bool lexical_stream_limited_src::operator<<( double val) { return this->lcast_put(val); } template inline bool lexical_stream_limited_src::operator<<( long double val) { return this->lcast_put(val); } template inline bool lexical_stream_limited_src::operator<<( CharT const* str) { start = const_cast(str); finish = start + Traits::length(str); return true; } template inline bool lexical_stream_limited_src::operator>>( CharT& output) { bool const ok = (finish - start == 1); if(ok) Traits::assign(output, *start); return ok; } # 1015 "/usr/include/boost-1_42/boost/lexical_cast.hpp" } namespace detail { template struct lcast_streambuf_for_source { static const bool value = false; }; template<> struct lcast_streambuf_for_source { static const bool value = true; }; template<> struct lcast_streambuf_for_source { static const bool value = true; }; template<> struct lcast_streambuf_for_source { static const bool value = true; }; } namespace detail { template struct lcast_streambuf_for_target { static const bool value = true; }; template<> struct lcast_streambuf_for_target { static const bool value = false; }; template<> struct lcast_streambuf_for_target { static const bool value = false; }; template struct lcast_streambuf_for_target< std::basic_string > { static const bool value = false; }; template struct lcast_streambuf_for_target< std::basic_string > { static const bool value = false; }; # 1099 "/usr/include/boost-1_42/boost/lexical_cast.hpp" } namespace detail { template struct array_to_pointer_decay { typedef T type; }; template struct array_to_pointer_decay { typedef const T * type; }; template< typename Target , typename Source , bool Unlimited , typename CharT > Target lexical_cast( typename boost::call_traits::param_type arg, CharT* buf, std::size_t src_len) { typedef typename deduce_char_traits::type traits; typedef typename boost::mpl::if_c< lcast_streambuf_for_target::value || lcast_streambuf_for_source::value , std::basic_streambuf , lexical_streambuf_fake >::type base; typename boost::mpl::if_c< Unlimited , detail::lexical_stream , detail::lexical_stream_limited_src >::type interpreter(buf, buf + src_len); Target result; if(!(interpreter << arg && interpreter >> result)) throw_exception(bad_lexical_cast(typeid(Source), typeid(Target))); return result; } } template inline Target lexical_cast(const Source &arg) { typedef typename detail::array_to_pointer_decay::type src; typedef typename detail::widest_char< typename detail::stream_char::type , typename detail::stream_char::type >::type char_type; typedef detail::lcast_src_length lcast_src_length; std::size_t const src_len = lcast_src_length::value; char_type buf[src_len + 1]; lcast_src_length::check_coverage(); return detail::lexical_cast(arg, buf, src_len); } # 1203 "/usr/include/boost-1_42/boost/lexical_cast.hpp" } # 20 "/usr/include/boost-1_42/boost/python/operators.hpp" 2 namespace boost { namespace python { namespace detail { template PyObject* convert_result(T const& x) { return converter::arg_to_python(x).release(); } template struct operator_l { template struct apply; }; template struct operator_r { template struct apply; }; template struct operator_1 { template struct apply; }; template struct operator_l_inner : operator_l::template apply {}; template struct operator_r_inner : operator_r::template apply {}; template struct operator_1_inner : operator_1::template apply {}; # 84 "/usr/include/boost-1_42/boost/python/operators.hpp" template struct binary_op : operator_l { template struct apply : operator_l_inner { }; }; template struct binary_op_l : operator_l { template struct apply : operator_l_inner { }; }; template struct binary_op_r : operator_r { template struct apply : operator_r_inner { }; }; template struct unary_op : operator_1 { template struct apply : operator_1_inner { }; }; template struct operator_ : def_visitor > { private: template void visit(ClassT& cl) const { typedef typename mpl::eval_if< is_same , mpl::if_< is_same , binary_op , binary_op_l< id , typename unwrap_other::type > > , mpl::if_< is_same , unary_op , binary_op_r< id , typename unwrap_other::type > > >::type generator; cl.def( generator::name() , &generator::template apply< typename ClassT::wrapped_type >::execute ); } friend class python::def_visitor_access; }; } # 212 "/usr/include/boost-1_42/boost/python/operators.hpp" namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l + r); } }; static char const* name() { return "__" "add" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l + r); } }; static char const* name() { return "__" "radd" "__"; } }; } namespace self_ns { template inline detail::operator_ operator +(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l - r); } }; static char const* name() { return "__" "sub" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l - r); } }; static char const* name() { return "__" "rsub" "__"; } }; } namespace self_ns { template inline detail::operator_ operator -(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l * r); } }; static char const* name() { return "__" "mul" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l * r); } }; static char const* name() { return "__" "rmul" "__"; } }; } namespace self_ns { template inline detail::operator_ operator *(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l / r); } }; static char const* name() { return "__" "div" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l / r); } }; static char const* name() { return "__" "rdiv" "__"; } }; } namespace self_ns { template inline detail::operator_ operator /(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l % r); } }; static char const* name() { return "__" "mod" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l % r); } }; static char const* name() { return "__" "rmod" "__"; } }; } namespace self_ns { template inline detail::operator_ operator %(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l << r); } }; static char const* name() { return "__" "lshift" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l << r); } }; static char const* name() { return "__" "rlshift" "__"; } }; } namespace self_ns { template inline detail::operator_ operator <<(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l >> r); } }; static char const* name() { return "__" "rshift" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l >> r); } }; static char const* name() { return "__" "rrshift" "__"; } }; } namespace self_ns { template inline detail::operator_ operator >>(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l & r); } }; static char const* name() { return "__" "and" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l & r); } }; static char const* name() { return "__" "rand" "__"; } }; } namespace self_ns { template inline detail::operator_ operator &(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l ^ r); } }; static char const* name() { return "__" "xor" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l ^ r); } }; static char const* name() { return "__" "rxor" "__"; } }; } namespace self_ns { template inline detail::operator_ operator ^(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l | r); } }; static char const* name() { return "__" "or" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l | r); } }; static char const* name() { return "__" "ror" "__"; } }; } namespace self_ns { template inline detail::operator_ operator |(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l > r); } }; static char const* name() { return "__" "gt" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l > r); } }; static char const* name() { return "__" "lt" "__"; } }; } namespace self_ns { template inline detail::operator_ operator >(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l >= r); } }; static char const* name() { return "__" "ge" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l >= r); } }; static char const* name() { return "__" "le" "__"; } }; } namespace self_ns { template inline detail::operator_ operator >=(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l < r); } }; static char const* name() { return "__" "lt" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l < r); } }; static char const* name() { return "__" "gt" "__"; } }; } namespace self_ns { template inline detail::operator_ operator <(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l <= r); } }; static char const* name() { return "__" "le" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l <= r); } }; static char const* name() { return "__" "ge" "__"; } }; } namespace self_ns { template inline detail::operator_ operator <=(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l == r); } }; static char const* name() { return "__" "eq" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l == r); } }; static char const* name() { return "__" "eq" "__"; } }; } namespace self_ns { template inline detail::operator_ operator ==(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(l != r); } }; static char const* name() { return "__" "ne" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(l != r); } }; static char const* name() { return "__" "ne" "__"; } }; } namespace self_ns { template inline detail::operator_ operator !=(L const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(lhs& l, rhs const& r) { return detail::convert_result(pow(l,r)); } }; static char const* name() { return "__" "pow" "__"; } }; template <> struct operator_r { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(rhs& r, lhs const& l) { return detail::convert_result(pow(l,r)); } }; static char const* name() { return "__" "rpow" "__"; } }; } namespace self_ns { template inline detail::operator_ pow(L const&, R const&) { return detail::operator_(); } # 267 "/usr/include/boost-1_42/boost/python/operators.hpp" } # 301 "/usr/include/boost-1_42/boost/python/operators.hpp" namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() += r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "iadd" "__"; } }; } namespace self_ns { template inline detail::operator_ operator +=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() -= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "isub" "__"; } }; } namespace self_ns { template inline detail::operator_ operator -=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() *= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "imul" "__"; } }; } namespace self_ns { template inline detail::operator_ operator *=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() /= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "idiv" "__"; } }; } namespace self_ns { template inline detail::operator_ operator /=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() %= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "imod" "__"; } }; } namespace self_ns { template inline detail::operator_ operator %=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() <<= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "ilshift" "__"; } }; } namespace self_ns { template inline detail::operator_ operator <<=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() >>= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "irshift" "__"; } }; } namespace self_ns { template inline detail::operator_ operator >>=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() &= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "iand" "__"; } }; } namespace self_ns { template inline detail::operator_ operator &=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() ^= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "ixor" "__"; } }; } namespace self_ns { template inline detail::operator_ operator ^=(self_t const&, R const&) { return detail::operator_(); } } namespace detail { template <> struct operator_l { template struct apply { typedef typename unwrap_wrapper_::type lhs; typedef typename unwrap_wrapper_::type rhs; static PyObject* execute(back_reference l, rhs const& r) { l.get() |= r; return python::incref(l.source().ptr()); } }; static char const* name() { return "__" "ior" "__"; } }; } namespace self_ns { template inline detail::operator_ operator |=(self_t const&, R const&) { return detail::operator_(); } } # 340 "/usr/include/boost-1_42/boost/python/operators.hpp" namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(-(x)); } }; static char const* name() { return "__" "neg" "__"; } }; } namespace self_ns { inline detail::operator_ operator-(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(+(x)); } }; static char const* name() { return "__" "pos" "__"; } }; } namespace self_ns { inline detail::operator_ operator+(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(abs(x)); } }; static char const* name() { return "__" "abs" "__"; } }; } namespace self_ns { inline detail::operator_ abs(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(~(x)); } }; static char const* name() { return "__" "invert" "__"; } }; } namespace self_ns { inline detail::operator_ operator~(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(!!(x)); } }; static char const* name() { return "__" "nonzero" "__"; } }; } namespace self_ns { inline detail::operator_ operator!(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(long(x)); } }; static char const* name() { return "__" "int" "__"; } }; } namespace self_ns { inline detail::operator_ int_(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(PyLong_FromLong(x)); } }; static char const* name() { return "__" "long" "__"; } }; } namespace self_ns { inline detail::operator_ long_(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(double(x)); } }; static char const* name() { return "__" "float" "__"; } }; } namespace self_ns { inline detail::operator_ float_(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(std::complex(x)); } }; static char const* name() { return "__" "complex" "__"; } }; } namespace self_ns { inline detail::operator_ complex_(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(lexical_cast(x)); } }; static char const* name() { return "__" "str" "__"; } }; } namespace self_ns { inline detail::operator_ str(self_t const&) { return detail::operator_(); } } namespace detail { template <> struct operator_1 { template struct apply { typedef typename unwrap_wrapper_::type self_t; static PyObject* execute(self_t& x) { return detail::convert_result(lexical_cast(x)); } }; static char const* name() { return "__" "repr" "__"; } }; } namespace self_ns { inline detail::operator_ repr(self_t const&) { return detail::operator_(); } } }} # 51 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/overloads.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/overloads.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_gen.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/detail/defaults_gen.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/repeat_from_to.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/detail/defaults_gen.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/tuple.hpp" 1 # 20 "/usr/include/boost-1_42/boost/preprocessor/tuple.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/tuple/reverse.hpp" 1 # 21 "/usr/include/boost-1_42/boost/preprocessor/tuple.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/tuple/to_seq.hpp" 1 # 23 "/usr/include/boost-1_42/boost/preprocessor/tuple.hpp" 2 # 19 "/usr/include/boost-1_42/boost/python/detail/defaults_gen.hpp" 2 # 29 "/usr/include/boost-1_42/boost/python/detail/defaults_gen.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 30 "/usr/include/boost-1_42/boost/python/detail/defaults_gen.hpp" 2 namespace boost { namespace python { namespace detail { struct overloads_base { overloads_base(char const* doc_) : m_doc(doc_) {} overloads_base(char const* doc_, detail::keyword_range const& kw) : m_doc(doc_), m_keywords(kw) {} char const* doc_string() const { return m_doc; } detail::keyword_range const& keywords() const { return m_keywords; } private: char const* m_doc; detail::keyword_range m_keywords; }; template struct overloads_proxy : public overloads_base { typedef typename OverloadsT::non_void_return_type non_void_return_type; typedef typename OverloadsT::void_return_type void_return_type; overloads_proxy( CallPoliciesT const& policies_ , char const* doc , keyword_range const& kw ) : overloads_base(doc, kw) , policies(policies_) {} CallPoliciesT call_policies() const { return policies; } CallPoliciesT policies; }; template struct overloads_common : public overloads_base { overloads_common(char const* doc) : overloads_base(doc) {} overloads_common(char const* doc, keyword_range const& kw) : overloads_base(doc, kw) {} default_call_policies call_policies() const { return default_call_policies(); } template overloads_proxy operator[](CallPoliciesT const& policies) const { return overloads_proxy( policies, this->doc_string(), this->keywords()); } }; }}} # 15 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits.hpp" 1 # 22 "/usr/include/boost-1_42/boost/type_traits.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_destructor.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_destructor.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_destructor.hpp" 2 namespace boost { template< typename T > struct has_nothrow_destructor : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 24 "/usr/include/boost-1_42/boost/type_traits/has_nothrow_destructor.hpp" 2 # 23 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/has_virtual_destructor.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/has_virtual_destructor.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 16 "/usr/include/boost-1_42/boost/type_traits/has_virtual_destructor.hpp" 2 namespace boost { template< typename T > struct has_virtual_destructor : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 24 "/usr/include/boost-1_42/boost/type_traits/has_virtual_destructor.hpp" 2 # 28 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_base_of.hpp" 1 # 19 "/usr/include/boost-1_42/boost/type_traits/is_base_of.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 20 "/usr/include/boost-1_42/boost/type_traits/is_base_of.hpp" 2 namespace boost { namespace detail{ template struct is_base_of_imp { typedef typename remove_cv::type ncvB; typedef typename remove_cv::type ncvD; static const bool value = (::boost::type_traits::ice_or< (::boost::detail::is_base_and_derived_impl::value), (::boost::type_traits::ice_and< ::boost::is_same::value, ::boost::is_class::value>::value)>::value) ; }; } template< typename Base, typename Derived > struct is_base_of : ::boost::integral_constant::value)> { }; template< typename Base, typename Derived > struct is_base_of< Base&,Derived > : ::boost::integral_constant { }; template< typename Base, typename Derived > struct is_base_of< Base,Derived& > : ::boost::integral_constant { }; template< typename Base, typename Derived > struct is_base_of< Base&,Derived& > : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 50 "/usr/include/boost-1_42/boost/type_traits/is_base_of.hpp" 2 # 35 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_floating_point.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/is_floating_point.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 14 "/usr/include/boost-1_42/boost/type_traits/is_floating_point.hpp" 2 namespace boost { template< typename T > struct is_floating_point : ::boost::integral_constant { }; template<> struct is_floating_point< float > : ::boost::integral_constant { }; template<> struct is_floating_point< float const > : ::boost::integral_constant { }; template<> struct is_floating_point< float volatile > : ::boost::integral_constant { }; template<> struct is_floating_point< float const volatile > : ::boost::integral_constant { }; template<> struct is_floating_point< double > : ::boost::integral_constant { }; template<> struct is_floating_point< double const > : ::boost::integral_constant { }; template<> struct is_floating_point< double volatile > : ::boost::integral_constant { }; template<> struct is_floating_point< double const volatile > : ::boost::integral_constant { }; template<> struct is_floating_point< long double > : ::boost::integral_constant { }; template<> struct is_floating_point< long double const > : ::boost::integral_constant { }; template<> struct is_floating_point< long double volatile > : ::boost::integral_constant { }; template<> struct is_floating_point< long double const volatile > : ::boost::integral_constant { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 26 "/usr/include/boost-1_42/boost/type_traits/is_floating_point.hpp" 2 # 43 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_member_object_pointer.hpp" 1 # 20 "/usr/include/boost-1_42/boost/type_traits/is_member_object_pointer.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 21 "/usr/include/boost-1_42/boost/type_traits/is_member_object_pointer.hpp" 2 namespace boost { namespace detail{ template struct is_member_object_pointer_impl { static const bool value = (::boost::type_traits::ice_and< ::boost::is_member_pointer::value, ::boost::type_traits::ice_not< ::boost::is_member_function_pointer::value >::value >::value ) ; }; } template< typename T > struct is_member_object_pointer : ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 45 "/usr/include/boost-1_42/boost/type_traits/is_member_object_pointer.hpp" 2 # 48 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 60 "/usr/include/boost-1_42/boost/type_traits.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/rank.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/rank.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 20 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/rank.hpp" 2 namespace boost { namespace detail{ template struct rank_imp { static const std::size_t value = N; }; template struct rank_imp { static const std::size_t value = (::boost::detail::rank_imp::value); }; template struct rank_imp { static const std::size_t value = (::boost::detail::rank_imp::value); }; template struct rank_imp { static const std::size_t value = (::boost::detail::rank_imp::value); }; template struct rank_imp { static const std::size_t value = (::boost::detail::rank_imp::value); }; template struct rank_imp { static const std::size_t value = (::boost::detail::rank_imp::value); }; template struct rank_imp { static const std::size_t value = (::boost::detail::rank_imp::value); }; template struct rank_imp { static const std::size_t value = (::boost::detail::rank_imp::value); }; template struct rank_imp { static const std::size_t value = (::boost::detail::rank_imp::value); }; } template< typename T > struct rank : ::boost::integral_constant::value)> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_undef.hpp" 1 # 88 "/usr/include/boost-1_42/boost/type_traits/rank.hpp" 2 # 61 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/extent.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/extent.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 20 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_def.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/extent.hpp" 2 namespace boost { namespace detail{ # 29 "/usr/include/boost-1_42/boost/type_traits/extent.hpp" template struct extent_imp { static const std::size_t value = 0; }; template struct extent_imp { static const std::size_t value = (::boost::detail::extent_imp::value); }; template struct extent_imp { static const std::size_t value = (::boost::detail::extent_imp::value); }; template struct extent_imp { static const std::size_t value = (::boost::detail::extent_imp::value); }; template struct extent_imp { static const std::size_t value = (::boost::detail::extent_imp::value); }; template struct extent_imp { static const std::size_t value = R; }; template struct extent_imp { static const std::size_t value = R; }; template struct extent_imp { static const std::size_t value = R; }; template struct extent_imp { static const std::size_t value = R; }; template struct extent_imp { static const std::size_t value = (::boost::detail::extent_imp::value); }; template struct extent_imp { static const std::size_t value = (::boost::detail::extent_imp::value); }; template struct extent_imp { static const std::size_t value = (::boost::detail::extent_imp::value); }; template struct extent_imp { static const std::size_t value = (::boost::detail::extent_imp::value); }; template struct extent_imp { static const std::size_t value = 0; }; template struct extent_imp { static const std::size_t value = 0; }; template struct extent_imp { static const std::size_t value = 0; }; template struct extent_imp { static const std::size_t value = 0; }; } template struct extent : public ::boost::integral_constant::value> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/size_t_trait_undef.hpp" 1 # 144 "/usr/include/boost-1_42/boost/type_traits/extent.hpp" 2 # 62 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/remove_extent.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/remove_extent.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 15 "/usr/include/boost-1_42/boost/type_traits/remove_extent.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/remove_extent.hpp" 2 namespace boost { template< typename T > struct remove_extent { typedef T type; }; template< typename T, std::size_t N > struct remove_extent { typedef T type; }; template< typename T, std::size_t N > struct remove_extent { typedef T const type; }; template< typename T, std::size_t N > struct remove_extent { typedef T volatile type; }; template< typename T, std::size_t N > struct remove_extent { typedef T const volatile type; }; template< typename T > struct remove_extent { typedef T type; }; template< typename T > struct remove_extent { typedef T const type; }; template< typename T > struct remove_extent { typedef T volatile type; }; template< typename T > struct remove_extent { typedef T const volatile type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 47 "/usr/include/boost-1_42/boost/type_traits/remove_extent.hpp" 2 # 64 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/remove_all_extents.hpp" 1 # 13 "/usr/include/boost-1_42/boost/type_traits/remove_all_extents.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 14 "/usr/include/boost-1_42/boost/type_traits/remove_all_extents.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/remove_all_extents.hpp" 2 namespace boost { template< typename T > struct remove_all_extents { typedef T type; }; template< typename T, std::size_t N > struct remove_all_extents { typedef typename boost::remove_all_extents::type type; }; template< typename T, std::size_t N > struct remove_all_extents { typedef typename boost::remove_all_extents::type type; }; template< typename T, std::size_t N > struct remove_all_extents { typedef typename boost::remove_all_extents::type type; }; template< typename T, std::size_t N > struct remove_all_extents { typedef typename boost::remove_all_extents::type type; }; template< typename T > struct remove_all_extents { typedef typename boost::remove_all_extents::type type; }; template< typename T > struct remove_all_extents { typedef typename boost::remove_all_extents::type type; }; template< typename T > struct remove_all_extents { typedef typename boost::remove_all_extents::type type; }; template< typename T > struct remove_all_extents { typedef typename boost::remove_all_extents::type type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 47 "/usr/include/boost-1_42/boost/type_traits/remove_all_extents.hpp" 2 # 65 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/aligned_storage.hpp" 1 # 73 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/floating_point_promotion.hpp" 1 # 21 "/usr/include/boost-1_42/boost/type_traits/floating_point_promotion.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 22 "/usr/include/boost-1_42/boost/type_traits/floating_point_promotion.hpp" 2 namespace boost { namespace type_traits { namespace detail { template struct floating_point_promotion { typedef T type; }; template<> struct floating_point_promotion { typedef double type; }; template<> struct floating_point_promotion { typedef double const type; }; template<> struct floating_point_promotion { typedef double volatile type; }; template<> struct floating_point_promotion { typedef double const volatile type; }; # 78 "/usr/include/boost-1_42/boost/type_traits/floating_point_promotion.hpp" } } template< typename T > struct floating_point_promotion { typedef typename boost::type_traits::detail::floating_point_promotion::type type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 89 "/usr/include/boost-1_42/boost/type_traits/floating_point_promotion.hpp" 2 # 74 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" 1 # 20 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 21 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" 2 namespace boost { namespace type_traits { namespace detail { template struct need_promotion : boost::is_enum {}; template<> struct need_promotion : true_type {}; template<> struct need_promotion : true_type {}; template<> struct need_promotion : true_type {}; template<> struct need_promotion : true_type {}; template<> struct need_promotion : true_type {}; # 63 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" template<> struct need_promotion : integral_constant {}; template<> struct need_promotion : integral_constant {}; # 75 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" template<> struct need_promotion : true_type {}; template<> struct need_promotion : true_type {}; template struct promote_from_index; # 95 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" template<> struct promote_from_index<1,0,0> { typedef int type; }; template<> struct promote_from_index<1,0,1> { typedef int volatile type; }; template<> struct promote_from_index<1,1,0> { typedef int const type; }; template<> struct promote_from_index<1,1,1> { typedef int const volatile type; }; template<> struct promote_from_index<2,0,0> { typedef unsigned int type; }; template<> struct promote_from_index<2,0,1> { typedef unsigned int volatile type; }; template<> struct promote_from_index<2,1,0> { typedef unsigned int const type; }; template<> struct promote_from_index<2,1,1> { typedef unsigned int const volatile type; }; template<> struct promote_from_index<3,0,0> { typedef long type; }; template<> struct promote_from_index<3,0,1> { typedef long volatile type; }; template<> struct promote_from_index<3,1,0> { typedef long const type; }; template<> struct promote_from_index<3,1,1> { typedef long const volatile type; }; template<> struct promote_from_index<4,0,0> { typedef unsigned long type; }; template<> struct promote_from_index<4,0,1> { typedef unsigned long volatile type; }; template<> struct promote_from_index<4,1,0> { typedef unsigned long const type; }; template<> struct promote_from_index<4,1,1> { typedef unsigned long const volatile type; }; # 107 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" template<> struct promote_from_index<5,0,0> { typedef boost::long_long_type type; }; template<> struct promote_from_index<5,0,1> { typedef boost::long_long_type volatile type; }; template<> struct promote_from_index<5,1,0> { typedef boost::long_long_type const type; }; template<> struct promote_from_index<5,1,1> { typedef boost::long_long_type const volatile type; }; template<> struct promote_from_index<6,0,0> { typedef boost::ulong_long_type type; }; template<> struct promote_from_index<6,0,1> { typedef boost::ulong_long_type volatile type; }; template<> struct promote_from_index<6,1,0> { typedef boost::ulong_long_type const type; }; template<> struct promote_from_index<6,1,1> { typedef boost::ulong_long_type const volatile type; }; # 120 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" template struct sized_type_for_promotion { typedef char (&type)[N]; }; # 136 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" sized_type_for_promotion<1>::type promoted_index_tester(int); sized_type_for_promotion<2>::type promoted_index_tester(unsigned int); sized_type_for_promotion<3>::type promoted_index_tester(long); sized_type_for_promotion<4>::type promoted_index_tester(unsigned long); sized_type_for_promotion<5>::type promoted_index_tester(boost::long_long_type); sized_type_for_promotion<6>::type promoted_index_tester(boost::ulong_long_type); # 154 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" template struct promoted_index { static T testee; static const int value = sizeof(promoted_index_tester(+testee)); }; template struct integral_promotion_impl { typedef typename promote_from_index< (boost::type_traits::detail::promoted_index::value) , (boost::is_const::value) , (boost::is_volatile::value) >::type type; }; template struct integral_promotion : boost::mpl::eval_if< need_promotion::type> , integral_promotion_impl , boost::mpl::identity > { }; } } template< typename T > struct integral_promotion { typedef typename boost::type_traits::detail::integral_promotion::type type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 193 "/usr/include/boost-1_42/boost/type_traits/integral_promotion.hpp" 2 # 76 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/promote.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/promote.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/promote.hpp" 2 namespace boost { namespace detail { template struct promote_impl : integral_promotion< typename floating_point_promotion::type > { }; } template< typename T > struct promote { typedef typename boost::detail::promote_impl::type type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 38 "/usr/include/boost-1_42/boost/type_traits/promote.hpp" 2 # 77 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/make_signed.hpp" 1 # 29 "/usr/include/boost-1_42/boost/type_traits/make_signed.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_def.hpp" 2 # 30 "/usr/include/boost-1_42/boost/type_traits/make_signed.hpp" 2 namespace boost { namespace detail { template struct make_signed_imp { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (((::boost::type_traits::ice_or< ::boost::is_integral::value, ::boost::is_enum::value>::value)) == 0 ? false : true) >)> boost_static_assert_typedef_39; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (((::boost::type_traits::ice_not< ::boost::is_same< typename remove_cv::type, bool>::value>::value)) == 0 ? false : true) >)> boost_static_assert_typedef_43; typedef typename remove_cv::type t_no_cv; typedef typename mpl::if_c< (::boost::type_traits::ice_and< ::boost::is_signed::value, ::boost::is_integral::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value >::value), T, typename mpl::if_c< (::boost::type_traits::ice_and< ::boost::is_integral::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value, ::boost::type_traits::ice_not< ::boost::is_same::value>::value> ::value), typename mpl::if_< is_same, signed char, typename mpl::if_< is_same, signed short, typename mpl::if_< is_same, int, typename mpl::if_< is_same, long, boost::long_long_type >::type >::type >::type >::type, typename mpl::if_c< sizeof(t_no_cv) == sizeof(unsigned char), signed char, typename mpl::if_c< sizeof(t_no_cv) == sizeof(unsigned short), signed short, typename mpl::if_c< sizeof(t_no_cv) == sizeof(unsigned int), int, typename mpl::if_c< sizeof(t_no_cv) == sizeof(unsigned long), long, boost::long_long_type >::type >::type >::type >::type >::type >::type base_integer_type; typedef typename mpl::if_< is_const, typename add_const::type, base_integer_type >::type const_base_integer_type; typedef typename mpl::if_< is_volatile, typename add_volatile::type, const_base_integer_type >::type type; }; } template< typename T > struct make_signed { typedef typename boost::detail::make_signed_imp::type type; }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/type_trait_undef.hpp" 1 # 135 "/usr/include/boost-1_42/boost/type_traits/make_signed.hpp" 2 # 80 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/decay.hpp" 1 # 21 "/usr/include/boost-1_42/boost/type_traits/decay.hpp" namespace boost { template< class T > struct decay { private: typedef typename remove_reference::type Ty; public: typedef typename mpl::eval_if< is_array, mpl::identity::type*>, typename mpl::eval_if< is_function, add_pointer, mpl::identity > >::type type; }; } # 81 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/type_traits/is_complex.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/is_complex.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 1 # 14 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" # 1 "/usr/include/boost-1_42/boost/type_traits/detail/template_arity_spec.hpp" 1 # 15 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_def.hpp" 2 # 15 "/usr/include/boost-1_42/boost/type_traits/is_complex.hpp" 2 namespace boost { namespace detail{ struct is_convertible_from_tester { template is_convertible_from_tester(const std::complex&); }; } template< typename T > struct is_complex : ::boost::integral_constant::value)> { }; } # 1 "/usr/include/boost-1_42/boost/type_traits/detail/bool_trait_undef.hpp" 1 # 33 "/usr/include/boost-1_42/boost/type_traits/is_complex.hpp" 2 # 82 "/usr/include/boost-1_42/boost/type_traits.hpp" 2 # 16 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 2 # 28 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" namespace boost { namespace python { struct module; namespace objects { struct class_base; } namespace detail { template static void name_space_def( NameSpaceT& name_space , char const* name , Func f , keyword_range const& kw , CallPolicies const& policies , char const* doc , objects::class_base* ) { typedef typename NameSpaceT::wrapped_type wrapped_type; objects::add_to_namespace( name_space, name, detail::make_keyword_range_function( f, policies, kw, get_signature(f, (wrapped_type*)0)) , doc ); } template static void name_space_def( object& name_space , char const* name , Func f , keyword_range const& kw , CallPolicies const& policies , char const* doc , ... ) { scope within(name_space); detail::scope_setattr_doc( name , detail::make_keyword_range_function(f, policies, kw) , doc); } template static void name_space_def( NameSpaceT& name_space , char const* name , Func f , keyword_range const& kw , CallPolicies const& policies , char const* doc , module* ) { name_space.def(name, f, policies, doc); } # 125 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template struct define_stub_function {}; # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<0> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_0 , kw , policies , doc , &name_space); } }; # 48 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<1> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_1 , kw , policies , doc , &name_space); } }; # 53 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<2> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_2 , kw , policies , doc , &name_space); } }; # 58 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<3> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_3 , kw , policies , doc , &name_space); } }; # 63 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<4> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_4 , kw , policies , doc , &name_space); } }; # 68 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<5> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_5 , kw , policies , doc , &name_space); } }; # 73 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<6> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_6 , kw , policies , doc , &name_space); } }; # 78 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<7> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_7 , kw , policies , doc , &name_space); } }; # 83 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<8> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_8 , kw , policies , doc , &name_space); } }; # 88 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<9> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_9 , kw , policies , doc , &name_space); } }; # 93 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<10> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_10 , kw , policies , doc , &name_space); } }; # 98 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<11> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_11 , kw , policies , doc , &name_space); } }; # 103 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<12> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_12 , kw , policies , doc , &name_space); } }; # 108 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<13> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_13 , kw , policies , doc , &name_space); } }; # 113 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<14> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_14 , kw , policies , doc , &name_space); } }; # 118 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 1 # 269 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template <> struct define_stub_function<15> { template static void define( char const* name , StubsT const& , keyword_range const& kw , CallPolicies const& policies , NameSpaceT& name_space , char const* doc) { detail::name_space_def( name_space , name , &StubsT::func_15 , kw , policies , doc , &name_space); } }; # 123 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 132 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" 2 # 157 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template struct define_with_defaults_helper { template static void def( char const* name, StubsT stubs, keyword_range kw, CallPolicies const& policies, NameSpaceT& name_space, char const* doc) { define_stub_function::define(name, stubs, kw, policies, name_space, doc); if (kw.second > kw.first) --kw.second; define_with_defaults_helper::def(name, stubs, kw, policies, name_space, doc); } }; template <> struct define_with_defaults_helper<0> { template static void def( char const* name, StubsT stubs, keyword_range const& kw, CallPolicies const& policies, NameSpaceT& name_space, char const* doc) { define_stub_function<0>::define(name, stubs, kw, policies, name_space, doc); } }; # 228 "/usr/include/boost-1_42/boost/python/detail/defaults_def.hpp" template inline void define_with_defaults( char const* name, OverloadsT const& overloads, NameSpaceT& name_space, SigT const&) { typedef typename mpl::front::type return_type; typedef typename OverloadsT::void_return_type void_return_type; typedef typename OverloadsT::non_void_return_type non_void_return_type; typedef typename mpl::if_c< boost::is_same::value , void_return_type , non_void_return_type >::type stubs_type; typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (((stubs_type::max_args) <= mpl::size::value) == 0 ? false : true) >)> boost_static_assert_typedef_247; typedef typename stubs_type::template gen gen_type; define_with_defaults_helper::def( name , gen_type() , overloads.keywords() , overloads.call_policies() , name_space , overloads.doc_string()); } } }} # 12 "/usr/include/boost-1_42/boost/python/overloads.hpp" 2 # 53 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/pure_virtual.hpp" 1 # 13 "/usr/include/boost-1_42/boost/python/pure_virtual.hpp" # 1 "/usr/include/boost-1_42/boost/python/detail/nullary_function_adaptor.hpp" 1 # 14 "/usr/include/boost-1_42/boost/python/detail/nullary_function_adaptor.hpp" namespace boost { namespace python { namespace detail { template struct nullary_function_adaptor { nullary_function_adaptor(NullaryFunction fn) : m_fn(fn) {} void operator()() const { m_fn(); } # 38 "/usr/include/boost-1_42/boost/python/detail/nullary_function_adaptor.hpp" # 1 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" 1 # 37 "/usr/include/boost-1_42/boost/preprocessor/iteration/detail/local.hpp" template < class A0> void operator()( A0 const& ) const { m_fn(); } template < class A0 , class A1> void operator()( A0 const& , A1 const& ) const { m_fn(); } template < class A0 , class A1 , class A2> void operator()( A0 const& , A1 const& , A2 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3> void operator()( A0 const& , A1 const& , A2 const& , A3 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& ) const { m_fn(); } template < class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 , class A8 , class A9 , class A10 , class A11 , class A12 , class A13 , class A14> void operator()( A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& ) const { m_fn(); } # 39 "/usr/include/boost-1_42/boost/python/detail/nullary_function_adaptor.hpp" 2 private: NullaryFunction m_fn; }; }}} # 14 "/usr/include/boost-1_42/boost/python/pure_virtual.hpp" 2 namespace boost { namespace python { namespace detail { void pure_virtual_called(); template struct replace_front2 { typedef typename mpl::push_front< typename mpl::push_front< typename mpl::pop_front< typename mpl::pop_front< S >::type >::type , T2 >::type , T1 >::type type; }; template typename replace_front2::type error_signature(S ) { typedef typename replace_front2::type r; return r(); } # 65 "/usr/include/boost-1_42/boost/python/pure_virtual.hpp" template struct pure_virtual_visitor : def_visitor > { pure_virtual_visitor(PointerToMemberFunction pmf) : m_pmf(pmf) {} private: friend class python::def_visitor_access; template void visit(C_& c, char const* name, Options& options) const { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((!Options::has_default_implementation) == 0 ? false : true) >)> boost_static_assert_typedef_80; c.def( name , m_pmf , options.doc() , options.keywords() , options.policies() ); typedef typename C_::metadata::held_type held_type; c.def( name , make_function( detail::nullary_function_adaptor(pure_virtual_called) , default_call_policies() , detail::error_signature(detail::get_signature(m_pmf)) ) ); } private: PointerToMemberFunction m_pmf; }; } template detail::pure_virtual_visitor pure_virtual(PointerToMemberFunction pmf) { return detail::pure_virtual_visitor(pmf); } }} # 55 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/register_ptr_to_python.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/register_ptr_to_python.hpp" namespace boost { namespace python { template void register_ptr_to_python() { typedef typename boost::python::pointee

::type X; objects::class_value_wrapper< P , objects::make_ptr_instance< X , objects::pointer_holder > >(); } }} # 58 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/return_arg.hpp" 1 # 24 "/usr/include/boost-1_42/boost/python/return_arg.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 25 "/usr/include/boost-1_42/boost/python/return_arg.hpp" 2 namespace boost { namespace python { namespace detail { template struct return_arg_pos_argument_must_be_positive {} ; struct return_none { template struct apply { struct type { static bool convertible() { return true; } PyObject *operator()( typename value_arg::type ) const { return none(); } PyTypeObject const *get_pytype() const { return converter::expected_pytype_for_arg::get_pytype() ; } }; }; }; } template < std::size_t arg_pos=1 , class Base = default_call_policies > struct return_arg : Base { private: static const bool legal = arg_pos > 0; public: typedef typename mpl::if_c< legal , detail::return_none , detail::return_arg_pos_argument_must_be_positive >::type result_converter; template static PyObject* postcall(ArgumentPackage const& args, PyObject* result) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((arg_pos > 0) == 0 ? false : true) >)> boost_static_assert_typedef_85; result = Base::postcall(args,result); if (!result) return 0; if ( --((PyObject*)(result))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(result)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(result)))); return incref( detail::get(mpl::int_(),args) ); } template struct extract_return_type : mpl::at_c { }; }; template < class Base = default_call_policies > struct return_self : return_arg<1,Base> {}; }} # 59 "/usr/include/boost-1_42/boost/python.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/return_opaque_pointer.hpp" 1 # 18 "/usr/include/boost-1_42/boost/python/return_opaque_pointer.hpp" namespace boost { namespace python { namespace detail { template static void opaque_pointee(Pointee const volatile*) { force_instantiate(opaque::instance); } } struct return_opaque_pointer { template struct apply { struct RETURN_OPAQUE_POINTER_EXPECTS_A_POINTER_TYPE; typedef struct RETURN_OPAQUE_POINTER_EXPECTS_A_POINTER_TYPE34 : boost::mpl::assert_ { static boost::mpl::failed ************ (RETURN_OPAQUE_POINTER_EXPECTS_A_POINTER_TYPE::************ assert_arg()) (R) { return 0; } } mpl_assert_arg34; enum { mpl_assertion_in_line_34 = sizeof( boost::mpl::assertion_failed<(is_pointer::value)>( mpl_assert_arg34::assert_arg() ) ) }; struct type : boost::python::to_python_value< typename detail::value_arg::type > { type() { detail::opaque_pointee(R()); } }; }; }; }} # 61 "/usr/include/boost-1_42/boost/python.hpp" 2 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/boost_headers.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/raw_function.hpp" 1 # 16 "/usr/include/boost-1_42/boost/python/raw_function.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 17 "/usr/include/boost-1_42/boost/python/raw_function.hpp" 2 namespace boost { namespace python { namespace detail { template struct raw_dispatcher { raw_dispatcher(F f) : f(f) {} PyObject* operator()(PyObject* args, PyObject* keywords) { return incref( object( f( tuple(borrowed_reference(args)) , keywords ? dict(borrowed_reference(keywords)) : dict() ) ).ptr() ); } private: F f; }; object make_raw_function(objects::py_function); } template object raw_function(F f, std::size_t min_args = 0) { return detail::make_raw_function( objects::py_function( detail::raw_dispatcher(f) , mpl::vector1() , min_args , (std::numeric_limits::max)() ) ); } }} # 30 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/boost_headers.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/slice.hpp" 1 # 15 "/usr/include/boost-1_42/boost/python/slice.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/iterator_traits.hpp" 1 # 11 "/usr/include/boost-1_42/boost/iterator/iterator_traits.hpp" namespace boost { # 27 "/usr/include/boost-1_42/boost/iterator/iterator_traits.hpp" template struct iterator_value { typedef typename boost::detail::iterator_traits::value_type type; }; template struct iterator_reference { typedef typename boost::detail::iterator_traits::reference type; }; template struct iterator_pointer { typedef typename boost::detail::iterator_traits::pointer type; }; template struct iterator_difference { typedef typename boost::detail::iterator_traits::difference_type type; }; template struct iterator_category { typedef typename boost::detail::iterator_traits::iterator_category type; }; # 90 "/usr/include/boost-1_42/boost/iterator/iterator_traits.hpp" } # 16 "/usr/include/boost-1_42/boost/python/slice.hpp" 2 namespace boost { namespace python { namespace detail { class slice_base : public object { public: object start() const; object stop() const; object step() const; protected: explicit slice_base(PyObject*, PyObject*, PyObject*); inline explicit slice_base(python::detail::borrowed_reference p) : object(p) {} inline explicit slice_base(python::detail::new_reference p) : object(p) {} inline explicit slice_base(python::detail::new_non_null_reference p) : object(p) {} }; } class slice : public detail::slice_base { typedef detail::slice_base base; public: slice() : base(0,0,0) {} template slice( Integer1 start, Integer2 stop) : base( object(start).ptr(), object(stop).ptr(), 0 ) {} template slice( Integer1 start, Integer2 stop, Integer3 stride) : base( object(start).ptr(), object(stop).ptr(), object(stride).ptr() ) {} # 103 "/usr/include/boost-1_42/boost/python/slice.hpp" template struct range { RandomAccessIterator start; RandomAccessIterator stop; typename iterator_difference::type step; }; template slice::range get_indicies( const RandomAccessIterator& begin, const RandomAccessIterator& end) const { slice::range ret; typedef typename iterator_difference::type difference_type; difference_type max_dist = boost::detail::distance(begin, end); object slice_start = this->start(); object slice_stop = this->stop(); object slice_step = this->step(); if (slice_step == object()) { ret.step = 1; } else { ret.step = extract( slice_step); if (ret.step == 0) { PyErr_SetString( PyExc_IndexError, "step size cannot be zero."); throw_error_already_set(); } } if (slice_start == object()) { if (ret.step < 0) { ret.start = end; --ret.start; } else ret.start = begin; } else { difference_type i = extract( slice_start); if (i >= max_dist && ret.step > 0) throw std::invalid_argument( "Zero-length slice"); if (i >= 0) { ret.start = begin; using std::min; std::advance( ret.start, min (i, max_dist-1)); } else { if (i < -max_dist && ret.step < 0) throw std::invalid_argument( "Zero-length slice"); ret.start = end; std::advance( ret.start, (-i < max_dist) ? i : -max_dist ); } } if (slice_stop == object()) { if (ret.step < 0) { ret.stop = begin; } else { ret.stop = end; std::advance( ret.stop, -1); } } else { difference_type i = extract(slice_stop); if (ret.step < 0) { if (i+1 >= max_dist || i == -1) throw std::invalid_argument( "Zero-length slice"); if (i >= 0) { ret.stop = begin; std::advance( ret.stop, i+1); } else { ret.stop = end; std::advance( ret.stop, (-i < max_dist) ? i : -max_dist); } } else { if (i == 0 || -i >= max_dist) throw std::invalid_argument( "Zero-length slice"); if (i > 0) { ret.stop = begin; std::advance( ret.stop, (std::min)( i-1, max_dist-1)); } else { ret.stop = end; std::advance( ret.stop, i-1); } } } typename iterator_difference::type final_dist = boost::detail::distance( ret.start, ret.stop); if (final_dist == 0) return ret; if ((final_dist > 0) != (ret.step > 0)) throw std::invalid_argument( "Zero-length slice."); if (final_dist < 0) { difference_type remainder = -final_dist % -ret.step; std::advance( ret.stop, remainder); } else { difference_type remainder = final_dist % ret.step; std::advance( ret.stop, -remainder); } return ret; } public: inline explicit slice(python::detail::borrowed_reference p) : detail::slice_base(p) {} inline explicit slice(python::detail::new_reference p) : detail::slice_base(p) {} inline explicit slice(python::detail::new_non_null_reference p) : detail::slice_base(p) {} }; namespace converter { template<> struct object_manager_traits : pytype_object_manager_traits<&PySlice_Type, slice> { }; } } } # 31 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/boost_headers.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/suite/indexing/indexing_suite.hpp" 1 # 12 "/usr/include/boost-1_42/boost/python/suite/indexing/indexing_suite.hpp" # 1 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" # 1 "/usr/include/boost-1_42/boost/scoped_ptr.hpp" 1 # 14 "/usr/include/boost-1_42/boost/scoped_ptr.hpp" # 1 "/usr/include/boost-1_42/boost/smart_ptr/scoped_ptr.hpp" 1 # 14 "/usr/include/boost-1_42/boost/smart_ptr/scoped_ptr.hpp" # 1 "/usr/include/boost-1_42/boost/assert.hpp" 1 # 36 "/usr/include/boost-1_42/boost/assert.hpp" # 1 "/usr/include/assert.h" 1 3 4 # 37 "/usr/include/boost-1_42/boost/assert.hpp" 2 # 15 "/usr/include/boost-1_42/boost/smart_ptr/scoped_ptr.hpp" 2 namespace boost { # 39 "/usr/include/boost-1_42/boost/smart_ptr/scoped_ptr.hpp" template class scoped_ptr { private: T * px; scoped_ptr(scoped_ptr const &); scoped_ptr & operator=(scoped_ptr const &); typedef scoped_ptr this_type; void operator==( scoped_ptr const& ) const; void operator!=( scoped_ptr const& ) const; public: typedef T element_type; explicit scoped_ptr( T * p = 0 ): px( p ) { } explicit scoped_ptr( std::auto_ptr p ): px( p.release() ) { } ~scoped_ptr() { boost::checked_delete( px ); } void reset(T * p = 0) { (static_cast (0)); this_type(p).swap(*this); } T & operator*() const { (static_cast (0)); return *px; } T * operator->() const { (static_cast (0)); return px; } T * get() const { return px; } # 1 "/usr/include/boost-1_42/boost/smart_ptr/detail/operator_bool.hpp" 1 # 43 "/usr/include/boost-1_42/boost/smart_ptr/detail/operator_bool.hpp" typedef T * this_type::*unspecified_bool_type; operator unspecified_bool_type() const { return px == 0? 0: &this_type::px; } bool operator! () const { return px == 0; } # 108 "/usr/include/boost-1_42/boost/smart_ptr/scoped_ptr.hpp" 2 void swap(scoped_ptr & b) { T * tmp = b.px; b.px = px; px = tmp; } }; template inline void swap(scoped_ptr & a, scoped_ptr & b) { a.swap(b); } template inline T * get_pointer(scoped_ptr const & p) { return p.get(); } } # 15 "/usr/include/boost-1_42/boost/scoped_ptr.hpp" 2 # 11 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" 2 # 1 "/usr/include/boost-1_42/boost/detail/binary_search.hpp" 1 # 34 "/usr/include/boost-1_42/boost/detail/binary_search.hpp" namespace boost { namespace detail { template ForwardIter lower_bound(ForwardIter first, ForwardIter last, const Tp& val) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (*middle < val) { first = middle; ++first; len = len - half - 1; } else len = half; } return first; } template ForwardIter lower_bound(ForwardIter first, ForwardIter last, const Tp& val, Compare comp) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (comp(*middle, val)) { first = middle; ++first; len = len - half - 1; } else len = half; } return first; } template ForwardIter upper_bound(ForwardIter first, ForwardIter last, const Tp& val) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (val < *middle) len = half; else { first = middle; ++first; len = len - half - 1; } } return first; } template ForwardIter upper_bound(ForwardIter first, ForwardIter last, const Tp& val, Compare comp) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (comp(val, *middle)) len = half; else { first = middle; ++first; len = len - half - 1; } } return first; } template std::pair equal_range(ForwardIter first, ForwardIter last, const Tp& val) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle, left, right; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (*middle < val) { first = middle; ++first; len = len - half - 1; } else if (val < *middle) len = half; else { left = boost::detail::lower_bound(first, middle, val); std::advance(first, len); right = boost::detail::upper_bound(++middle, first, val); return std::pair(left, right); } } return std::pair(first, first); } template std::pair equal_range(ForwardIter first, ForwardIter last, const Tp& val, Compare comp) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle, left, right; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (comp(*middle, val)) { first = middle; ++first; len = len - half - 1; } else if (comp(val, *middle)) len = half; else { left = boost::detail::lower_bound(first, middle, val, comp); std::advance(first, len); right = boost::detail::upper_bound(++middle, first, val, comp); return std::pair(left, right); } } return std::pair(first, first); } template bool binary_search(ForwardIter first, ForwardIter last, const Tp& val) { ForwardIter i = boost::detail::lower_bound(first, last, val); return i != last && !(val < *i); } template bool binary_search(ForwardIter first, ForwardIter last, const Tp& val, Compare comp) { ForwardIter i = boost::detail::lower_bound(first, last, val, comp); return i != last && !comp(val, *i); } }} # 13 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" 2 # 1 "/usr/include/boost-1_42/boost/numeric/conversion/cast.hpp" 1 # 32 "/usr/include/boost-1_42/boost/numeric/conversion/cast.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/converter.hpp" 1 # 13 "/usr/include/boost-1_42/boost/numeric/conversion/converter.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/conversion_traits.hpp" 1 # 13 "/usr/include/boost-1_42/boost/numeric/conversion/conversion_traits.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/detail/conversion_traits.hpp" 1 # 17 "/usr/include/boost-1_42/boost/numeric/conversion/detail/conversion_traits.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/detail/meta.hpp" 1 # 17 "/usr/include/boost-1_42/boost/numeric/conversion/detail/meta.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/equal_to.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/equal_to.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/comparison_op.hpp" 1 # 27 "/usr/include/boost-1_42/boost/mpl/aux_/comparison_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 28 "/usr/include/boost-1_42/boost/mpl/aux_/comparison_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp" namespace boost { namespace mpl { template< typename Tag1 , typename Tag2 > struct equal_to_impl : if_c< ( Tag1::value > Tag2::value ) , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > >::type { }; template<> struct equal_to_impl< na,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct equal_to_impl< na,Tag > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct equal_to_impl< Tag,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename T > struct equal_to_tag { typedef typename T::tag type; }; template< typename N1 = na , typename N2 = na > struct equal_to : equal_to_impl< typename equal_to_tag::type , typename equal_to_tag::type >::template apply< N1,N2 >::type { }; template<> struct equal_to< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : equal_to< T1 , T2 > { }; }; template< typename Tag > struct lambda< equal_to< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef equal_to< na , na > result_; typedef equal_to< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< equal_to< T1 , T2 > > : int_<2> { }; template<> struct template_arity< equal_to< na , na > > : int_<-1> { }; } }} namespace boost { namespace mpl { template<> struct equal_to_impl< integral_c_tag,integral_c_tag > { template< typename N1, typename N2 > struct apply : bool_< ( N1::value == N2::value ) > { }; }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 36 "/usr/include/boost-1_42/boost/mpl/aux_/comparison_op.hpp" 2 # 20 "/usr/include/boost-1_42/boost/mpl/equal_to.hpp" 2 # 18 "/usr/include/boost-1_42/boost/numeric/conversion/detail/meta.hpp" 2 namespace boost { namespace numeric { namespace convdetail { template< class T1, class T2> struct equal_to { enum { x = ( T1::value == T2::value ) }; static const bool value = x; typedef mpl::bool_ type; # 48 "/usr/include/boost-1_42/boost/numeric/conversion/detail/meta.hpp" }; # 59 "/usr/include/boost-1_42/boost/numeric/conversion/detail/meta.hpp" template struct ct_switch4 { typedef mpl::identity Case0TypeQ ; typedef mpl::identity Case1TypeQ ; typedef equal_to is_case0 ; typedef equal_to is_case1 ; typedef equal_to is_case2 ; typedef mpl::if_ choose_2_3Q ; typedef mpl::eval_if choose_1_2_3Q ; typedef typename mpl::eval_if::type type ; } ; # 97 "/usr/include/boost-1_42/boost/numeric/conversion/detail/meta.hpp" template struct for_both { typedef mpl::identity TF_Q ; typedef mpl::identity TT_Q ; typedef typename mpl::not_::type not_expr0 ; typedef typename mpl::not_::type not_expr1 ; typedef typename mpl::and_::type caseTT ; typedef typename mpl::and_::type caseTF ; typedef typename mpl::and_::type caseFT ; typedef mpl::if_ choose_FT_FF_Q ; typedef mpl::eval_if choose_TF_FT_FF_Q ; typedef typename mpl::eval_if::type type ; } ; } } } # 18 "/usr/include/boost-1_42/boost/numeric/conversion/detail/conversion_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/numeric/conversion/detail/int_float_mixture.hpp" 1 # 16 "/usr/include/boost-1_42/boost/numeric/conversion/detail/int_float_mixture.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/int_float_mixture_enum.hpp" 1 # 13 "/usr/include/boost-1_42/boost/numeric/conversion/int_float_mixture_enum.hpp" namespace boost { namespace numeric { enum int_float_mixture_enum { integral_to_integral ,integral_to_float ,float_to_integral ,float_to_float } ; } } # 17 "/usr/include/boost-1_42/boost/numeric/conversion/detail/int_float_mixture.hpp" 2 namespace boost { namespace numeric { namespace convdetail { typedef mpl::integral_c int2int_c ; typedef mpl::integral_c int2float_c ; typedef mpl::integral_c float2int_c ; typedef mpl::integral_c float2float_c ; template struct get_int_float_mixture { typedef mpl::bool_< ::std::numeric_limits::is_integer > S_int ; typedef mpl::bool_< ::std::numeric_limits::is_integer > T_int ; typedef typename for_both::type type ; } ; # 55 "/usr/include/boost-1_42/boost/numeric/conversion/detail/int_float_mixture.hpp" template struct for_int_float_mixture { typedef typename ct_switch4::type type ; } ; } } } # 19 "/usr/include/boost-1_42/boost/numeric/conversion/detail/conversion_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/numeric/conversion/detail/sign_mixture.hpp" 1 # 16 "/usr/include/boost-1_42/boost/numeric/conversion/detail/sign_mixture.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/sign_mixture_enum.hpp" 1 # 13 "/usr/include/boost-1_42/boost/numeric/conversion/sign_mixture_enum.hpp" namespace boost { namespace numeric { enum sign_mixture_enum { unsigned_to_unsigned ,signed_to_signed ,signed_to_unsigned ,unsigned_to_signed } ; } } # 17 "/usr/include/boost-1_42/boost/numeric/conversion/detail/sign_mixture.hpp" 2 namespace boost { namespace numeric { namespace convdetail { typedef mpl::integral_c unsig2unsig_c ; typedef mpl::integral_c sig2sig_c ; typedef mpl::integral_c sig2unsig_c ; typedef mpl::integral_c unsig2sig_c ; template struct get_sign_mixture { typedef mpl::bool_< ::std::numeric_limits::is_signed > S_signed ; typedef mpl::bool_< ::std::numeric_limits::is_signed > T_signed ; typedef typename for_both::type type ; } ; # 55 "/usr/include/boost-1_42/boost/numeric/conversion/detail/sign_mixture.hpp" template struct for_sign_mixture { typedef typename ct_switch4::type type ; } ; } } } # 20 "/usr/include/boost-1_42/boost/numeric/conversion/detail/conversion_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/numeric/conversion/detail/udt_builtin_mixture.hpp" 1 # 15 "/usr/include/boost-1_42/boost/numeric/conversion/detail/udt_builtin_mixture.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/udt_builtin_mixture_enum.hpp" 1 # 13 "/usr/include/boost-1_42/boost/numeric/conversion/udt_builtin_mixture_enum.hpp" namespace boost { namespace numeric { enum udt_builtin_mixture_enum { builtin_to_builtin ,builtin_to_udt ,udt_to_builtin ,udt_to_udt } ; } } # 16 "/usr/include/boost-1_42/boost/numeric/conversion/detail/udt_builtin_mixture.hpp" 2 namespace boost { namespace numeric { namespace convdetail { typedef mpl::integral_c builtin2builtin_c ; typedef mpl::integral_c builtin2udt_c ; typedef mpl::integral_c udt2builtin_c ; typedef mpl::integral_c udt2udt_c ; # 37 "/usr/include/boost-1_42/boost/numeric/conversion/detail/udt_builtin_mixture.hpp" template struct for_udt_builtin_mixture { typedef typename ct_switch4::type type ; } ; template struct get_udt_builtin_mixture { typedef is_arithmetic S_builtin ; typedef is_arithmetic T_builtin ; typedef typename for_both::type type ; } ; } } } # 21 "/usr/include/boost-1_42/boost/numeric/conversion/detail/conversion_traits.hpp" 2 # 1 "/usr/include/boost-1_42/boost/numeric/conversion/detail/is_subranged.hpp" 1 # 17 "/usr/include/boost-1_42/boost/numeric/conversion/detail/is_subranged.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/multiplies.hpp" 1 # 17 "/usr/include/boost-1_42/boost/mpl/multiplies.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/times.hpp" 1 # 19 "/usr/include/boost-1_42/boost/mpl/times.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 1 # 26 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 1 # 22 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/apply_wrap.hpp" 1 # 23 "/usr/include/boost-1_42/boost/mpl/aux_/numeric_op.hpp" 2 # 27 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/times.hpp" 1 # 12 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessed/gcc/times.hpp" namespace boost { namespace mpl { template< typename Tag1 , typename Tag2 > struct times_impl : if_c< ( Tag1::value > Tag2::value ) , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > >::type { }; template<> struct times_impl< na,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct times_impl< na,Tag > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename Tag > struct times_impl< Tag,na > { template< typename U1, typename U2 > struct apply { typedef apply type; static const int value = 0; }; }; template< typename T > struct times_tag { typedef typename T::tag type; }; template< typename N1 = na , typename N2 = na , typename N3 = na, typename N4 = na, typename N5 = na > struct times : times< times< times< times< N1,N2 >, N3>, N4>, N5> { }; template< typename N1, typename N2, typename N3, typename N4 > struct times< N1,N2,N3,N4,na > : times< times< times< N1,N2 >, N3>, N4> { }; template< typename N1, typename N2, typename N3 > struct times< N1,N2,N3,na,na > : times< times< N1,N2 >, N3> { }; template< typename N1, typename N2 > struct times< N1,N2,na,na,na > : times_impl< typename times_tag::type , typename times_tag::type >::template apply< N1,N2 >::type { }; template<> struct times< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : times< T1 , T2 > { }; }; template< typename Tag > struct lambda< times< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef times< na , na > result_; typedef times< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< times< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< times< na , na > > : int_<-1> { }; } }} namespace boost { namespace mpl { template<> struct times_impl< integral_c_tag,integral_c_tag > { template< typename N1, typename N2 > struct apply : integral_c< typename aux::largest_int< typename N1::value_type , typename N2::value_type >::type , ( N1::value * N2::value ) > { }; }; }} # 38 "/usr/include/boost-1_42/boost/mpl/aux_/include_preprocessed.hpp" 2 # 35 "/usr/include/boost-1_42/boost/mpl/aux_/arithmetic_op.hpp" 2 # 20 "/usr/include/boost-1_42/boost/mpl/times.hpp" 2 # 18 "/usr/include/boost-1_42/boost/mpl/multiplies.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/aux_/preprocessor/default_params.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/multiplies.hpp" 2 namespace boost { namespace mpl { template< typename N1 = na , typename N2 = na , typename N3 = na , typename N4 = na , typename N5 = na > struct multiplies : times< N1 , N2 , N3 , N4 , N5 > { }; template<> struct multiplies< na , na , na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct apply : multiplies< T1 , T2 , T3 , T4 , T5 > { }; }; template< typename Tag > struct lambda< multiplies< na , na , na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef multiplies< na , na , na , na , na > result_; typedef multiplies< na , na , na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< multiplies< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< multiplies< na , na , na , na , na > > : int_<-1> { }; } }} # 18 "/usr/include/boost-1_42/boost/numeric/conversion/detail/is_subranged.hpp" 2 # 28 "/usr/include/boost-1_42/boost/numeric/conversion/detail/is_subranged.hpp" namespace boost { namespace numeric { namespace convdetail { template struct subranged_Sig2Unsig { typedef mpl::true_ type ; } ; template struct subranged_Unsig2Sig { # 62 "/usr/include/boost-1_42/boost/numeric/conversion/detail/is_subranged.hpp" typedef mpl::int_< ::std::numeric_limits::digits > S_digits ; typedef mpl::int_< ::std::numeric_limits::digits > T_digits ; typedef typename T_digits::next u_T_digits ; typedef mpl::int_<2> Two ; typedef typename mpl::multiplies::type S_digits_times_2 ; typedef typename mpl::less::type type ; } ; template struct subranged_SameSign { typedef mpl::int_< ::std::numeric_limits::digits > S_digits ; typedef mpl::int_< ::std::numeric_limits::digits > T_digits ; typedef typename mpl::less::type type ; } ; template struct subranged_Int2Float { typedef mpl::false_ type ; } ; template struct subranged_Float2Int { typedef mpl::true_ type ; } ; template struct subranged_Float2Float { typedef mpl::int_< ::std::numeric_limits::digits > S_mantisa ; typedef mpl::int_< ::std::numeric_limits::digits > T_mantisa ; typedef mpl::int_< ::std::numeric_limits::max_exponent > S_exponent ; typedef mpl::int_< ::std::numeric_limits::max_exponent > T_exponent ; typedef typename mpl::less::type T_smaller_exponent ; typedef typename mpl::equal_to::type equal_exponents ; typedef mpl::less T_smaller_mantisa ; typedef mpl::eval_if not_bigger_exponent_case ; typedef typename mpl::eval_if::type type ; } ; template struct subranged_Udt2BuiltIn { typedef mpl::true_ type ; } ; template struct subranged_BuiltIn2Udt { typedef mpl::false_ type ; } ; template struct subranged_Udt2Udt { typedef mpl::false_ type ; } ; template struct get_subranged_Int2Int { typedef subranged_SameSign Sig2Sig ; typedef subranged_Sig2Unsig Sig2Unsig ; typedef subranged_Unsig2Sig Unsig2Sig ; typedef Sig2Sig Unsig2Unsig ; typedef typename get_sign_mixture::type sign_mixture ; typedef typename for_sign_mixture::type type ; } ; template struct get_subranged_BuiltIn2BuiltIn { typedef get_subranged_Int2Int Int2IntQ ; typedef subranged_Int2Float Int2Float ; typedef subranged_Float2Int Float2Int ; typedef subranged_Float2Float Float2Float ; typedef mpl::identity Int2FloatQ ; typedef mpl::identity Float2IntQ ; typedef mpl::identity Float2FloatQ ; typedef typename get_int_float_mixture::type int_float_mixture ; typedef for_int_float_mixture for_ ; typedef typename for_::type selected ; typedef typename selected::type type ; } ; template struct get_subranged { typedef get_subranged_BuiltIn2BuiltIn BuiltIn2BuiltInQ ; typedef subranged_BuiltIn2Udt BuiltIn2Udt ; typedef subranged_Udt2BuiltIn Udt2BuiltIn ; typedef subranged_Udt2Udt Udt2Udt ; typedef mpl::identity BuiltIn2UdtQ ; typedef mpl::identity Udt2BuiltInQ ; typedef mpl::identity Udt2UdtQ ; typedef typename get_udt_builtin_mixture::type udt_builtin_mixture ; typedef typename for_udt_builtin_mixture::type selected ; typedef typename selected::type selected2 ; typedef typename selected2::type type ; } ; template struct get_is_subranged { typedef get_subranged non_trivial_case ; typedef mpl::identity trivial_case ; typedef is_same is_trivial ; typedef typename mpl::if_::type selected ; typedef typename selected::type type ; } ; } } } # 22 "/usr/include/boost-1_42/boost/numeric/conversion/detail/conversion_traits.hpp" 2 namespace boost { namespace numeric { namespace convdetail { template struct non_trivial_traits_impl { typedef typename get_int_float_mixture ::type int_float_mixture ; typedef typename get_sign_mixture ::type sign_mixture ; typedef typename get_udt_builtin_mixture ::type udt_builtin_mixture ; typedef typename get_is_subranged::type subranged ; typedef mpl::false_ trivial ; typedef T target_type ; typedef S source_type ; typedef T result_type ; typedef typename mpl::if_< is_arithmetic, S, S const&>::type argument_type ; typedef typename mpl::if_::type supertype ; typedef typename mpl::if_::type subtype ; } ; template struct trivial_traits_impl { typedef typename get_int_float_mixture ::type int_float_mixture ; typedef typename get_sign_mixture ::type sign_mixture ; typedef typename get_udt_builtin_mixture::type udt_builtin_mixture ; typedef mpl::false_ subranged ; typedef mpl::true_ trivial ; typedef N target_type ; typedef N source_type ; typedef N const& result_type ; typedef N const& argument_type ; typedef N supertype ; typedef N subtype ; } ; template struct get_conversion_traits { typedef typename remove_cv::type target_type ; typedef typename remove_cv::type source_type ; typedef typename is_same::type is_trivial ; typedef trivial_traits_impl trivial_imp ; typedef non_trivial_traits_impl non_trivial_imp ; typedef typename mpl::if_::type type ; } ; } } } # 14 "/usr/include/boost-1_42/boost/numeric/conversion/conversion_traits.hpp" 2 namespace boost { namespace numeric { template struct conversion_traits : convdetail::get_conversion_traits::type { } ; } } # 14 "/usr/include/boost-1_42/boost/numeric/conversion/converter.hpp" 2 # 1 "/usr/include/boost-1_42/boost/numeric/conversion/converter_policies.hpp" 1 # 15 "/usr/include/boost-1_42/boost/numeric/conversion/converter_policies.hpp" # 1 "/usr/include/boost-1_42/boost/config/no_tr1/cmath.hpp" 1 # 21 "/usr/include/boost-1_42/boost/config/no_tr1/cmath.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cmath" 3 # 22 "/usr/include/boost-1_42/boost/config/no_tr1/cmath.hpp" 2 # 16 "/usr/include/boost-1_42/boost/numeric/conversion/converter_policies.hpp" 2 # 24 "/usr/include/boost-1_42/boost/numeric/conversion/converter_policies.hpp" namespace boost { namespace numeric { template struct Trunc { typedef S source_type ; typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; static source_type nearbyint ( argument_type s ) { using std::floor ; using std::ceil ; return s < static_cast(0) ? ceil(s) : floor(s) ; } typedef mpl::integral_c< std::float_round_style, std::round_toward_zero> round_style ; } ; template struct Floor { typedef S source_type ; typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; static source_type nearbyint ( argument_type s ) { using std::floor ; return floor(s) ; } typedef mpl::integral_c< std::float_round_style, std::round_toward_neg_infinity> round_style ; } ; template struct Ceil { typedef S source_type ; typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; static source_type nearbyint ( argument_type s ) { using std::ceil ; return ceil(s) ; } typedef mpl::integral_c< std::float_round_style, std::round_toward_infinity> round_style ; } ; template struct RoundEven { typedef S source_type ; typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; static source_type nearbyint ( argument_type s ) { using std::floor ; using std::ceil ; S prev = floor(s); S next = ceil(s); S rt = (s - prev) - (next - s); S const zero(0.0); S const two(2.0); if ( rt < zero ) return prev; else if ( rt > zero ) return next; else { bool is_prev_even = two * floor(prev / two) == prev ; return ( is_prev_even ? prev : next ) ; } } typedef mpl::integral_c< std::float_round_style, std::round_to_nearest> round_style ; } ; enum range_check_result { cInRange = 0 , cNegOverflow = 1 , cPosOverflow = 2 } ; class bad_numeric_cast : public std::bad_cast { public: virtual const char * what() const throw() { return "bad numeric conversion: overflow"; } }; class negative_overflow : public bad_numeric_cast { public: virtual const char * what() const throw() { return "bad numeric conversion: negative overflow"; } }; class positive_overflow : public bad_numeric_cast { public: virtual const char * what() const throw() { return "bad numeric conversion: positive overflow"; } }; struct def_overflow_handler { void operator() ( range_check_result r ) { if ( r == cNegOverflow ) throw negative_overflow() ; else if ( r == cPosOverflow ) throw positive_overflow() ; } } ; struct silent_overflow_handler { void operator() ( range_check_result ) {} } ; template struct raw_converter { typedef typename Traits::result_type result_type ; typedef typename Traits::argument_type argument_type ; static result_type low_level_convert ( argument_type s ) { return static_cast(s) ; } } ; struct UseInternalRangeChecker {} ; } } # 15 "/usr/include/boost-1_42/boost/numeric/conversion/converter.hpp" 2 # 1 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" 1 # 17 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/bounds.hpp" 1 # 13 "/usr/include/boost-1_42/boost/numeric/conversion/bounds.hpp" # 1 "/usr/include/boost-1_42/boost/numeric/conversion/detail/bounds.hpp" 1 # 17 "/usr/include/boost-1_42/boost/numeric/conversion/detail/bounds.hpp" namespace boost { namespace numeric { namespace boundsdetail { template class Integral { typedef std::numeric_limits limits ; public : static N lowest () { return limits::min (); } static N highest () { return limits::max (); } static N smallest() { return static_cast(1); } } ; template class Float { typedef std::numeric_limits limits ; public : static N lowest () { return static_cast(-limits::max ()) ; } static N highest () { return limits::max (); } static N smallest() { return limits::min (); } } ; template struct get_impl { typedef mpl::bool_< ::std::numeric_limits::is_integer > is_int ; typedef Integral impl_int ; typedef Float impl_float ; typedef typename mpl::if_::type type ; } ; } } } # 14 "/usr/include/boost-1_42/boost/numeric/conversion/bounds.hpp" 2 namespace boost { namespace numeric { template struct bounds : boundsdetail::get_impl::type {} ; } } # 18 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" 2 namespace boost { namespace numeric { namespace convdetail { typedef mpl::integral_c round2zero_c ; typedef mpl::integral_c round2nearest_c ; typedef mpl::integral_c round2inf_c ; typedef mpl::integral_c round2neg_inf_c ; # 40 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" template struct for_round_style { typedef ct_switch4 selector ; typedef typename selector::type type ; } ; # 81 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" struct non_applicable { typedef mpl::false_ do_apply ; } ; struct applicable { typedef mpl::true_ do_apply ; } ; # 96 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" template struct LT_LoT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s < static_cast(bounds::lowest()) ? cNegOverflow : cInRange ; } } ; template struct LT_Zero : applicable { typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s < static_cast(0) ? cNegOverflow : cInRange ; } } ; template struct LE_PrevLoT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s <= static_cast(bounds::lowest()) - static_cast(1.0) ? cNegOverflow : cInRange ; } } ; template struct LT_HalfPrevLoT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s < static_cast(bounds::lowest()) - static_cast(0.5) ? cNegOverflow : cInRange ; } } ; template struct GT_HiT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s > static_cast(bounds::highest()) ? cPosOverflow : cInRange ; } } ; template struct GE_SuccHiT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s >= static_cast(bounds::highest()) + static_cast(1.0) ? cPosOverflow : cInRange ; } } ; template struct GT_HalfSuccHiT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s >= static_cast(bounds::highest()) + static_cast(0.5) ? cPosOverflow : cInRange ; } } ; # 215 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" template struct applyBoth { typedef typename PredA::argument_type argument_type ; static range_check_result apply ( argument_type s ) { range_check_result r = PredA::apply(s) ; if ( r == cInRange ) r = PredB::apply(s); return r ; } } ; template struct combine { typedef applyBoth Both ; typedef void NNone ; typedef typename PredA::do_apply do_applyA ; typedef typename PredB::do_apply do_applyB ; typedef typename for_both::type type ; } ; # 262 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" template struct dummy_range_checker { typedef typename Traits::argument_type argument_type ; static range_check_result out_of_range ( argument_type ) { return cInRange ; } static void validate_range ( argument_type ) {} } ; # 279 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" template struct generic_range_checker { typedef OverflowHandler overflow_handler ; typedef typename Traits::argument_type argument_type ; static range_check_result out_of_range ( argument_type s ) { typedef typename combine::type Predicate ; return Predicate::apply(s); } static void validate_range ( argument_type s ) { OverflowHandler()( out_of_range(s) ) ; } } ; # 305 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" template struct GetRC_Sig2Sig_or_Unsig2Unsig { typedef dummy_range_checker Dummy ; typedef LT_LoT Pred1 ; typedef GT_HiT Pred2 ; typedef generic_range_checker Normal ; typedef typename Traits::subranged subranged ; typedef typename mpl::if_::type type ; } ; template struct GetRC_Sig2Unsig { typedef LT_Zero Pred1 ; typedef GT_HiT Pred2 ; typedef generic_range_checker ChoiceA ; typedef generic_range_checker ChoiceB ; typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename subranged_Unsig2Sig::type oposite_subranged ; typedef typename mpl::not_::type positively_subranged ; typedef typename mpl::if_::type type ; } ; template struct GetRC_Unsig2Sig { typedef GT_HiT Pred1 ; typedef generic_range_checker type ; } ; template struct GetRC_Int2Int { typedef GetRC_Sig2Sig_or_Unsig2Unsig Sig2SigQ ; typedef GetRC_Sig2Unsig Sig2UnsigQ ; typedef GetRC_Unsig2Sig Unsig2SigQ ; typedef Sig2SigQ Unsig2UnsigQ ; typedef typename Traits::sign_mixture sign_mixture ; typedef typename for_sign_mixture::type selector ; typedef typename selector::type type ; } ; template struct GetRC_Int2Float { typedef dummy_range_checker type ; } ; template struct GetRC_Float2Int { typedef LE_PrevLoT Pred1 ; typedef GE_SuccHiT Pred2 ; typedef LT_HalfPrevLoT Pred3 ; typedef GT_HalfSuccHiT Pred4 ; typedef GT_HiT Pred5 ; typedef LT_LoT Pred6 ; typedef generic_range_checker ToZero ; typedef generic_range_checker ToNearest ; typedef generic_range_checker ToInf ; typedef generic_range_checker ToNegInf ; typedef typename Float2IntRounder::round_style round_style ; typedef typename for_round_style::type type ; } ; template struct GetRC_Float2Float { typedef dummy_range_checker Dummy ; typedef LT_LoT Pred1 ; typedef GT_HiT Pred2 ; typedef generic_range_checker Normal ; typedef typename Traits::subranged subranged ; typedef typename mpl::if_::type type ; } ; template struct GetRC_BuiltIn2BuiltIn { typedef GetRC_Int2Int Int2IntQ ; typedef GetRC_Int2Float Int2FloatQ ; typedef GetRC_Float2Int Float2IntQ ; typedef GetRC_Float2Float Float2FloatQ ; typedef typename Traits::int_float_mixture int_float_mixture ; typedef typename for_int_float_mixture::type selector ; typedef typename selector::type type ; } ; template struct GetRC { typedef GetRC_BuiltIn2BuiltIn BuiltIn2BuiltInQ ; typedef dummy_range_checker Dummy ; typedef mpl::identity DummyQ ; typedef typename Traits::udt_builtin_mixture udt_builtin_mixture ; typedef typename for_udt_builtin_mixture::type selector ; typedef typename selector::type type ; } ; # 452 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" template struct trivial_converter_impl : public std::unary_function< typename Traits::argument_type ,typename Traits::result_type > ,public dummy_range_checker { typedef Traits traits ; typedef typename Traits::source_type source_type ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; static result_type low_level_convert ( argument_type s ) { return s ; } static source_type nearbyint ( argument_type s ) { return s ; } static result_type convert ( argument_type s ) { return s ; } } ; template struct rounding_converter : public std::unary_function< typename Traits::argument_type ,typename Traits::result_type > ,public RangeChecker ,public Float2IntRounder ,public RawConverter { typedef RangeChecker RangeCheckerBase ; typedef Float2IntRounder Float2IntRounderBase ; typedef RawConverter RawConverterBase ; typedef Traits traits ; typedef typename Traits::source_type source_type ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; static result_type convert ( argument_type s ) { RangeCheckerBase::validate_range(s); source_type s1 = Float2IntRounderBase::nearbyint(s); return RawConverterBase::low_level_convert(s1); } } ; template struct non_rounding_converter : public std::unary_function< typename Traits::argument_type ,typename Traits::result_type > ,public RangeChecker ,public RawConverter { typedef RangeChecker RangeCheckerBase ; typedef RawConverter RawConverterBase ; typedef Traits traits ; typedef typename Traits::source_type source_type ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; static source_type nearbyint ( argument_type s ) { return s ; } static result_type convert ( argument_type s ) { RangeCheckerBase::validate_range(s); return RawConverterBase::low_level_convert(s); } } ; # 537 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" template struct get_non_trivial_converter { typedef GetRC InternalRangeCheckerQ ; typedef is_same use_internal_RC ; typedef mpl::identity UserRangeCheckerQ ; typedef typename mpl::eval_if::type RangeChecker ; typedef non_rounding_converter NonRounding ; typedef rounding_converter Rounding ; typedef mpl::identity NonRoundingQ ; typedef mpl::identity RoundingQ ; typedef typename Traits::int_float_mixture int_float_mixture ; typedef typename for_int_float_mixture::type selector ; typedef typename selector::type type ; } ; template< class Traits ,class OverflowHandler ,class Float2IntRounder ,class RawConverter ,class UserRangeChecker > struct get_converter_impl { # 583 "/usr/include/boost-1_42/boost/numeric/conversion/detail/converter.hpp" typedef trivial_converter_impl Trivial ; typedef mpl::identity TrivialQ ; typedef get_non_trivial_converter< Traits ,OverflowHandler ,Float2IntRounder ,RawConverter ,UserRangeChecker > NonTrivialQ ; typedef typename Traits::trivial trivial ; typedef typename mpl::eval_if::type type ; } ; } } } # 17 "/usr/include/boost-1_42/boost/numeric/conversion/converter.hpp" 2 namespace boost { namespace numeric { template, class OverflowHandler = def_overflow_handler, class Float2IntRounder = Trunc< typename Traits::source_type> , class RawConverter = raw_converter, class UserRangeChecker = UseInternalRangeChecker > struct converter : convdetail::get_converter_impl::type { typedef Traits traits ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; result_type operator() ( argument_type s ) const { return this->convert(s) ; } } ; template , class UserRangeChecker = UseInternalRangeChecker > struct make_converter_from { template, class RawConverter = raw_converter > struct to { typedef converter type ; } ; } ; } } # 33 "/usr/include/boost-1_42/boost/numeric/conversion/cast.hpp" 2 namespace boost { template inline Target numeric_cast ( Source arg ) { typedef boost::numeric::converter Converter ; return Converter::convert(arg); } using numeric::bad_numeric_cast; } # 14 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/map" 1 3 # 58 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/map" 3 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/map" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 1 3 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 85 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 3 enum _Rb_tree_color { _S_red = false, _S_black = true }; struct _Rb_tree_node_base { typedef _Rb_tree_node_base* _Base_ptr; typedef const _Rb_tree_node_base* _Const_Base_ptr; _Rb_tree_color _M_color; _Base_ptr _M_parent; _Base_ptr _M_left; _Base_ptr _M_right; static _Base_ptr _S_minimum(_Base_ptr __x) { while (__x->_M_left != 0) __x = __x->_M_left; return __x; } static _Const_Base_ptr _S_minimum(_Const_Base_ptr __x) { while (__x->_M_left != 0) __x = __x->_M_left; return __x; } static _Base_ptr _S_maximum(_Base_ptr __x) { while (__x->_M_right != 0) __x = __x->_M_right; return __x; } static _Const_Base_ptr _S_maximum(_Const_Base_ptr __x) { while (__x->_M_right != 0) __x = __x->_M_right; return __x; } }; template struct _Rb_tree_node : public _Rb_tree_node_base { typedef _Rb_tree_node<_Val>* _Link_type; _Val _M_value_field; }; __attribute__ ((__pure__)) _Rb_tree_node_base* _Rb_tree_increment(_Rb_tree_node_base* __x) throw (); __attribute__ ((__pure__)) const _Rb_tree_node_base* _Rb_tree_increment(const _Rb_tree_node_base* __x) throw (); __attribute__ ((__pure__)) _Rb_tree_node_base* _Rb_tree_decrement(_Rb_tree_node_base* __x) throw (); __attribute__ ((__pure__)) const _Rb_tree_node_base* _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw (); template struct _Rb_tree_iterator { typedef _Tp value_type; typedef _Tp& reference; typedef _Tp* pointer; typedef bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef _Rb_tree_iterator<_Tp> _Self; typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; typedef _Rb_tree_node<_Tp>* _Link_type; _Rb_tree_iterator() : _M_node() { } explicit _Rb_tree_iterator(_Link_type __x) : _M_node(__x) { } reference operator*() const { return static_cast<_Link_type>(_M_node)->_M_value_field; } pointer operator->() const { return &static_cast<_Link_type>(_M_node)->_M_value_field; } _Self& operator++() { _M_node = _Rb_tree_increment(_M_node); return *this; } _Self operator++(int) { _Self __tmp = *this; _M_node = _Rb_tree_increment(_M_node); return __tmp; } _Self& operator--() { _M_node = _Rb_tree_decrement(_M_node); return *this; } _Self operator--(int) { _Self __tmp = *this; _M_node = _Rb_tree_decrement(_M_node); return __tmp; } bool operator==(const _Self& __x) const { return _M_node == __x._M_node; } bool operator!=(const _Self& __x) const { return _M_node != __x._M_node; } _Base_ptr _M_node; }; template struct _Rb_tree_const_iterator { typedef _Tp value_type; typedef const _Tp& reference; typedef const _Tp* pointer; typedef _Rb_tree_iterator<_Tp> iterator; typedef bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef _Rb_tree_const_iterator<_Tp> _Self; typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; typedef const _Rb_tree_node<_Tp>* _Link_type; _Rb_tree_const_iterator() : _M_node() { } explicit _Rb_tree_const_iterator(_Link_type __x) : _M_node(__x) { } _Rb_tree_const_iterator(const iterator& __it) : _M_node(__it._M_node) { } reference operator*() const { return static_cast<_Link_type>(_M_node)->_M_value_field; } pointer operator->() const { return &static_cast<_Link_type>(_M_node)->_M_value_field; } _Self& operator++() { _M_node = _Rb_tree_increment(_M_node); return *this; } _Self operator++(int) { _Self __tmp = *this; _M_node = _Rb_tree_increment(_M_node); return __tmp; } _Self& operator--() { _M_node = _Rb_tree_decrement(_M_node); return *this; } _Self operator--(int) { _Self __tmp = *this; _M_node = _Rb_tree_decrement(_M_node); return __tmp; } bool operator==(const _Self& __x) const { return _M_node == __x._M_node; } bool operator!=(const _Self& __x) const { return _M_node != __x._M_node; } _Base_ptr _M_node; }; template inline bool operator==(const _Rb_tree_iterator<_Val>& __x, const _Rb_tree_const_iterator<_Val>& __y) { return __x._M_node == __y._M_node; } template inline bool operator!=(const _Rb_tree_iterator<_Val>& __x, const _Rb_tree_const_iterator<_Val>& __y) { return __x._M_node != __y._M_node; } void _Rb_tree_insert_and_rebalance(const bool __insert_left, _Rb_tree_node_base* __x, _Rb_tree_node_base* __p, _Rb_tree_node_base& __header) throw (); _Rb_tree_node_base* _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, _Rb_tree_node_base& __header) throw (); template > class _Rb_tree { typedef typename _Alloc::template rebind<_Rb_tree_node<_Val> >::other _Node_allocator; protected: typedef _Rb_tree_node_base* _Base_ptr; typedef const _Rb_tree_node_base* _Const_Base_ptr; public: typedef _Key key_type; typedef _Val value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef _Rb_tree_node<_Val>* _Link_type; typedef const _Rb_tree_node<_Val>* _Const_Link_type; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; _Node_allocator& _M_get_Node_allocator() { return *static_cast<_Node_allocator*>(&this->_M_impl); } const _Node_allocator& _M_get_Node_allocator() const { return *static_cast(&this->_M_impl); } allocator_type get_allocator() const { return allocator_type(_M_get_Node_allocator()); } protected: _Link_type _M_get_node() { return _M_impl._Node_allocator::allocate(1); } void _M_put_node(_Link_type __p) { _M_impl._Node_allocator::deallocate(__p, 1); } _Link_type _M_create_node(const value_type& __x) { _Link_type __tmp = _M_get_node(); try { get_allocator().construct(&__tmp->_M_value_field, __x); } catch(...) { _M_put_node(__tmp); throw; } return __tmp; } void _M_destroy_node(_Link_type __p) { get_allocator().destroy(&__p->_M_value_field); _M_put_node(__p); } # 413 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 3 _Link_type _M_clone_node(_Const_Link_type __x) { _Link_type __tmp = _M_create_node(__x->_M_value_field); __tmp->_M_color = __x->_M_color; __tmp->_M_left = 0; __tmp->_M_right = 0; return __tmp; } protected: template struct _Rb_tree_impl : public _Node_allocator { _Key_compare _M_key_compare; _Rb_tree_node_base _M_header; size_type _M_node_count; _Rb_tree_impl() : _Node_allocator(), _M_key_compare(), _M_header(), _M_node_count(0) { _M_initialize(); } _Rb_tree_impl(const _Key_compare& __comp, const _Node_allocator& __a) : _Node_allocator(__a), _M_key_compare(__comp), _M_header(), _M_node_count(0) { _M_initialize(); } private: void _M_initialize() { this->_M_header._M_color = _S_red; this->_M_header._M_parent = 0; this->_M_header._M_left = &this->_M_header; this->_M_header._M_right = &this->_M_header; } }; _Rb_tree_impl<_Compare> _M_impl; protected: _Base_ptr& _M_root() { return this->_M_impl._M_header._M_parent; } _Const_Base_ptr _M_root() const { return this->_M_impl._M_header._M_parent; } _Base_ptr& _M_leftmost() { return this->_M_impl._M_header._M_left; } _Const_Base_ptr _M_leftmost() const { return this->_M_impl._M_header._M_left; } _Base_ptr& _M_rightmost() { return this->_M_impl._M_header._M_right; } _Const_Base_ptr _M_rightmost() const { return this->_M_impl._M_header._M_right; } _Link_type _M_begin() { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } _Const_Link_type _M_begin() const { return static_cast<_Const_Link_type> (this->_M_impl._M_header._M_parent); } _Link_type _M_end() { return static_cast<_Link_type>(&this->_M_impl._M_header); } _Const_Link_type _M_end() const { return static_cast<_Const_Link_type>(&this->_M_impl._M_header); } static const_reference _S_value(_Const_Link_type __x) { return __x->_M_value_field; } static const _Key& _S_key(_Const_Link_type __x) { return _KeyOfValue()(_S_value(__x)); } static _Link_type _S_left(_Base_ptr __x) { return static_cast<_Link_type>(__x->_M_left); } static _Const_Link_type _S_left(_Const_Base_ptr __x) { return static_cast<_Const_Link_type>(__x->_M_left); } static _Link_type _S_right(_Base_ptr __x) { return static_cast<_Link_type>(__x->_M_right); } static _Const_Link_type _S_right(_Const_Base_ptr __x) { return static_cast<_Const_Link_type>(__x->_M_right); } static const_reference _S_value(_Const_Base_ptr __x) { return static_cast<_Const_Link_type>(__x)->_M_value_field; } static const _Key& _S_key(_Const_Base_ptr __x) { return _KeyOfValue()(_S_value(__x)); } static _Base_ptr _S_minimum(_Base_ptr __x) { return _Rb_tree_node_base::_S_minimum(__x); } static _Const_Base_ptr _S_minimum(_Const_Base_ptr __x) { return _Rb_tree_node_base::_S_minimum(__x); } static _Base_ptr _S_maximum(_Base_ptr __x) { return _Rb_tree_node_base::_S_maximum(__x); } static _Const_Base_ptr _S_maximum(_Const_Base_ptr __x) { return _Rb_tree_node_base::_S_maximum(__x); } public: typedef _Rb_tree_iterator iterator; typedef _Rb_tree_const_iterator const_iterator; typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; private: iterator _M_insert_(_Const_Base_ptr __x, _Const_Base_ptr __y, const value_type& __v); iterator _M_insert_lower(_Base_ptr __x, _Base_ptr __y, const value_type& __v); iterator _M_insert_equal_lower(const value_type& __x); _Link_type _M_copy(_Const_Link_type __x, _Link_type __p); void _M_erase(_Link_type __x); iterator _M_lower_bound(_Link_type __x, _Link_type __y, const _Key& __k); const_iterator _M_lower_bound(_Const_Link_type __x, _Const_Link_type __y, const _Key& __k) const; iterator _M_upper_bound(_Link_type __x, _Link_type __y, const _Key& __k); const_iterator _M_upper_bound(_Const_Link_type __x, _Const_Link_type __y, const _Key& __k) const; public: _Rb_tree() { } _Rb_tree(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_impl(__comp, __a) { } _Rb_tree(const _Rb_tree& __x) : _M_impl(__x._M_impl._M_key_compare, __x._M_get_Node_allocator()) { if (__x._M_root() != 0) { _M_root() = _M_copy(__x._M_begin(), _M_end()); _M_leftmost() = _S_minimum(_M_root()); _M_rightmost() = _S_maximum(_M_root()); _M_impl._M_node_count = __x._M_impl._M_node_count; } } ~_Rb_tree() { _M_erase(_M_begin()); } _Rb_tree& operator=(const _Rb_tree& __x); _Compare key_comp() const { return _M_impl._M_key_compare; } iterator begin() { return iterator(static_cast<_Link_type> (this->_M_impl._M_header._M_left)); } const_iterator begin() const { return const_iterator(static_cast<_Const_Link_type> (this->_M_impl._M_header._M_left)); } iterator end() { return iterator(static_cast<_Link_type>(&this->_M_impl._M_header)); } const_iterator end() const { return const_iterator(static_cast<_Const_Link_type> (&this->_M_impl._M_header)); } reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } bool empty() const { return _M_impl._M_node_count == 0; } size_type size() const { return _M_impl._M_node_count; } size_type max_size() const { return _M_get_Node_allocator().max_size(); } void swap(_Rb_tree& __t); pair _M_insert_unique(const value_type& __x); iterator _M_insert_equal(const value_type& __x); iterator _M_insert_unique_(const_iterator __position, const value_type& __x); iterator _M_insert_equal_(const_iterator __position, const value_type& __x); template void _M_insert_unique(_InputIterator __first, _InputIterator __last); template void _M_insert_equal(_InputIterator __first, _InputIterator __last); # 712 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 3 void erase(iterator __position); void erase(const_iterator __position); size_type erase(const key_type& __x); # 732 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 3 void erase(iterator __first, iterator __last); void erase(const_iterator __first, const_iterator __last); void erase(const key_type* __first, const key_type* __last); void clear() { _M_erase(_M_begin()); _M_leftmost() = _M_end(); _M_root() = 0; _M_rightmost() = _M_end(); _M_impl._M_node_count = 0; } iterator find(const key_type& __k); const_iterator find(const key_type& __k) const; size_type count(const key_type& __k) const; iterator lower_bound(const key_type& __k) { return _M_lower_bound(_M_begin(), _M_end(), __k); } const_iterator lower_bound(const key_type& __k) const { return _M_lower_bound(_M_begin(), _M_end(), __k); } iterator upper_bound(const key_type& __k) { return _M_upper_bound(_M_begin(), _M_end(), __k); } const_iterator upper_bound(const key_type& __k) const { return _M_upper_bound(_M_begin(), _M_end(), __k); } pair equal_range(const key_type& __k); pair equal_range(const key_type& __k) const; bool __rb_verify() const; }; template inline bool operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin()); } template inline bool operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { __x.swap(__y); } # 867 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 3 template _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: operator=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x) { if (this != &__x) { clear(); _M_impl._M_key_compare = __x._M_impl._M_key_compare; if (__x._M_root() != 0) { _M_root() = _M_copy(__x._M_begin(), _M_end()); _M_leftmost() = _S_minimum(_M_root()); _M_rightmost() = _S_maximum(_M_root()); _M_impl._M_node_count = __x._M_impl._M_node_count; } } return *this; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_(_Const_Base_ptr __x, _Const_Base_ptr __p, const _Val& __v) { bool __insert_left = (__x != 0 || __p == _M_end() || _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__p))); _Link_type __z = _M_create_node(__v); _Rb_tree_insert_and_rebalance(__insert_left, __z, const_cast<_Base_ptr>(__p), this->_M_impl._M_header); ++_M_impl._M_node_count; return iterator(__z); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_lower(_Base_ptr __x, _Base_ptr __p, const _Val& __v) { bool __insert_left = (__x != 0 || __p == _M_end() || !_M_impl._M_key_compare(_S_key(__p), _KeyOfValue()(__v))); _Link_type __z = _M_create_node(__v); _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, this->_M_impl._M_header); ++_M_impl._M_node_count; return iterator(__z); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal_lower(const _Val& __v) { _Link_type __x = _M_begin(); _Link_type __y = _M_end(); while (__x != 0) { __y = __x; __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? _S_left(__x) : _S_right(__x); } return _M_insert_lower(__x, __y, __v); } template typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: _M_copy(_Const_Link_type __x, _Link_type __p) { _Link_type __top = _M_clone_node(__x); __top->_M_parent = __p; try { if (__x->_M_right) __top->_M_right = _M_copy(_S_right(__x), __top); __p = __top; __x = _S_left(__x); while (__x != 0) { _Link_type __y = _M_clone_node(__x); __p->_M_left = __y; __y->_M_parent = __p; if (__x->_M_right) __y->_M_right = _M_copy(_S_right(__x), __y); __p = __y; __x = _S_left(__x); } } catch(...) { _M_erase(__top); throw; } return __top; } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_erase(_Link_type __x) { while (__x != 0) { _M_erase(_S_right(__x)); _Link_type __y = _S_left(__x); _M_destroy_node(__x); __x = __y; } } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_lower_bound(_Link_type __x, _Link_type __y, const _Key& __k) { while (__x != 0) if (!_M_impl._M_key_compare(_S_key(__x), __k)) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_lower_bound(_Const_Link_type __x, _Const_Link_type __y, const _Key& __k) const { while (__x != 0) if (!_M_impl._M_key_compare(_S_key(__x), __k)) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return const_iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_upper_bound(_Link_type __x, _Link_type __y, const _Key& __k) { while (__x != 0) if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_upper_bound(_Const_Link_type __x, _Const_Link_type __y, const _Key& __k) const { while (__x != 0) if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return const_iterator(__y); } template pair::iterator, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: equal_range(const _Key& __k) { _Link_type __x = _M_begin(); _Link_type __y = _M_end(); while (__x != 0) { if (_M_impl._M_key_compare(_S_key(__x), __k)) __x = _S_right(__x); else if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else { _Link_type __xu(__x), __yu(__y); __y = __x, __x = _S_left(__x); __xu = _S_right(__xu); return pair(_M_lower_bound(__x, __y, __k), _M_upper_bound(__xu, __yu, __k)); } } return pair(iterator(__y), iterator(__y)); } template pair::const_iterator, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: equal_range(const _Key& __k) const { _Const_Link_type __x = _M_begin(); _Const_Link_type __y = _M_end(); while (__x != 0) { if (_M_impl._M_key_compare(_S_key(__x), __k)) __x = _S_right(__x); else if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else { _Const_Link_type __xu(__x), __yu(__y); __y = __x, __x = _S_left(__x); __xu = _S_right(__xu); return pair(_M_lower_bound(__x, __y, __k), _M_upper_bound(__xu, __yu, __k)); } } return pair(const_iterator(__y), const_iterator(__y)); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t) { if (_M_root() == 0) { if (__t._M_root() != 0) { _M_root() = __t._M_root(); _M_leftmost() = __t._M_leftmost(); _M_rightmost() = __t._M_rightmost(); _M_root()->_M_parent = _M_end(); __t._M_root() = 0; __t._M_leftmost() = __t._M_end(); __t._M_rightmost() = __t._M_end(); } } else if (__t._M_root() == 0) { __t._M_root() = _M_root(); __t._M_leftmost() = _M_leftmost(); __t._M_rightmost() = _M_rightmost(); __t._M_root()->_M_parent = __t._M_end(); _M_root() = 0; _M_leftmost() = _M_end(); _M_rightmost() = _M_end(); } else { std::swap(_M_root(),__t._M_root()); std::swap(_M_leftmost(),__t._M_leftmost()); std::swap(_M_rightmost(),__t._M_rightmost()); _M_root()->_M_parent = _M_end(); __t._M_root()->_M_parent = __t._M_end(); } std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); std::__alloc_swap<_Node_allocator>:: _S_do_it(_M_get_Node_allocator(), __t._M_get_Node_allocator()); } template pair::iterator, bool> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_unique(const _Val& __v) { _Link_type __x = _M_begin(); _Link_type __y = _M_end(); bool __comp = true; while (__x != 0) { __y = __x; __comp = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)); __x = __comp ? _S_left(__x) : _S_right(__x); } iterator __j = iterator(__y); if (__comp) { if (__j == begin()) return pair(_M_insert_(__x, __y, __v), true); else --__j; } if (_M_impl._M_key_compare(_S_key(__j._M_node), _KeyOfValue()(__v))) return pair(_M_insert_(__x, __y, __v), true); return pair(__j, false); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal(const _Val& __v) { _Link_type __x = _M_begin(); _Link_type __y = _M_end(); while (__x != 0) { __y = __x; __x = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)) ? _S_left(__x) : _S_right(__x); } return _M_insert_(__x, __y, __v); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_unique_(const_iterator __position, const _Val& __v) { if (__position._M_node == _M_end()) { if (size() > 0 && _M_impl._M_key_compare(_S_key(_M_rightmost()), _KeyOfValue()(__v))) return _M_insert_(0, _M_rightmost(), __v); else return _M_insert_unique(__v).first; } else if (_M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node))) { const_iterator __before = __position; if (__position._M_node == _M_leftmost()) return _M_insert_(_M_leftmost(), _M_leftmost(), __v); else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), _KeyOfValue()(__v))) { if (_S_right(__before._M_node) == 0) return _M_insert_(0, __before._M_node, __v); else return _M_insert_(__position._M_node, __position._M_node, __v); } else return _M_insert_unique(__v).first; } else if (_M_impl._M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) { const_iterator __after = __position; if (__position._M_node == _M_rightmost()) return _M_insert_(0, _M_rightmost(), __v); else if (_M_impl._M_key_compare(_KeyOfValue()(__v), _S_key((++__after)._M_node))) { if (_S_right(__position._M_node) == 0) return _M_insert_(0, __position._M_node, __v); else return _M_insert_(__after._M_node, __after._M_node, __v); } else return _M_insert_unique(__v).first; } else return iterator(static_cast<_Link_type> (const_cast<_Base_ptr>(__position._M_node))); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal_(const_iterator __position, const _Val& __v) { if (__position._M_node == _M_end()) { if (size() > 0 && !_M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(_M_rightmost()))) return _M_insert_(0, _M_rightmost(), __v); else return _M_insert_equal(__v); } else if (!_M_impl._M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) { const_iterator __before = __position; if (__position._M_node == _M_leftmost()) return _M_insert_(_M_leftmost(), _M_leftmost(), __v); else if (!_M_impl._M_key_compare(_KeyOfValue()(__v), _S_key((--__before)._M_node))) { if (_S_right(__before._M_node) == 0) return _M_insert_(0, __before._M_node, __v); else return _M_insert_(__position._M_node, __position._M_node, __v); } else return _M_insert_equal(__v); } else { const_iterator __after = __position; if (__position._M_node == _M_rightmost()) return _M_insert_(0, _M_rightmost(), __v); else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), _KeyOfValue()(__v))) { if (_S_right(__position._M_node) == 0) return _M_insert_(0, __position._M_node, __v); else return _M_insert_(__after._M_node, __after._M_node, __v); } else return _M_insert_equal_lower(__v); } } template template void _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: _M_insert_unique(_II __first, _II __last) { for (; __first != __last; ++__first) _M_insert_unique_(end(), *__first); } template template void _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: _M_insert_equal(_II __first, _II __last) { for (; __first != __last; ++__first) _M_insert_equal_(end(), *__first); } # 1391 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 3 template inline void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(iterator __position) { _Link_type __y = static_cast<_Link_type>(_Rb_tree_rebalance_for_erase (__position._M_node, this->_M_impl._M_header)); _M_destroy_node(__y); --_M_impl._M_node_count; } template inline void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const_iterator __position) { _Link_type __y = static_cast<_Link_type>(_Rb_tree_rebalance_for_erase (const_cast<_Base_ptr>(__position._M_node), this->_M_impl._M_header)); _M_destroy_node(__y); --_M_impl._M_node_count; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const _Key& __x) { pair __p = equal_range(__x); const size_type __old_size = size(); erase(__p.first, __p.second); return __old_size - size(); } # 1475 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_tree.h" 3 template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(iterator __first, iterator __last) { if (__first == begin() && __last == end()) clear(); else while (__first != __last) erase(__first++); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const_iterator __first, const_iterator __last) { if (__first == begin() && __last == end()) clear(); else while (__first != __last) erase(__first++); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const _Key* __first, const _Key* __last) { while (__first != __last) erase(*__first++); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: find(const _Key& __k) { iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); return (__j == end() || _M_impl._M_key_compare(__k, _S_key(__j._M_node))) ? end() : __j; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: find(const _Key& __k) const { const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); return (__j == end() || _M_impl._M_key_compare(__k, _S_key(__j._M_node))) ? end() : __j; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: count(const _Key& __k) const { pair __p = equal_range(__k); const size_type __n = std::distance(__p.first, __p.second); return __n; } __attribute__ ((__pure__)) unsigned int _Rb_tree_black_count(const _Rb_tree_node_base* __node, const _Rb_tree_node_base* __root) throw (); template bool _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const { if (_M_impl._M_node_count == 0 || begin() == end()) return _M_impl._M_node_count == 0 && begin() == end() && this->_M_impl._M_header._M_left == _M_end() && this->_M_impl._M_header._M_right == _M_end(); unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); for (const_iterator __it = begin(); __it != end(); ++__it) { _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); _Const_Link_type __L = _S_left(__x); _Const_Link_type __R = _S_right(__x); if (__x->_M_color == _S_red) if ((__L && __L->_M_color == _S_red) || (__R && __R->_M_color == _S_red)) return false; if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) return false; if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) return false; if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) return false; } if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) return false; if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) return false; return true; } } # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/map" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 1 3 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 84 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 template , typename _Alloc = std::allocator > > class map { public: typedef _Key key_type; typedef _Tp mapped_type; typedef std::pair value_type; typedef _Compare key_compare; typedef _Alloc allocator_type; private: typedef typename _Alloc::value_type _Alloc_value_type; public: class value_compare : public std::binary_function { friend class map<_Key, _Tp, _Compare, _Alloc>; protected: _Compare comp; value_compare(_Compare __c) : comp(__c) { } public: bool operator()(const value_type& __x, const value_type& __y) const { return comp(__x.first, __y.first); } }; private: typedef typename _Alloc::template rebind::other _Pair_alloc_type; typedef _Rb_tree, key_compare, _Pair_alloc_type> _Rep_type; _Rep_type _M_t; public: typedef typename _Pair_alloc_type::pointer pointer; typedef typename _Pair_alloc_type::const_pointer const_pointer; typedef typename _Pair_alloc_type::reference reference; typedef typename _Pair_alloc_type::const_reference const_reference; typedef typename _Rep_type::iterator iterator; typedef typename _Rep_type::const_iterator const_iterator; typedef typename _Rep_type::size_type size_type; typedef typename _Rep_type::difference_type difference_type; typedef typename _Rep_type::reverse_iterator reverse_iterator; typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; map() : _M_t() { } explicit map(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, __a) { } # 170 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 map(const map& __x) : _M_t(__x._M_t) { } # 211 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 template map(_InputIterator __first, _InputIterator __last) : _M_t() { _M_t._M_insert_unique(__first, __last); } # 227 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 template map(_InputIterator __first, _InputIterator __last, const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, __a) { _M_t._M_insert_unique(__first, __last); } # 250 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 map& operator=(const map& __x) { _M_t = __x._M_t; return *this; } # 296 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 allocator_type get_allocator() const { return _M_t.get_allocator(); } iterator begin() { return _M_t.begin(); } const_iterator begin() const { return _M_t.begin(); } iterator end() { return _M_t.end(); } const_iterator end() const { return _M_t.end(); } reverse_iterator rbegin() { return _M_t.rbegin(); } const_reverse_iterator rbegin() const { return _M_t.rbegin(); } reverse_iterator rend() { return _M_t.rend(); } const_reverse_iterator rend() const { return _M_t.rend(); } # 415 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 bool empty() const { return _M_t.empty(); } size_type size() const { return _M_t.size(); } size_type max_size() const { return _M_t.max_size(); } # 442 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 mapped_type& operator[](const key_type& __k) { iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __i = insert(__i, value_type(__k, mapped_type())); return (*__i).second; } # 464 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 mapped_type& at(const key_type& __k) { iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __throw_out_of_range(("map::at")); return (*__i).second; } const mapped_type& at(const key_type& __k) const { const_iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __throw_out_of_range(("map::at")); return (*__i).second; } # 499 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 std::pair insert(const value_type& __x) { return _M_t._M_insert_unique(__x); } # 539 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 iterator insert(iterator __position, const value_type& __x) { return _M_t._M_insert_unique_(__position, __x); } # 551 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_t._M_insert_unique(__first, __last); } # 586 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 void erase(iterator __position) { _M_t.erase(__position); } # 602 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 size_type erase(const key_type& __x) { return _M_t.erase(__x); } # 636 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 void erase(iterator __first, iterator __last) { _M_t.erase(__first, __last); } # 652 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 void swap(map& __x) { _M_t.swap(__x._M_t); } void clear() { _M_t.clear(); } key_compare key_comp() const { return _M_t.key_comp(); } value_compare value_comp() const { return value_compare(_M_t.key_comp()); } # 695 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 iterator find(const key_type& __x) { return _M_t.find(__x); } # 710 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 const_iterator find(const key_type& __x) const { return _M_t.find(__x); } # 722 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 size_type count(const key_type& __x) const { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } # 737 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 iterator lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } # 752 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 const_iterator lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } iterator upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } const_iterator upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } # 791 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 std::pair equal_range(const key_type& __x) { return _M_t.equal_range(__x); } # 810 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 std::pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } template friend bool operator==(const map<_K1, _T1, _C1, _A1>&, const map<_K1, _T1, _C1, _A1>&); template friend bool operator<(const map<_K1, _T1, _C1, _A1>&, const map<_K1, _T1, _C1, _A1>&); }; # 835 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 template inline bool operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t == __y._M_t; } # 852 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_map.h" 3 template inline bool operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t < __y._M_t; } template inline bool operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(map<_Key, _Tp, _Compare, _Alloc>& __x, map<_Key, _Tp, _Compare, _Alloc>& __y) { __x.swap(__y); } } # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/map" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 1 3 # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 83 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 template , typename _Alloc = std::allocator > > class multimap { public: typedef _Key key_type; typedef _Tp mapped_type; typedef std::pair value_type; typedef _Compare key_compare; typedef _Alloc allocator_type; private: typedef typename _Alloc::value_type _Alloc_value_type; public: class value_compare : public std::binary_function { friend class multimap<_Key, _Tp, _Compare, _Alloc>; protected: _Compare comp; value_compare(_Compare __c) : comp(__c) { } public: bool operator()(const value_type& __x, const value_type& __y) const { return comp(__x.first, __y.first); } }; private: typedef typename _Alloc::template rebind::other _Pair_alloc_type; typedef _Rb_tree, key_compare, _Pair_alloc_type> _Rep_type; _Rep_type _M_t; public: typedef typename _Pair_alloc_type::pointer pointer; typedef typename _Pair_alloc_type::const_pointer const_pointer; typedef typename _Pair_alloc_type::reference reference; typedef typename _Pair_alloc_type::const_reference const_reference; typedef typename _Rep_type::iterator iterator; typedef typename _Rep_type::const_iterator const_iterator; typedef typename _Rep_type::size_type size_type; typedef typename _Rep_type::difference_type difference_type; typedef typename _Rep_type::reverse_iterator reverse_iterator; typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; multimap() : _M_t() { } explicit multimap(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, __a) { } # 168 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 multimap(const multimap& __x) : _M_t(__x._M_t) { } # 208 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 template multimap(_InputIterator __first, _InputIterator __last) : _M_t() { _M_t._M_insert_equal(__first, __last); } # 224 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 template multimap(_InputIterator __first, _InputIterator __last, const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, __a) { _M_t._M_insert_equal(__first, __last); } # 247 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 multimap& operator=(const multimap& __x) { _M_t = __x._M_t; return *this; } # 293 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 allocator_type get_allocator() const { return _M_t.get_allocator(); } iterator begin() { return _M_t.begin(); } const_iterator begin() const { return _M_t.begin(); } iterator end() { return _M_t.end(); } const_iterator end() const { return _M_t.end(); } reverse_iterator rbegin() { return _M_t.rbegin(); } const_reverse_iterator rbegin() const { return _M_t.rbegin(); } reverse_iterator rend() { return _M_t.rend(); } const_reverse_iterator rend() const { return _M_t.rend(); } # 410 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 bool empty() const { return _M_t.empty(); } size_type size() const { return _M_t.size(); } size_type max_size() const { return _M_t.max_size(); } # 437 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 iterator insert(const value_type& __x) { return _M_t._M_insert_equal(__x); } # 461 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 iterator insert(iterator __position, const value_type& __x) { return _M_t._M_insert_equal_(__position, __x); } # 474 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_t._M_insert_equal(__first, __last); } # 522 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 void erase(iterator __position) { _M_t.erase(__position); } # 538 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 size_type erase(const key_type& __x) { return _M_t.erase(__x); } # 574 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 void erase(iterator __first, iterator __last) { _M_t.erase(__first, __last); } # 590 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 void swap(multimap& __x) { _M_t.swap(__x._M_t); } void clear() { _M_t.clear(); } key_compare key_comp() const { return _M_t.key_comp(); } value_compare value_comp() const { return value_compare(_M_t.key_comp()); } # 633 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 iterator find(const key_type& __x) { return _M_t.find(__x); } # 648 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 const_iterator find(const key_type& __x) const { return _M_t.find(__x); } size_type count(const key_type& __x) const { return _M_t.count(__x); } # 672 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 iterator lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } # 687 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 const_iterator lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } iterator upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } const_iterator upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } # 724 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 std::pair equal_range(const key_type& __x) { return _M_t.equal_range(__x); } # 741 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 std::pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } template friend bool operator==(const multimap<_K1, _T1, _C1, _A1>&, const multimap<_K1, _T1, _C1, _A1>&); template friend bool operator<(const multimap<_K1, _T1, _C1, _A1>&, const multimap<_K1, _T1, _C1, _A1>&); }; # 766 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 template inline bool operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t == __y._M_t; } # 783 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/stl_multimap.h" 3 template inline bool operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t < __y._M_t; } template inline bool operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, multimap<_Key, _Tp, _Compare, _Alloc>& __y) { __x.swap(__y); } } # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/map" 2 3 # 17 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iostream" 1 3 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iostream" 3 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iostream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/iostream" 3 extern istream cin; extern ostream cout; extern ostream cerr; extern ostream clog; extern wistream wcin; extern wostream wcout; extern wostream wcerr; extern wostream wclog; static ios_base::Init __ioinit; } # 18 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" 2 namespace boost { namespace python { namespace detail { template struct compare_proxy_index { template bool operator()(PyObject* prox, Index i) const { typedef typename Proxy::policies_type policies_type; Proxy& proxy = extract(prox)(); return policies_type:: compare_index(proxy.get_container(), proxy.get_index(), i); } }; # 53 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" template class proxy_group { public: typedef typename std::vector::const_iterator const_iterator; typedef typename std::vector::iterator iterator; typedef typename Proxy::index_type index_type; typedef typename Proxy::policies_type policies_type; iterator first_proxy(index_type i) { return boost::detail::lower_bound( proxies.begin(), proxies.end(), i, compare_proxy_index()); } void remove(Proxy& proxy) { for (iterator iter = first_proxy(proxy.get_index()); iter != proxies.end(); ++iter) { if (&extract(*iter)() == &proxy) { proxies.erase(iter); break; } } ; } void add(PyObject* prox) { ; proxies.insert( first_proxy(extract(prox)().get_index()), prox); ; } void erase(index_type i, mpl::false_) { ; replace(i, i+1, 0); ; } void erase(index_type i, mpl::true_) { ; iterator iter = first_proxy(i); extract p(*iter); if (iter != proxies.end() && p().get_index() == i) { extract p(*iter); p().detach(); proxies.erase(iter); } ; } void erase(index_type from, index_type to) { ; replace(from, to, 0); ; } void replace( index_type from, index_type to, typename std::vector::size_type len) { ; iterator left = first_proxy(from); iterator right = proxies.end(); for (iterator iter = left; iter != right; ++iter) { if (extract(*iter)().get_index() > to) { right = iter; break; } extract p(*iter); p().detach(); } typename std::vector::size_type offset = left-proxies.begin(); proxies.erase(left, right); right = proxies.begin()+offset; while (right != proxies.end()) { typedef typename Proxy::container_type::difference_type difference_type; extract p(*right); p().set_index( extract(*right)().get_index() - (difference_type(to) - from - len) ); ++right; } ; } PyObject* find(index_type i) { ; iterator iter = first_proxy(i); if (iter != proxies.end() && extract(*iter)().get_index() == i) { ; return *iter; } ; return 0; } typename std::vector::size_type size() const { ; return proxies.size(); } private: # 240 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" std::vector proxies; }; template class proxy_links { public: typedef std::map > links_t; typedef typename Proxy::index_type index_type; void remove(Proxy& proxy) { typename links_t::iterator r = links.find(&proxy.get_container()); if (r != links.end()) { r->second.remove(proxy); if (r->second.size() == 0) links.erase(r); } } void add(PyObject* prox, Container& container) { links[&container].add(prox); } template void erase(Container& container, index_type i, NoSlice no_slice) { typename links_t::iterator r = links.find(&container); if (r != links.end()) { r->second.erase(i, no_slice); if (r->second.size() == 0) links.erase(r); } } void erase(Container& container, index_type from, index_type to) { typename links_t::iterator r = links.find(&container); if (r != links.end()) { r->second.erase(from, to); if (r->second.size() == 0) links.erase(r); } } void replace( Container& container, index_type from, index_type to, index_type len) { typename links_t::iterator r = links.find(&container); if (r != links.end()) { r->second.replace(from, to, len); if (r->second.size() == 0) links.erase(r); } } PyObject* find(Container& container, index_type i) { typename links_t::iterator r = links.find(&container); if (r != links.end()) return r->second.find(i); return 0; } private: links_t links; }; # 351 "/usr/include/boost-1_42/boost/python/suite/indexing/detail/indexing_suite_detail.hpp" template class container_element { public: typedef Index index_type; typedef Container container_type; typedef typename Policies::data_type element_type; typedef Policies policies_type; typedef container_element self_t; typedef proxy_group links_type; container_element(object container, Index index) : ptr() , container(container) , index(index) { } container_element(container_element const& ce) : ptr(ce.ptr.get() == 0 ? 0 : new element_type(*ce.ptr.get())) , container(ce.container) , index(ce.index) { } ~container_element() { if (!is_detached()) get_links().remove(*this); } element_type& operator*() const { if (is_detached()) return *get_pointer(ptr); return Policies::get_item(get_container(), index); } element_type* get() const { if (is_detached()) return get_pointer(ptr); return &Policies::get_item(get_container(), index); } void detach() { if (!is_detached()) { ptr.reset( new element_type( Policies::get_item(get_container(), index))); container = object(); } } bool is_detached() const { return get_pointer(ptr) != 0; } Container& get_container() const { return extract(container)(); } Index get_index() const { return index; } void set_index(Index i) { index = i; } static proxy_links& get_links() { static proxy_links links; return links; } private: container_element& operator=(container_element const& ce); scoped_ptr ptr; object container; Index index; }; template < class Container , class DerivedPolicies , class ContainerElement , class Index > struct no_proxy_helper { static void register_container_element() { } template static object base_get_item_helper(DataType const& p, mpl::true_) { return object(ptr(p)); } template static object base_get_item_helper(DataType const& x, mpl::false_) { return object(x); } static object base_get_item_(back_reference const& container, PyObject* i) { return base_get_item_helper( DerivedPolicies::get_item( container.get(), DerivedPolicies:: convert_index(container.get(), i)) , is_pointer() ); } static void base_replace_indexes( Container& , Index , Index , Index ) { } template static void base_erase_index( Container& , Index , NoSlice ) { } static void base_erase_indexes(Container& , Index , Index ) { } }; template < class Container , class DerivedPolicies , class ContainerElement , class Index > struct proxy_helper { static void register_container_element() { register_ptr_to_python(); } static object base_get_item_(back_reference const& container, PyObject* i) { Index idx = DerivedPolicies::convert_index(container.get(), i); if (PyObject* shared = ContainerElement::get_links().find(container.get(), idx)) { handle<> h(python::borrowed(shared)); return object(h); } else { object prox(ContainerElement(container.source(), idx)); ContainerElement:: get_links().add(prox.ptr(), container.get()); return prox; } } static void base_replace_indexes( Container& container, Index from, Index to, Index n) { ContainerElement::get_links().replace(container, from, to, n); } template static void base_erase_index( Container& container, Index i, NoSlice no_slice) { ContainerElement::get_links().erase(container, i, no_slice); } static void base_erase_indexes( Container& container, Index from, Index to) { ContainerElement::get_links().erase(container, from, to); } }; template < class Container , class DerivedPolicies , class ProxyHandler , class Data , class Index > struct slice_helper { static object base_get_slice(Container& container, PySliceObject* slice) { Index from, to; base_get_slice_data(container, slice, from, to); return DerivedPolicies::get_slice(container, from, to); } static void base_get_slice_data( Container& container, PySliceObject* slice, Index& from_, Index& to_) { if ((&_Py_NoneStruct) != slice->step) { PyErr_SetString( PyExc_IndexError, "slice step size not supported."); throw_error_already_set(); } Index min_index = DerivedPolicies::get_min_index(container); Index max_index = DerivedPolicies::get_max_index(container); if ((&_Py_NoneStruct) == slice->start) { from_ = min_index; } else { long from = extract( slice->start); if (from < 0) from += max_index; if (from < 0) from = 0; from_ = boost::numeric_cast(from); if (from_ > max_index) from_ = max_index; } if ((&_Py_NoneStruct) == slice->stop) { to_ = max_index; } else { long to = extract( slice->stop); if (to < 0) to += max_index; if (to < 0) to = 0; to_ = boost::numeric_cast(to); if (to_ > max_index) to_ = max_index; } } static void base_set_slice(Container& container, PySliceObject* slice, PyObject* v) { Index from, to; base_get_slice_data(container, slice, from, to); extract elem(v); if (elem.check()) { ProxyHandler::base_replace_indexes(container, from, to, 1); DerivedPolicies::set_slice(container, from, to, elem()); } else { extract elem(v); if (elem.check()) { ProxyHandler::base_replace_indexes(container, from, to, 1); DerivedPolicies::set_slice(container, from, to, elem()); } else { handle<> l_(python::borrowed(v)); object l(l_); std::vector temp; for (int i = 0; i < l.attr("__len__")(); i++) { object elem(l[i]); extract x(elem); if (x.check()) { temp.push_back(x()); } else { extract x(elem); if (x.check()) { temp.push_back(x()); } else { PyErr_SetString(PyExc_TypeError, "Invalid sequence element"); throw_error_already_set(); } } } ProxyHandler::base_replace_indexes(container, from, to, temp.end()-temp.begin()); DerivedPolicies::set_slice(container, from, to, temp.begin(), temp.end()); } } } static void base_delete_slice(Container& container, PySliceObject* slice) { Index from, to; base_get_slice_data(container, slice, from, to); ProxyHandler::base_erase_indexes(container, from, to); DerivedPolicies::delete_slice(container, from, to); } }; template < class Container , class DerivedPolicies , class ProxyHandler , class Data , class Index > struct no_slice_helper { static void slicing_not_suported() { PyErr_SetString(PyExc_RuntimeError, "Slicing not supported"); throw_error_already_set(); } static object base_get_slice(Container& , PySliceObject* ) { slicing_not_suported(); return object(); } static void base_set_slice(Container& , PySliceObject* , PyObject* ) { slicing_not_suported(); } static void base_delete_slice(Container& , PySliceObject* ) { slicing_not_suported(); } }; template inline typename Policies::data_type* get_pointer( python::detail::container_element const& p) { return p.get(); } using boost::python::get_pointer; using boost::get_pointer; }} } # 13 "/usr/include/boost-1_42/boost/python/suite/indexing/indexing_suite.hpp" 2 namespace boost { namespace python { # 98 "/usr/include/boost-1_42/boost/python/suite/indexing/indexing_suite.hpp" template < class Container , class DerivedPolicies , bool NoProxy = false , bool NoSlice = false , class Data = typename Container::value_type , class Index = typename Container::size_type , class Key = typename Container::value_type > class indexing_suite : public def_visitor< indexing_suite< Container , DerivedPolicies , NoProxy , NoSlice , Data , Index , Key > > { private: typedef mpl::or_< mpl::bool_ , mpl::not_ > , typename mpl::or_< is_same , is_same > , is_same > , is_same > >::type> no_proxy; typedef detail::container_element container_element_t; typedef return_internal_reference<> return_policy; typedef typename mpl::if_< no_proxy , iterator , iterator >::type def_iterator; typedef typename mpl::if_< no_proxy , detail::no_proxy_helper< Container , DerivedPolicies , container_element_t , Index> , detail::proxy_helper< Container , DerivedPolicies , container_element_t , Index> >::type proxy_handler; typedef typename mpl::if_< mpl::bool_ , detail::no_slice_helper< Container , DerivedPolicies , proxy_handler , Data , Index> , detail::slice_helper< Container , DerivedPolicies , proxy_handler , Data , Index> >::type slice_handler; public: template void visit(Class& cl) const { proxy_handler::register_container_element(); cl .def("__len__", base_size) .def("__setitem__", &base_set_item) .def("__delitem__", &base_delete_item) .def("__getitem__", &base_get_item) .def("__contains__", &base_contains) .def("__iter__", def_iterator()) ; DerivedPolicies::extension_def(cl); } template static void extension_def(Class& cl) { } private: static object base_get_item(back_reference container, PyObject* i) { if (((((PyObject*)(i))->ob_type) == &PySlice_Type)) return slice_handler::base_get_slice( container.get(), static_cast(static_cast(i))); return proxy_handler::base_get_item_(container, i); } static void base_set_item(Container& container, PyObject* i, PyObject* v) { if (((((PyObject*)(i))->ob_type) == &PySlice_Type)) { slice_handler::base_set_slice(container, static_cast(static_cast(i)), v); } else { extract elem(v); if (elem.check()) { DerivedPolicies:: set_item(container, DerivedPolicies:: convert_index(container, i), elem()); } else { extract elem(v); if (elem.check()) { DerivedPolicies:: set_item(container, DerivedPolicies:: convert_index(container, i), elem()); } else { PyErr_SetString(PyExc_TypeError, "Invalid assignment"); throw_error_already_set(); } } } } static void base_delete_item(Container& container, PyObject* i) { if (((((PyObject*)(i))->ob_type) == &PySlice_Type)) { slice_handler::base_delete_slice( container, static_cast(static_cast(i))); return; } Index index = DerivedPolicies::convert_index(container, i); proxy_handler::base_erase_index(container, index, mpl::bool_()); DerivedPolicies::delete_item(container, index); } static size_t base_size(Container& container) { return DerivedPolicies::size(container); } static bool base_contains(Container& container, PyObject* key) { extract x(key); if (x.check()) { return DerivedPolicies::contains(container, x()); } else { extract x(key); if (x.check()) return DerivedPolicies::contains(container, x()); else return false; } } }; }} # 33 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/boost_headers.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" # 1 "/usr/include/boost-1_42/boost/foreach.hpp" 1 # 26 "/usr/include/boost-1_42/boost/foreach.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 27 "/usr/include/boost-1_42/boost/foreach.hpp" 2 # 68 "/usr/include/boost-1_42/boost/foreach.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/logical.hpp" 1 # 69 "/usr/include/boost-1_42/boost/foreach.hpp" 2 # 1 "/usr/include/boost-1_42/boost/range/end.hpp" 1 # 18 "/usr/include/boost-1_42/boost/range/end.hpp" # 1 "/usr/include/boost-1_42/boost/range/config.hpp" 1 # 19 "/usr/include/boost-1_42/boost/range/end.hpp" 2 # 1 "/usr/include/boost-1_42/boost/range/detail/implementation_help.hpp" 1 # 15 "/usr/include/boost-1_42/boost/range/detail/implementation_help.hpp" # 1 "/usr/include/boost-1_42/boost/range/detail/common.hpp" 1 # 19 "/usr/include/boost-1_42/boost/range/detail/common.hpp" # 1 "/usr/include/boost-1_42/boost/range/detail/sfinae.hpp" 1 # 20 "/usr/include/boost-1_42/boost/range/detail/sfinae.hpp" namespace boost { namespace range_detail { using type_traits::yes_type; using type_traits::no_type; yes_type is_string_impl( const char* const ); yes_type is_string_impl( const wchar_t* const ); no_type is_string_impl( ... ); template< std::size_t sz > yes_type is_char_array_impl( char (&boost_range_array)[sz] ); template< std::size_t sz > yes_type is_char_array_impl( const char (&boost_range_array)[sz] ); no_type is_char_array_impl( ... ); template< std::size_t sz > yes_type is_wchar_t_array_impl( wchar_t (&boost_range_array)[sz] ); template< std::size_t sz > yes_type is_wchar_t_array_impl( const wchar_t (&boost_range_array)[sz] ); no_type is_wchar_t_array_impl( ... ); yes_type is_char_ptr_impl( char* const ); no_type is_char_ptr_impl( ... ); yes_type is_const_char_ptr_impl( const char* const ); no_type is_const_char_ptr_impl( ... ); yes_type is_wchar_t_ptr_impl( wchar_t* const ); no_type is_wchar_t_ptr_impl( ... ); yes_type is_const_wchar_t_ptr_impl( const wchar_t* const ); no_type is_const_wchar_t_ptr_impl( ... ); template< typename Iterator > yes_type is_pair_impl( const std::pair* ); no_type is_pair_impl( ... ); struct char_or_wchar_t_array_tag {}; } } # 20 "/usr/include/boost-1_42/boost/range/detail/common.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 25 "/usr/include/boost-1_42/boost/range/detail/common.hpp" 2 namespace boost { namespace range_detail { # 47 "/usr/include/boost-1_42/boost/range/detail/common.hpp" typedef mpl::int_<1>::type std_container_; typedef mpl::int_<2>::type std_pair_; typedef mpl::int_<3>::type const_std_pair_; typedef mpl::int_<4>::type array_; typedef mpl::int_<5>::type const_array_; typedef mpl::int_<6>::type char_array_; typedef mpl::int_<7>::type wchar_t_array_; typedef mpl::int_<8>::type char_ptr_; typedef mpl::int_<9>::type const_char_ptr_; typedef mpl::int_<10>::type wchar_t_ptr_; typedef mpl::int_<11>::type const_wchar_t_ptr_; typedef mpl::int_<12>::type string_; template< typename C > struct range_helper { static C* c; static C ptr; static const bool is_pair_ = sizeof( boost::range_detail::is_pair_impl( c ) ) == sizeof( yes_type ); static const bool is_char_ptr_ = sizeof( boost::range_detail::is_char_ptr_impl( ptr ) ) == sizeof( yes_type ); static const bool is_const_char_ptr_ = sizeof( boost::range_detail::is_const_char_ptr_impl( ptr ) ) == sizeof( yes_type ); static const bool is_wchar_t_ptr_ = sizeof( boost::range_detail::is_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ); static const bool is_const_wchar_t_ptr_ = sizeof( boost::range_detail::is_const_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ); static const bool is_char_array_ = sizeof( boost::range_detail::is_char_array_impl( ptr ) ) == sizeof( yes_type ); static const bool is_wchar_t_array_ = sizeof( boost::range_detail::is_wchar_t_array_impl( ptr ) ) == sizeof( yes_type ); static const bool is_string_ = (boost::type_traits::ice_or::value ); static const bool is_array_ = boost::is_array::value; }; template< typename C > class range { typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_pair_, boost::range_detail::std_pair_, void >::type pair_t; typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_array_, boost::range_detail::array_, pair_t >::type array_t; typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_string_, boost::range_detail::string_, array_t >::type string_t; typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_const_char_ptr_, boost::range_detail::const_char_ptr_, string_t >::type const_char_ptr_t; typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_char_ptr_, boost::range_detail::char_ptr_, const_char_ptr_t >::type char_ptr_t; typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_const_wchar_t_ptr_, boost::range_detail::const_wchar_t_ptr_, char_ptr_t >::type const_wchar_ptr_t; typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_wchar_t_ptr_, boost::range_detail::wchar_t_ptr_, const_wchar_ptr_t >::type wchar_ptr_t; typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_wchar_t_array_, boost::range_detail::wchar_t_array_, wchar_ptr_t >::type wchar_array_t; typedef typename boost::mpl::if_c< ::boost::range_detail::range_helper::is_char_array_, boost::range_detail::char_array_, wchar_array_t >::type char_array_t; public: typedef typename boost::mpl::if_c< ::boost::is_void::value, boost::range_detail::std_container_, char_array_t >::type type; }; } } # 16 "/usr/include/boost-1_42/boost/range/detail/implementation_help.hpp" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 18 "/usr/include/boost-1_42/boost/range/detail/implementation_help.hpp" 2 # 1 "/usr/include/wchar.h" 1 3 4 # 22 "/usr/include/boost-1_42/boost/range/detail/implementation_help.hpp" 2 namespace boost { namespace range_detail { template inline void boost_range_silence_warning( const T& ) { } inline const char* str_end( const char* s, const char* ) { return s + strlen( s ); } inline const wchar_t* str_end( const wchar_t* s, const wchar_t* ) { return s + wcslen( s ); } # 56 "/usr/include/boost-1_42/boost/range/detail/implementation_help.hpp" template< class Char > inline Char* str_end( Char* s ) { return const_cast( str_end( s, s ) ); } template< class T, std::size_t sz > inline T* array_end( T (&boost_range_array)[sz] ) { return boost_range_array + sz; } template< class T, std::size_t sz > inline const T* array_end( const T (&boost_range_array)[sz] ) { return boost_range_array + sz; } template< class Char > inline std::size_t str_size( const Char* const& s ) { return str_end( s ) - s; } template< class T, std::size_t sz > inline std::size_t array_size( T (&boost_range_array)[sz] ) { boost_range_silence_warning( boost_range_array ); return sz; } template< class T, std::size_t sz > inline std::size_t array_size( const T (&boost_range_array)[sz] ) { boost_range_silence_warning( boost_range_array ); return sz; } } } # 25 "/usr/include/boost-1_42/boost/range/end.hpp" 2 # 1 "/usr/include/boost-1_42/boost/range/iterator.hpp" 1 # 19 "/usr/include/boost-1_42/boost/range/iterator.hpp" # 1 "/usr/include/boost-1_42/boost/range/mutable_iterator.hpp" 1 # 25 "/usr/include/boost-1_42/boost/range/mutable_iterator.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 26 "/usr/include/boost-1_42/boost/range/mutable_iterator.hpp" 2 namespace boost { template< typename C > struct range_mutable_iterator { typedef typename C::iterator type; }; template< typename Iterator > struct range_mutable_iterator< std::pair > { typedef Iterator type; }; template< typename T, std::size_t sz > struct range_mutable_iterator< T[sz] > { typedef T* type; }; } # 20 "/usr/include/boost-1_42/boost/range/iterator.hpp" 2 # 1 "/usr/include/boost-1_42/boost/range/const_iterator.hpp" 1 # 25 "/usr/include/boost-1_42/boost/range/const_iterator.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 26 "/usr/include/boost-1_42/boost/range/const_iterator.hpp" 2 namespace boost { template< typename C > struct range_const_iterator { typedef typename C::const_iterator type; }; template< typename Iterator > struct range_const_iterator< std::pair > { typedef Iterator type; }; template< typename T, std::size_t sz > struct range_const_iterator< T[sz] > { typedef const T* type; }; } # 21 "/usr/include/boost-1_42/boost/range/iterator.hpp" 2 namespace boost { # 50 "/usr/include/boost-1_42/boost/range/iterator.hpp" template< typename C > struct range_iterator { typedef typename mpl::eval_if_c< is_const::value, range_const_iterator< typename remove_const::type >, range_mutable_iterator >::type type; }; } # 26 "/usr/include/boost-1_42/boost/range/end.hpp" 2 namespace boost { namespace range_detail { template< typename C > inline typename range_iterator::type range_end( C& c ) { return c.end(); } template< typename Iterator > inline Iterator range_end( const std::pair& p ) { return p.second; } template< typename Iterator > inline Iterator range_end( std::pair& p ) { return p.second; } template< typename T, std::size_t sz > inline const T* range_end( const T (&a)[sz] ) { return range_detail::array_end( a ); } template< typename T, std::size_t sz > inline T* range_end( T (&a)[sz] ) { return range_detail::array_end( a ); } } template< class T > inline typename range_iterator::type end( T& r ) { using namespace range_detail; return range_end( r ); } template< class T > inline typename range_iterator::type end( const T& r ) { using namespace range_detail; return range_end( r ); } } namespace boost { template< class T > inline typename range_iterator::type const_end( const T& r ) { return boost::end( r ); } } # 72 "/usr/include/boost-1_42/boost/foreach.hpp" 2 # 1 "/usr/include/boost-1_42/boost/range/begin.hpp" 1 # 26 "/usr/include/boost-1_42/boost/range/begin.hpp" namespace boost { namespace range_detail { template< typename C > inline typename range_iterator::type range_begin( C& c ) { return c.begin(); } template< typename Iterator > inline Iterator range_begin( const std::pair& p ) { return p.first; } template< typename Iterator > inline Iterator range_begin( std::pair& p ) { return p.first; } # 75 "/usr/include/boost-1_42/boost/range/begin.hpp" template< typename T, std::size_t sz > inline const T* range_begin( const T (&a)[sz] ) { return a; } template< typename T, std::size_t sz > inline T* range_begin( T (&a)[sz] ) { return a; } } template< class T > inline typename range_iterator::type begin( T& r ) { using namespace range_detail; return range_begin( r ); } template< class T > inline typename range_iterator::type begin( const T& r ) { using namespace range_detail; return range_begin( r ); } } namespace boost { template< class T > inline typename range_iterator::type const_begin( const T& r ) { return boost::begin( r ); } } # 73 "/usr/include/boost-1_42/boost/foreach.hpp" 2 # 1 "/usr/include/boost-1_42/boost/range/rend.hpp" 1 # 19 "/usr/include/boost-1_42/boost/range/rend.hpp" # 1 "/usr/include/boost-1_42/boost/range/reverse_iterator.hpp" 1 # 20 "/usr/include/boost-1_42/boost/range/reverse_iterator.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/reverse_iterator.hpp" 1 # 12 "/usr/include/boost-1_42/boost/iterator/reverse_iterator.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" 1 # 14 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/iterator_categories.hpp" 1 # 11 "/usr/include/boost-1_42/boost/iterator/iterator_categories.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_def.hpp" 1 # 12 "/usr/include/boost-1_42/boost/iterator/iterator_categories.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/placeholders.hpp" 1 # 18 "/usr/include/boost-1_42/boost/iterator/iterator_categories.hpp" 2 namespace boost { struct no_traversal_tag {}; struct incrementable_traversal_tag : no_traversal_tag { }; struct single_pass_traversal_tag : incrementable_traversal_tag { }; struct forward_traversal_tag : single_pass_traversal_tag { }; struct bidirectional_traversal_tag : forward_traversal_tag { }; struct random_access_traversal_tag : bidirectional_traversal_tag { }; namespace detail { template struct old_category_to_traversal : mpl::eval_if< is_convertible , mpl::identity , mpl::eval_if< is_convertible , mpl::identity , mpl::eval_if< is_convertible , mpl::identity , mpl::eval_if< is_convertible , mpl::identity , mpl::eval_if< is_convertible , mpl::identity , void > > > > > {}; # 108 "/usr/include/boost-1_42/boost/iterator/iterator_categories.hpp" template struct pure_traversal_tag : mpl::eval_if< is_convertible , mpl::identity , mpl::eval_if< is_convertible , mpl::identity , mpl::eval_if< is_convertible , mpl::identity , mpl::eval_if< is_convertible , mpl::identity , mpl::eval_if< is_convertible , mpl::identity , void > > > > > { }; # 142 "/usr/include/boost-1_42/boost/iterator/iterator_categories.hpp" } template struct iterator_category_to_traversal : mpl::eval_if< is_convertible , mpl::identity , boost::detail::old_category_to_traversal > {}; template struct iterator_traversal : iterator_category_to_traversal< typename boost::detail::iterator_traits::iterator_category > {}; # 184 "/usr/include/boost-1_42/boost/iterator/iterator_categories.hpp" } # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_undef.hpp" 1 # 187 "/usr/include/boost-1_42/boost/iterator/iterator_categories.hpp" 2 # 15 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" 2 # 1 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" 1 # 11 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/interoperable.hpp" 1 # 15 "/usr/include/boost-1_42/boost/iterator/interoperable.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_def.hpp" 1 # 16 "/usr/include/boost-1_42/boost/iterator/interoperable.hpp" 2 namespace boost { # 34 "/usr/include/boost-1_42/boost/iterator/interoperable.hpp" template struct is_interoperable : mpl::or_< is_convertible< A, B > , is_convertible< B, A > > { }; } # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_undef.hpp" 1 # 49 "/usr/include/boost-1_42/boost/iterator/interoperable.hpp" 2 # 12 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" 2 # 1 "/usr/include/boost-1_42/boost/iterator/detail/facade_iterator_category.hpp" 1 # 23 "/usr/include/boost-1_42/boost/iterator/detail/facade_iterator_category.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_def.hpp" 1 # 24 "/usr/include/boost-1_42/boost/iterator/detail/facade_iterator_category.hpp" 2 # 34 "/usr/include/boost-1_42/boost/iterator/detail/facade_iterator_category.hpp" namespace boost { struct use_default; } namespace boost { namespace detail { struct input_output_iterator_tag : std::input_iterator_tag { operator std::output_iterator_tag() const { return std::output_iterator_tag(); } }; template struct iterator_writability_disabled : mpl::or_< is_const , boost::detail::indirect_traits::is_reference_to_const , is_const > {}; # 86 "/usr/include/boost-1_42/boost/iterator/detail/facade_iterator_category.hpp" template struct iterator_facade_default_category : mpl::eval_if< mpl::and_< is_reference , is_convertible > , mpl::eval_if< is_convertible , mpl::identity , mpl::if_< is_convertible , std::bidirectional_iterator_tag , std::forward_iterator_tag > > , typename mpl::eval_if< mpl::and_< is_convertible , is_convertible > , mpl::identity , mpl::identity > > { }; template struct is_iterator_category : mpl::or_< is_convertible , is_convertible > { }; template struct is_iterator_traversal : is_convertible {}; template struct iterator_category_with_traversal : Category, Traversal { enum { mpl_assertion_in_line_149 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) ( is_convertible< typename iterator_category_to_traversal::type , Traversal >))0, 1 ) ) ) } ; enum { mpl_assertion_in_line_151 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_arg( (void (*) (is_iterator_category))0, 1 ) ) ) }; enum { mpl_assertion_in_line_152 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (is_iterator_category))0, 1 ) ) ) }; enum { mpl_assertion_in_line_153 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (is_iterator_traversal))0, 1 ) ) ) }; enum { mpl_assertion_in_line_155 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_arg( (void (*) (is_iterator_traversal))0, 1 ) ) ) }; }; template struct facade_iterator_category_impl { enum { mpl_assertion_in_line_166 = sizeof( boost::mpl::assertion_failed( boost::mpl::assert_not_arg( (void (*) (is_iterator_category))0, 1 ) ) ) }; typedef typename iterator_facade_default_category< Traversal,ValueParam,Reference >::type category; typedef typename mpl::if_< is_same< Traversal , typename iterator_category_to_traversal::type > , category , iterator_category_with_traversal >::type type; }; template struct facade_iterator_category : mpl::eval_if< is_iterator_category , mpl::identity , facade_iterator_category_impl > { }; }} # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_undef.hpp" 1 # 199 "/usr/include/boost-1_42/boost/iterator/detail/facade_iterator_category.hpp" 2 # 15 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" 2 # 33 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" # 1 "/usr/include/boost-1_42/boost/mpl/always.hpp" 1 # 21 "/usr/include/boost-1_42/boost/mpl/always.hpp" namespace boost { namespace mpl { template< typename Value > struct always { template< typename T , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply { typedef Value type; }; }; }} # 34 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" 2 # 1 "/usr/include/boost-1_42/boost/mpl/apply.hpp" 1 # 35 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" 2 # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_def.hpp" 1 # 38 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" 2 namespace boost { template class iterator_facade; namespace detail { struct always_bool2 { template struct apply { typedef bool type; }; }; template < class Facade1 , class Facade2 , class Return > struct enable_if_interoperable # 80 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" : ::boost::iterators::enable_if< mpl::or_< is_convertible , is_convertible > , Return > {}; template < class ValueParam , class CategoryOrTraversal , class Reference , class Difference > struct iterator_facade_types { typedef typename facade_iterator_category< CategoryOrTraversal, ValueParam, Reference >::type iterator_category; typedef typename remove_const::type value_type; typedef typename mpl::eval_if< boost::detail::iterator_writability_disabled , add_pointer , add_pointer >::type pointer; # 130 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" }; template class postfix_increment_proxy { typedef typename iterator_value::type value_type; public: explicit postfix_increment_proxy(Iterator const& x) : stored_value(*x) {} value_type& operator*() const { return this->stored_value; } private: mutable value_type stored_value; }; template class writable_postfix_increment_proxy { typedef typename iterator_value::type value_type; public: explicit writable_postfix_increment_proxy(Iterator const& x) : stored_value(*x) , stored_iterator(x) {} writable_postfix_increment_proxy const& operator*() const { return *this; } operator value_type&() const { return stored_value; } template T const& operator=(T const& x) const { *this->stored_iterator = x; return x; } template T& operator=(T& x) const { *this->stored_iterator = x; return x; } operator Iterator const&() const { return stored_iterator; } private: mutable value_type stored_value; Iterator stored_iterator; }; # 244 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" template struct is_non_proxy_reference : is_convertible< typename remove_reference::type const volatile* , Value const volatile* > {}; # 269 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" template struct postfix_increment_result : mpl::eval_if< mpl::and_< is_convertible , mpl::not_< is_convertible< typename iterator_category_to_traversal::type , forward_traversal_tag > > > , mpl::if_< is_non_proxy_reference , postfix_increment_proxy , writable_postfix_increment_proxy > , mpl::identity > {}; template struct operator_arrow_proxy { operator_arrow_proxy(T const* px) : m_value(*px) {} T* operator->() const { return &m_value; } operator T*() const { return &m_value; } mutable T m_value; }; template struct operator_arrow_result { typedef typename mpl::if_< is_reference , Pointer , operator_arrow_proxy >::type type; static type make(Reference x) { return implicit_cast(&x); } }; # 342 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" template class operator_brackets_proxy { typedef typename Iterator::reference reference; typedef typename Iterator::value_type value_type; public: operator_brackets_proxy(Iterator const& iter) : m_iter(iter) {} operator reference() const { return *m_iter; } operator_brackets_proxy& operator=(value_type const& val) { *m_iter = val; return *this; } private: Iterator m_iter; }; template struct use_operator_brackets_proxy : mpl::not_< mpl::and_< boost::is_POD , iterator_writability_disabled > > {}; template struct operator_brackets_result { typedef typename mpl::if_< use_operator_brackets_proxy , operator_brackets_proxy , Value >::type type; }; template operator_brackets_proxy make_operator_brackets_result(Iterator const& iter, mpl::true_) { return operator_brackets_proxy(iter); } template typename Iterator::value_type make_operator_brackets_result(Iterator const& iter, mpl::false_) { return *iter; } struct choose_difference_type { template struct apply : # 420 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" mpl::eval_if< is_convertible , iterator_difference , iterator_difference > {}; }; } # 471 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" class iterator_core_access { template friend class iterator_facade; template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > friend typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator ==( iterator_facade const& lhs , iterator_facade const& rhs); template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > friend typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator !=( iterator_facade const& lhs , iterator_facade const& rhs); template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > friend typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator <( iterator_facade const& lhs , iterator_facade const& rhs); template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > friend typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator >( iterator_facade const& lhs , iterator_facade const& rhs); template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > friend typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator <=( iterator_facade const& lhs , iterator_facade const& rhs); template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > friend typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator >=( iterator_facade const& lhs , iterator_facade const& rhs); template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > friend typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator -( iterator_facade const& lhs , iterator_facade const& rhs) ; template friend inline Derived operator+ (iterator_facade const& , typename Derived::difference_type) ; template friend inline Derived operator+ (typename Derived::difference_type , iterator_facade const&) ; template static typename Facade::reference dereference(Facade const& f) { return f.dereference(); } template static void increment(Facade& f) { f.increment(); } template static void decrement(Facade& f) { f.decrement(); } template static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::true_) { return f1.equal(f2); } template static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::false_) { return f2.equal(f1); } template static void advance(Facade& f, typename Facade::difference_type n) { f.advance(n); } template static typename Facade1::difference_type distance_from( Facade1 const& f1, Facade2 const& f2, mpl::true_) { return -f1.distance_to(f2); } template static typename Facade2::difference_type distance_from( Facade1 const& f1, Facade2 const& f2, mpl::false_) { return f2.distance_to(f1); } template static I& derived(iterator_facade& facade) { return *static_cast(&facade); } template static I const& derived(iterator_facade const& facade) { return *static_cast(&facade); } private: iterator_core_access(); }; template < class Derived , class Value , class CategoryOrTraversal , class Reference = Value& , class Difference = std::ptrdiff_t > class iterator_facade { private: Derived& derived() { return *static_cast(this); } Derived const& derived() const { return *static_cast(this); } typedef boost::detail::iterator_facade_types< Value, CategoryOrTraversal, Reference, Difference > associated_types; protected: typedef iterator_facade iterator_facade_; public: typedef typename associated_types::value_type value_type; typedef Reference reference; typedef Difference difference_type; typedef typename associated_types::pointer pointer; typedef typename associated_types::iterator_category iterator_category; reference operator*() const { return iterator_core_access::dereference(this->derived()); } typename boost::detail::operator_arrow_result< value_type , reference , pointer >::type operator->() const { return boost::detail::operator_arrow_result< value_type , reference , pointer >::make(*this->derived()); } typename boost::detail::operator_brackets_result::type operator[](difference_type n) const { typedef boost::detail::use_operator_brackets_proxy use_proxy; return boost::detail::make_operator_brackets_result( this->derived() + n , use_proxy() ); } Derived& operator++() { iterator_core_access::increment(this->derived()); return this->derived(); } # 679 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" Derived& operator--() { iterator_core_access::decrement(this->derived()); return this->derived(); } Derived operator--(int) { Derived tmp(this->derived()); --*this; return tmp; } Derived& operator+=(difference_type n) { iterator_core_access::advance(this->derived(), n); return this->derived(); } Derived& operator-=(difference_type n) { iterator_core_access::advance(this->derived(), -n); return this->derived(); } Derived operator-(difference_type x) const { Derived result(this->derived()); return result -= x; } # 721 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" }; template inline typename boost::detail::postfix_increment_result::type operator++( iterator_facade& i , int ) { typename boost::detail::postfix_increment_result::type tmp(*static_cast(&i)); ++i; return tmp; } # 836 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > inline typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator ==( iterator_facade const& lhs , iterator_facade const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((( is_interoperable< Derived1, Derived2 >::value )) == 0 ? false : true) >)> boost_static_assert_typedef_836; return iterator_core_access::equal( *static_cast(&lhs) , *static_cast(&rhs) , is_convertible() ); } template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > inline typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator !=( iterator_facade const& lhs , iterator_facade const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((( is_interoperable< Derived1, Derived2 >::value )) == 0 ? false : true) >)> boost_static_assert_typedef_837; return ! iterator_core_access::equal( *static_cast(&lhs) , *static_cast(&rhs) , is_convertible() ); } template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > inline typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator <( iterator_facade const& lhs , iterator_facade const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((( is_interoperable< Derived1, Derived2 >::value )) == 0 ? false : true) >)> boost_static_assert_typedef_839; return 0 > iterator_core_access::distance_from( *static_cast(&lhs) , *static_cast(&rhs) , is_convertible() ); } template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > inline typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator >( iterator_facade const& lhs , iterator_facade const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((( is_interoperable< Derived1, Derived2 >::value )) == 0 ? false : true) >)> boost_static_assert_typedef_840; return 0 < iterator_core_access::distance_from( *static_cast(&lhs) , *static_cast(&rhs) , is_convertible() ); } template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > inline typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator <=( iterator_facade const& lhs , iterator_facade const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((( is_interoperable< Derived1, Derived2 >::value )) == 0 ? false : true) >)> boost_static_assert_typedef_841; return 0 >= iterator_core_access::distance_from( *static_cast(&lhs) , *static_cast(&rhs) , is_convertible() ); } template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > inline typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator >=( iterator_facade const& lhs , iterator_facade const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((( is_interoperable< Derived1, Derived2 >::value )) == 0 ? false : true) >)> boost_static_assert_typedef_842; return 0 <= iterator_core_access::distance_from( *static_cast(&lhs) , *static_cast(&rhs) , is_convertible() ); } template < class Derived1, class V1, class TC1, class Reference1, class Difference1 , class Derived2, class V2, class TC2, class Reference2, class Difference2 > inline typename boost::detail::enable_if_interoperable< Derived1, Derived2 , typename mpl::apply2::type >::type operator -( iterator_facade const& lhs , iterator_facade const& rhs) { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((( is_interoperable< Derived1, Derived2 >::value )) == 0 ? false : true) >)> boost_static_assert_typedef_851 # 846 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" ; return iterator_core_access::distance_from( *static_cast(&lhs) , *static_cast(&rhs) , is_convertible() ); } # 862 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" template inline Derived operator+ ( iterator_facade const& i , typename Derived::difference_type n ) { Derived tmp(static_cast(i)); return tmp += n; } template inline Derived operator+ ( typename Derived::difference_type n , iterator_facade const& i ) { Derived tmp(static_cast(i)); return tmp += n; } } # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_undef.hpp" 1 # 877 "/usr/include/boost-1_42/boost/iterator/iterator_facade.hpp" 2 # 16 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" 2 # 36 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_def.hpp" 1 # 37 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" 2 namespace boost { struct use_default; template struct is_convertible : mpl::false_ {}; namespace detail { # 66 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" struct enable_type; } # 148 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" template struct enable_if_convertible : iterators::enable_if< is_convertible , boost::detail::enable_type > {}; namespace detail { template struct ia_dflt_help : mpl::eval_if< is_same , DefaultNullaryFn , mpl::identity > { }; template < class Derived , class Base , class Value , class Traversal , class Reference , class Difference > struct iterator_adaptor_base { typedef iterator_facade< Derived , typename boost::detail::ia_dflt_help< Value , mpl::eval_if< is_same , iterator_value , remove_reference > >::type , typename boost::detail::ia_dflt_help< Traversal , iterator_traversal >::type , typename boost::detail::ia_dflt_help< Reference , mpl::eval_if< is_same , iterator_reference , add_reference > >::type , typename boost::detail::ia_dflt_help< Difference, iterator_difference >::type > type; }; template inline void iterator_adaptor_assert_traversal () { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (((is_convertible::value)) == 0 ? false : true) >)> boost_static_assert_typedef_230; } } # 259 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" template < class Derived , class Base , class Value = use_default , class Traversal = use_default , class Reference = use_default , class Difference = use_default > class iterator_adaptor : public boost::detail::iterator_adaptor_base< Derived, Base, Value, Traversal, Reference, Difference >::type { friend class iterator_core_access; protected: typedef typename boost::detail::iterator_adaptor_base< Derived, Base, Value, Traversal, Reference, Difference >::type super_t; public: iterator_adaptor() {} explicit iterator_adaptor(Base const &iter) : m_iterator(iter) { } typedef Base base_type; Base const& base() const { return m_iterator; } protected: typedef iterator_adaptor iterator_adaptor_; Base const& base_reference() const { return m_iterator; } Base& base_reference() { return m_iterator; } private: typename super_t::reference dereference() const { return *m_iterator; } template < class OtherDerived, class OtherIterator, class V, class C, class R, class D > bool equal(iterator_adaptor const& x) const { return m_iterator == x.base(); } typedef typename iterator_category_to_traversal< typename super_t::iterator_category >::type my_traversal; void advance(typename super_t::difference_type n) { boost::detail::iterator_adaptor_assert_traversal(); m_iterator += n; } void increment() { ++m_iterator; } void decrement() { boost::detail::iterator_adaptor_assert_traversal(); --m_iterator; } template < class OtherDerived, class OtherIterator, class V, class C, class R, class D > typename super_t::difference_type distance_to( iterator_adaptor const& y) const { boost::detail::iterator_adaptor_assert_traversal(); return y.base() - m_iterator; } private: Base m_iterator; }; } # 1 "/usr/include/boost-1_42/boost/iterator/detail/config_undef.hpp" 1 # 370 "/usr/include/boost-1_42/boost/iterator/iterator_adaptor.hpp" 2 # 13 "/usr/include/boost-1_42/boost/iterator/reverse_iterator.hpp" 2 namespace boost { template class reverse_iterator : public iterator_adaptor< reverse_iterator, Iterator > { typedef iterator_adaptor< reverse_iterator, Iterator > super_t; friend class iterator_core_access; public: reverse_iterator() {} explicit reverse_iterator(Iterator x) : super_t(x) {} template reverse_iterator( reverse_iterator const& r , typename enable_if_convertible::type* = 0 ) : super_t(r.base()) {} private: typename super_t::reference dereference() const { return *boost::prior(this->base()); } void increment() { --this->base_reference(); } void decrement() { ++this->base_reference(); } void advance(typename super_t::difference_type n) { this->base_reference() += -n; } template typename super_t::difference_type distance_to(reverse_iterator const& y) const { return this->base_reference() - y.base(); } }; template reverse_iterator make_reverse_iterator(BidirectionalIterator x) { return reverse_iterator(x); } } # 21 "/usr/include/boost-1_42/boost/range/reverse_iterator.hpp" 2 namespace boost { template< typename C > struct range_reverse_iterator { typedef reverse_iterator< typename range_iterator::type > type; }; } # 20 "/usr/include/boost-1_42/boost/range/rend.hpp" 2 namespace boost { # 35 "/usr/include/boost-1_42/boost/range/rend.hpp" template< class C > inline typename range_reverse_iterator::type rend( C& c ) { typedef typename range_reverse_iterator::type iter_type; return iter_type( boost::begin( c ) ); } template< class C > inline typename range_reverse_iterator::type rend( const C& c ) { typedef typename range_reverse_iterator::type iter_type; return iter_type( boost::begin( c ) ); } template< class T > inline typename range_reverse_iterator::type const_rend( const T& r ) { return boost::rend( r ); } } # 74 "/usr/include/boost-1_42/boost/foreach.hpp" 2 # 1 "/usr/include/boost-1_42/boost/range/rbegin.hpp" 1 # 21 "/usr/include/boost-1_42/boost/range/rbegin.hpp" namespace boost { # 35 "/usr/include/boost-1_42/boost/range/rbegin.hpp" template< class C > inline typename range_reverse_iterator::type rbegin( C& c ) { typedef typename range_reverse_iterator::type iter_type; return iter_type( boost::end( c ) ); } template< class C > inline typename range_reverse_iterator::type rbegin( const C& c ) { typedef typename range_reverse_iterator::type iter_type; return iter_type( boost::end( c ) ); } template< class T > inline typename range_reverse_iterator::type const_rbegin( const T& r ) { return boost::rbegin( r ); } } # 75 "/usr/include/boost-1_42/boost/foreach.hpp" 2 # 92 "/usr/include/boost-1_42/boost/foreach.hpp" enum boost_foreach_argument_dependent_lookup_hack { boost_foreach_argument_dependent_lookup_hack_value }; namespace boost { template class iterator_range; template class sub_range; namespace # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 109 "/usr/include/boost-1_42/boost/foreach.hpp" { template inline std::pair in_range(T begin, T end) { return std::make_pair(begin, end); } typedef boost_foreach_argument_dependent_lookup_hack tag; template struct is_lightweight_proxy : boost::mpl::false_ { }; template struct is_noncopyable : boost::mpl::or_< boost::is_abstract , boost::is_base_and_derived > { }; } } # 171 "/usr/include/boost-1_42/boost/foreach.hpp" template inline boost:: # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 172 "/usr/include/boost-1_42/boost/foreach.hpp" ::is_lightweight_proxy * boost_foreach_is_lightweight_proxy(T *&, boost:: # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 173 "/usr/include/boost-1_42/boost/foreach.hpp" ::tag) { return 0; } template inline boost::mpl::true_ * boost_foreach_is_lightweight_proxy(std::pair *&, boost:: # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 177 "/usr/include/boost-1_42/boost/foreach.hpp" ::tag) { return 0; } template inline boost::mpl::true_ * boost_foreach_is_lightweight_proxy(boost::iterator_range *&, boost:: # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 181 "/usr/include/boost-1_42/boost/foreach.hpp" ::tag) { return 0; } template inline boost::mpl::true_ * boost_foreach_is_lightweight_proxy(boost::sub_range *&, boost:: # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 185 "/usr/include/boost-1_42/boost/foreach.hpp" ::tag) { return 0; } template inline boost::mpl::true_ * boost_foreach_is_lightweight_proxy(T **&, boost:: # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 189 "/usr/include/boost-1_42/boost/foreach.hpp" ::tag) { return 0; } template inline boost:: # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 197 "/usr/include/boost-1_42/boost/foreach.hpp" ::is_noncopyable * boost_foreach_is_noncopyable(T *&, boost:: # 2301 "/usr/include/qt4/QtCore/qglobal.h" Q_FOREACH # 198 "/usr/include/boost-1_42/boost/foreach.hpp" ::tag) { return 0; } namespace boost { namespace foreach_detail_ { template inline boost::mpl::and_ *and_(Bool1 *, Bool2 *) { return 0; } template inline boost::mpl::and_ *and_(Bool1 *, Bool2 *, Bool3 *) { return 0; } template inline boost::mpl::or_ *or_(Bool1 *, Bool2 *) { return 0; } template inline boost::mpl::or_ *or_(Bool1 *, Bool2 *, Bool3 *) { return 0; } template inline boost::mpl::not_ *not_(Bool1 *) { return 0; } template inline boost::mpl::false_ *is_rvalue_(T &, int) { return 0; } template inline boost::mpl::true_ *is_rvalue_(T const &, ...) { return 0; } template inline boost::is_array *is_array_(T const &) { return 0; } template inline boost::is_const *is_const_(T &) { return 0; } template inline boost::mpl::true_ *is_const_(T const &) { return 0; } struct auto_any_base { operator bool() const { return false; } }; template struct auto_any : auto_any_base { auto_any(T const &t) : item(t) { } mutable T item; }; typedef auto_any_base const &auto_any_t; template inline typename boost::mpl::if_::type &auto_any_cast(auto_any_t a) { return static_cast const &>(a).item; } typedef boost::mpl::true_ const_; template struct type2type : boost::mpl::if_ { }; template struct wrap_cstr { typedef T type; }; template<> struct wrap_cstr { typedef wrap_cstr type; typedef char *iterator; typedef char *const_iterator; }; template<> struct wrap_cstr { typedef wrap_cstr type; typedef char const *iterator; typedef char const *const_iterator; }; template<> struct wrap_cstr { typedef wrap_cstr type; typedef wchar_t *iterator; typedef wchar_t *const_iterator; }; template<> struct wrap_cstr { typedef wrap_cstr type; typedef wchar_t const *iterator; typedef wchar_t const *const_iterator; }; template struct is_char_array : mpl::and_< is_array , mpl::or_< is_convertible , is_convertible > > {}; template struct foreach_iterator { # 352 "/usr/include/boost-1_42/boost/foreach.hpp" struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING; typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING352 : boost::mpl::assert_ { static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) { return 0; } } mpl_assert_arg352; enum { mpl_assertion_in_line_352 = sizeof( boost::mpl::assertion_failed<((!is_char_array::value))>( mpl_assert_arg352::assert_arg() ) ) }; typedef typename wrap_cstr::type container; typedef typename boost::mpl::eval_if< C , range_const_iterator , range_mutable_iterator >::type type; }; template struct foreach_reverse_iterator { # 383 "/usr/include/boost-1_42/boost/foreach.hpp" struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING; typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING383 : boost::mpl::assert_ { static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) { return 0; } } mpl_assert_arg383; enum { mpl_assertion_in_line_383 = sizeof( boost::mpl::assertion_failed<((!is_char_array::value))>( mpl_assert_arg383::assert_arg() ) ) }; typedef typename wrap_cstr::type container; typedef typename boost::mpl::eval_if< C , range_reverse_iterator , range_reverse_iterator >::type type; }; template struct foreach_reference : iterator_reference::type> { }; template inline type2type *encode_type(T &, boost::mpl::false_ *) { return 0; } template inline type2type *encode_type(T const &, boost::mpl::true_ *) { return 0; } inline bool set_false(bool &b) { b = false; return false; } template inline T *&to_ptr(T const &) { static T *t = 0; return t; } # 444 "/usr/include/boost-1_42/boost/foreach.hpp" template inline T &derefof(T *t) { return reinterpret_cast( *const_cast( reinterpret_cast(t) ) ); } # 466 "/usr/include/boost-1_42/boost/foreach.hpp" template struct rvalue_probe { struct private_type_ {}; typedef typename boost::mpl::if_< boost::mpl::or_, boost::is_array >, private_type_, T >::type value_type; operator value_type() { return *reinterpret_cast(this); } operator T &() const { return *reinterpret_cast(const_cast(this)); } }; template rvalue_probe const make_probe(T const &) { return rvalue_probe(); } # 614 "/usr/include/boost-1_42/boost/foreach.hpp" template inline auto_any contain(T const &t, boost::mpl::true_ *) { return t; } template inline auto_any contain(T &t, boost::mpl::false_ *) { return boost::addressof(t); } # 643 "/usr/include/boost-1_42/boost/foreach.hpp" template inline auto_any::type> begin(auto_any_t col, type2type *, boost::mpl::true_ *) { return boost::begin(auto_any_cast(col)); } template inline auto_any::type> begin(auto_any_t col, type2type *, boost::mpl::false_ *) { typedef typename type2type::type type; typedef typename foreach_iterator::type iterator; return iterator(boost::begin(derefof(auto_any_cast(col)))); } # 669 "/usr/include/boost-1_42/boost/foreach.hpp" template inline auto_any begin(auto_any_t col, type2type *, boost::mpl::true_ *) { return auto_any_cast(col); } template inline auto_any::type> end(auto_any_t col, type2type *, boost::mpl::true_ *) { return boost::end(auto_any_cast(col)); } template inline auto_any::type> end(auto_any_t col, type2type *, boost::mpl::false_ *) { typedef typename type2type::type type; typedef typename foreach_iterator::type iterator; return iterator(boost::end(derefof(auto_any_cast(col)))); } # 706 "/usr/include/boost-1_42/boost/foreach.hpp" template inline auto_any end(auto_any_t col, type2type *, boost::mpl::true_ *) { return 0; } template inline bool done(auto_any_t cur, auto_any_t end, type2type *) { typedef typename foreach_iterator::type iter_t; return auto_any_cast(cur) == auto_any_cast(end); } template inline bool done(auto_any_t cur, auto_any_t, type2type *) { return ! *auto_any_cast(cur); } template inline void next(auto_any_t cur, type2type *) { typedef typename foreach_iterator::type iter_t; ++auto_any_cast(cur); } template inline typename foreach_reference::type deref(auto_any_t cur, type2type *) { typedef typename foreach_iterator::type iter_t; return *auto_any_cast(cur); } template inline auto_any::type> rbegin(auto_any_t col, type2type *, boost::mpl::true_ *) { return boost::rbegin(auto_any_cast(col)); } template inline auto_any::type> rbegin(auto_any_t col, type2type *, boost::mpl::false_ *) { typedef typename type2type::type type; typedef typename foreach_reverse_iterator::type iterator; return iterator(boost::rbegin(derefof(auto_any_cast(col)))); } # 782 "/usr/include/boost-1_42/boost/foreach.hpp" template inline auto_any > rbegin(auto_any_t col, type2type *, boost::mpl::true_ *) { T *p = auto_any_cast(col); while(0 != *p) ++p; return reverse_iterator(p); } template inline auto_any::type> rend(auto_any_t col, type2type *, boost::mpl::true_ *) { return boost::rend(auto_any_cast(col)); } template inline auto_any::type> rend(auto_any_t col, type2type *, boost::mpl::false_ *) { typedef typename type2type::type type; typedef typename foreach_reverse_iterator::type iterator; return iterator(boost::rend(derefof(auto_any_cast(col)))); } # 822 "/usr/include/boost-1_42/boost/foreach.hpp" template inline auto_any > rend(auto_any_t col, type2type *, boost::mpl::true_ *) { return reverse_iterator(auto_any_cast(col)); } template inline bool rdone(auto_any_t cur, auto_any_t end, type2type *) { typedef typename foreach_reverse_iterator::type iter_t; return auto_any_cast(cur) == auto_any_cast(end); } template inline void rnext(auto_any_t cur, type2type *) { typedef typename foreach_reverse_iterator::type iter_t; ++auto_any_cast(cur); } template inline typename foreach_reference::type rderef(auto_any_t cur, type2type *) { typedef typename foreach_reverse_iterator::type iter_t; return *auto_any_cast(cur); } } } # 12 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" 2 # 1 "/usr/include/boost-1_42/boost/python/stl_iterator.hpp" 1 # 10 "/usr/include/boost-1_42/boost/python/stl_iterator.hpp" # 1 "/usr/include/boost-1_42/boost/python/object/stl_iterator_core.hpp" 1 # 11 "/usr/include/boost-1_42/boost/python/object/stl_iterator_core.hpp" namespace boost { namespace python { namespace objects { struct stl_input_iterator_impl { stl_input_iterator_impl(); stl_input_iterator_impl(boost::python::object const &ob); void increment(); bool equal(stl_input_iterator_impl const &that) const; boost::python::handle<> const ¤t() const; private: boost::python::object it_; boost::python::handle<> ob_; }; }}} # 11 "/usr/include/boost-1_42/boost/python/stl_iterator.hpp" 2 namespace boost { namespace python { template struct stl_input_iterator : boost::iterator_facade< stl_input_iterator , ValueT , std::input_iterator_tag , ValueT > { stl_input_iterator() : impl_() { } stl_input_iterator(boost::python::object const &ob) : impl_(ob) { } private: friend class boost::iterator_core_access; void increment() { this->impl_.increment(); } ValueT dereference() const { return extract(this->impl_.current().get())(); } bool equal(stl_input_iterator const &that) const { return this->impl_.equal(that.impl_); } objects::stl_input_iterator_impl impl_; }; }} # 16 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" 2 namespace boost { namespace python { namespace container_utils { template void extend_container(Container& container, object l) { typedef typename Container::value_type data_type; if (boost::foreach_detail_::auto_any_t _foreach_col30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" = boost::foreach_detail_::contain( (std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) : (std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) , boost_foreach_argument_dependent_lookup_hack_value)) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) , boost_foreach_argument_dependent_lookup_hack_value)))))) {} else if (boost::foreach_detail_::auto_any_t _foreach_cur30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" = boost::foreach_detail_::begin( _foreach_col30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" , (true ? 0 : boost::foreach_detail_::encode_type(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ), boost::foreach_detail_::is_const_(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )))) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) : (std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) , boost_foreach_argument_dependent_lookup_hack_value)) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) , boost_foreach_argument_dependent_lookup_hack_value)))))) {} else if (boost::foreach_detail_::auto_any_t _foreach_end30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" = boost::foreach_detail_::end( _foreach_col30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" , (true ? 0 : boost::foreach_detail_::encode_type(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ), boost::foreach_detail_::is_const_(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )))) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) : (std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) , boost_foreach_argument_dependent_lookup_hack_value)) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() )) , boost_foreach_argument_dependent_lookup_hack_value)))))) {} else for (bool _foreach_continue30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" = true; _foreach_continue30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" && !boost::foreach_detail_::done( _foreach_cur30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" , _foreach_end30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" , (true ? 0 : boost::foreach_detail_::encode_type(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ), boost::foreach_detail_::is_const_(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))))); _foreach_continue30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" ? boost::foreach_detail_::next( _foreach_cur30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" , (true ? 0 : boost::foreach_detail_::encode_type(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ), boost::foreach_detail_::is_const_(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))))) : (void)0) if (boost::foreach_detail_::set_false( _foreach_continue30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" )) {} else for (object elem = boost::foreach_detail_::deref( _foreach_cur30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" , (true ? 0 : boost::foreach_detail_::encode_type(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ), boost::foreach_detail_::is_const_(std::make_pair( boost::python::stl_input_iterator(l), boost::python::stl_input_iterator() ))))); ! _foreach_continue30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" ; _foreach_continue30 # 26 "/usr/include/boost-1_42/boost/python/suite/indexing/container_utils.hpp" = true) { extract x(elem); if (x.check()) { container.push_back(x()); } else { extract x(elem); if (x.check()) { container.push_back(x()); } else { PyErr_SetString(PyExc_TypeError, "Incompatible Data Type"); throw_error_already_set(); } } } } }}} # 34 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/boost_headers.hpp" 2 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/declare_qflags.hpp" 1 # 26 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/declare_qflags.hpp" # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/boost_headers.hpp" 1 # 27 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/declare_qflags.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/declare_qflags.hpp" 2 namespace PySide { template< typename FLAG > void __attribute__ ((visibility("internal"))) declare_qflags(const char *flag_name) { boost::python::class_< FLAG >(flag_name, boost::python::init()) .def(boost::python::init< boost::python::optional< int > >()) .def(boost::python::init< typename FLAG::enum_type >()) .def(boost::python::self & int()) .def(boost::python::self == boost::python::self) .def(boost::python::self == int()) .def(boost::python::self &= int()) .def(int_(boost::python::self)) .def(~boost::python::self) .def(boost::python::self |= boost::python::self) .def(boost::python::self ^= boost::python::self) .def(boost::python::self != boost::python::self) .def(!boost::python::self) .def(boost::python::self | boost::python::self) .def(boost::python::self ^ boost::python::self) ; boost::python::implicitly_convertible(); } template< typename FLAG > void __attribute__ ((visibility("internal"))) declare_int_qflags(const char *flag_name) { boost::python::class_< FLAG >(flag_name, boost::python::init()) .def(boost::python::init< boost::python::optional< int > >()) .def(boost::python::init< typename FLAG::enum_type >()) .def(boost::python::self & int()) .def(boost::python::self &= int()) .def(int_(boost::python::self)) .def(~boost::python::self) .def(boost::python::self |= boost::python::self) .def(boost::python::self ^= boost::python::self) .def(!boost::python::self) .def(boost::python::self | boost::python::self) .def(boost::python::self ^ boost::python::self) ; boost::python::implicitly_convertible(); } }; # 29 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 30 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" 1 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/stddef.h" 1 3 4 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/cstddef" 2 3 # 29 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/qptr.hpp" 1 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/qptr.hpp" # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 29 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/qptr.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/wrapper.hpp" 1 # 27 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/wrapper.hpp" # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/wrapper.hpp" 2 # 1 "/usr/include/qt4/QtCore/QStringList" 1 # 1 "/usr/include/qt4/QtCore/qstringlist.h" 1 # 1 "/usr/include/qt4/QtCore/QStringList" 2 # 31 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/wrapper.hpp" 2 namespace PySide { class __attribute__ ((visibility("default"))) wrapper { public: PyObject* py_object() { return m_self; } void keep_cpp_ref(); virtual ~wrapper(); protected: wrapper(PyObject *self); boost::python::object get_override(const char* base_class_name, const char* method_name) const; private: wrapper() {} wrapper(wrapper &) {} PyObject *m_self; bool m_has_cpp_ref; }; } # 30 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/qptr.hpp" 2 # 1 "/usr/include/qt4/QtCore/QHash" 1 # 1 "/usr/include/qt4/QtCore/qhash.h" 1 # 51 "/usr/include/qt4/QtCore/qhash.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QBitArray; class QByteArray; class QString; class QStringRef; inline uint qHash(char key) { return uint(key); } inline uint qHash(uchar key) { return uint(key); } inline uint qHash(signed char key) { return uint(key); } inline uint qHash(ushort key) { return uint(key); } inline uint qHash(short key) { return uint(key); } inline uint qHash(uint key) { return key; } inline uint qHash(int key) { return uint(key); } inline uint qHash(ulong key) { if (sizeof(ulong) > sizeof(uint)) { return uint(((key >> (8 * sizeof(uint) - 1)) ^ key) & (~0U)); } else { return uint(key & (~0U)); } } inline uint qHash(long key) { return qHash(ulong(key)); } inline uint qHash(quint64 key) { if (sizeof(quint64) > sizeof(uint)) { return uint(((key >> (8 * sizeof(uint) - 1)) ^ key) & (~0U)); } else { return uint(key & (~0U)); } } inline uint qHash(qint64 key) { return qHash(quint64(key)); } inline uint qHash(QChar key) { return qHash(key.unicode()); } uint qHash(const QByteArray &key); uint qHash(const QString &key); uint qHash(const QStringRef &key); uint qHash(const QBitArray &key); template inline uint qHash(const T *key) { return qHash(reinterpret_cast(key)); } template inline uint qHash(const QPair &key) { uint h1 = qHash(key.first); uint h2 = qHash(key.second); return ((h1 << 16) | (h1 >> 16)) ^ h2; } struct QHashData { struct Node { Node *next; uint h; }; Node *fakeNext; Node **buckets; QBasicAtomicInt ref; int size; int nodeSize; short userNumBits; short numBits; int numBuckets; uint sharable : 1; uint strictAlignment : 1; uint reserved : 30; void *allocateNode(); void *allocateNode(int nodeAlign); void freeNode(void *node); QHashData *detach_helper(void (*node_duplicate)(Node *, void *), int nodeSize); QHashData *detach_helper2(void (*node_duplicate)(Node *, void *), void (*node_delete)(Node *), int nodeSize, int nodeAlign); void mightGrow(); bool willGrow(); void hasShrunk(); void rehash(int hint); void free_helper(void (*node_delete)(Node *)); void destroyAndFree(); Node *firstNode(); static Node *nextNode(Node *node); static Node *previousNode(Node *node); static QHashData shared_null; }; inline void QHashData::mightGrow() { if (size >= numBuckets) rehash(numBits + 1); } inline bool QHashData::willGrow() { if (size >= numBuckets) { rehash(numBits + 1); return true; } else { return false; } } inline void QHashData::hasShrunk() { if (size <= (numBuckets >> 3) && numBits > userNumBits) { try { rehash(qMax(int(numBits) - 2, int(userNumBits))); } catch (const std::bad_alloc &) { } } } inline QHashData::Node *QHashData::firstNode() { Node *e = reinterpret_cast(this); Node **bucket = buckets; int n = numBuckets; while (n--) { if (*bucket != e) return *bucket; ++bucket; } return e; } struct QHashDummyValue { }; inline bool operator==(const QHashDummyValue & , const QHashDummyValue & ) { return true; } template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QHashDummyValue)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QHashDummyValue"; } }; template struct QHashDummyNode { QHashDummyNode *next; uint h; Key key; inline QHashDummyNode(const Key &key0) : key(key0) {} }; template struct QHashNode { QHashNode *next; uint h; Key key; T value; inline QHashNode(const Key &key0) : key(key0) {} inline QHashNode(const Key &key0, const T &value0) : key(key0), value(value0) {} inline bool same_key(uint h0, const Key &key0) { return h0 == h && key0 == key; } }; # 250 "/usr/include/qt4/QtCore/qhash.h" template struct QHashDummyNode { QHashDummyNode *next; union { uint h; short key; }; inline QHashDummyNode(short ) {} }; template struct QHashNode { QHashNode *next; union { uint h; short key; }; T value; inline QHashNode(short ) {} inline QHashNode(short , const T &value0) : value(value0) {} inline bool same_key(uint h0, short) { return h0 == h; } }; template struct QHashDummyNode { QHashDummyNode *next; union { uint h; ushort key; }; inline QHashDummyNode(ushort ) {} }; template struct QHashNode { QHashNode *next; union { uint h; ushort key; }; T value; inline QHashNode(ushort ) {} inline QHashNode(ushort , const T &value0) : value(value0) {} inline bool same_key(uint h0, ushort) { return h0 == h; } }; template struct QHashDummyNode { QHashDummyNode *next; union { uint h; int key; }; inline QHashDummyNode(int ) {} }; template struct QHashNode { QHashNode *next; union { uint h; int key; }; T value; inline QHashNode(int ) {} inline QHashNode(int , const T &value0) : value(value0) {} inline bool same_key(uint h0, int) { return h0 == h; } }; template struct QHashDummyNode { QHashDummyNode *next; union { uint h; uint key; }; inline QHashDummyNode(uint ) {} }; template struct QHashNode { QHashNode *next; union { uint h; uint key; }; T value; inline QHashNode(uint ) {} inline QHashNode(uint , const T &value0) : value(value0) {} inline bool same_key(uint h0, uint) { return h0 == h; } }; template class QHash { typedef QHashDummyNode DummyNode; typedef QHashNode Node; union { QHashData *d; QHashNode *e; }; static inline Node *concrete(QHashData::Node *node) { return reinterpret_cast(node); } static inline int alignOfNode() { return qMax(sizeof(void*), __alignof__(Node)); } static inline int alignOfDummyNode() { return qMax(sizeof(void*), __alignof__(DummyNode)); } public: inline QHash() : d(&QHashData::shared_null) { d->ref.ref(); } inline QHash(const QHash &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); } inline ~QHash() { if (!d->ref.deref()) freeData(d); } QHash &operator=(const QHash &other); bool operator==(const QHash &other) const; inline bool operator!=(const QHash &other) const { return !(*this == other); } inline int size() const { return d->size; } inline bool isEmpty() const { return d->size == 0; } inline int capacity() const { return d->numBuckets; } void reserve(int size); inline void squeeze() { reserve(1); } inline void detach() { if (d->ref != 1) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } void clear(); int remove(const Key &key); T take(const Key &key); bool contains(const Key &key) const; const Key key(const T &value) const; const Key key(const T &value, const Key &defaultKey) const; const T value(const Key &key) const; const T value(const Key &key, const T &defaultValue) const; T &operator[](const Key &key); const T operator[](const Key &key) const; QList uniqueKeys() const; QList keys() const; QList keys(const T &value) const; QList values() const; QList values(const Key &key) const; int count(const Key &key) const; class const_iterator; class iterator { friend class const_iterator; QHashData::Node *i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef T *pointer; typedef T &reference; inline operator Node *() const { return concrete(i); } inline iterator() : i(0) { } explicit inline iterator(void *node) : i(reinterpret_cast(node)) { } inline const Key &key() const { return concrete(i)->key; } inline T &value() const { return concrete(i)->value; } inline T &operator*() const { return concrete(i)->value; } inline T *operator->() const { return &concrete(i)->value; } inline bool operator==(const iterator &o) const { return i == o.i; } inline bool operator!=(const iterator &o) const { return i != o.i; } inline iterator &operator++() { i = QHashData::nextNode(i); return *this; } inline iterator operator++(int) { iterator r = *this; i = QHashData::nextNode(i); return r; } inline iterator &operator--() { i = QHashData::previousNode(i); return *this; } inline iterator operator--(int) { iterator r = *this; i = QHashData::previousNode(i); return r; } inline iterator operator+(int j) const { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } inline iterator operator-(int j) const { return operator+(-j); } inline iterator &operator+=(int j) { return *this = *this + j; } inline iterator &operator-=(int j) { return *this = *this - j; } public: inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } private: inline operator bool() const { return false; } }; friend class iterator; class const_iterator { friend class iterator; QHashData::Node *i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline operator Node *() const { return concrete(i); } inline const_iterator() : i(0) { } explicit inline const_iterator(void *node) : i(reinterpret_cast(node)) { } inline const_iterator(const iterator &o) { i = o.i; } inline const Key &key() const { return concrete(i)->key; } inline const T &value() const { return concrete(i)->value; } inline const T &operator*() const { return concrete(i)->value; } inline const T *operator->() const { return &concrete(i)->value; } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline const_iterator &operator++() { i = QHashData::nextNode(i); return *this; } inline const_iterator operator++(int) { const_iterator r = *this; i = QHashData::nextNode(i); return r; } inline const_iterator &operator--() { i = QHashData::previousNode(i); return *this; } inline const_iterator operator--(int) { const_iterator r = *this; i = QHashData::previousNode(i); return r; } inline const_iterator operator+(int j) const { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } inline const_iterator operator-(int j) const { return operator+(-j); } inline const_iterator &operator+=(int j) { return *this = *this + j; } inline const_iterator &operator-=(int j) { return *this = *this - j; } # 452 "/usr/include/qt4/QtCore/qhash.h" private: inline operator bool() const { return false; } }; friend class const_iterator; inline iterator begin() { detach(); return iterator(d->firstNode()); } inline const_iterator begin() const { return const_iterator(d->firstNode()); } inline const_iterator constBegin() const { return const_iterator(d->firstNode()); } inline iterator end() { detach(); return iterator(e); } inline const_iterator end() const { return const_iterator(e); } inline const_iterator constEnd() const { return const_iterator(e); } iterator erase(iterator it); typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return d->size; } iterator find(const Key &key); const_iterator find(const Key &key) const; const_iterator constFind(const Key &key) const; iterator insert(const Key &key, const T &value); iterator insertMulti(const Key &key, const T &value); QHash &unite(const QHash &other); typedef T mapped_type; typedef Key key_type; typedef ptrdiff_t difference_type; typedef int size_type; inline bool empty() const { return isEmpty(); } private: void detach_helper(); void freeData(QHashData *d); Node **findNode(const Key &key, uint *hp = 0) const; Node *createNode(uint h, const Key &key, const T &value, Node **nextNode); void deleteNode(Node *node); static void deleteNode2(QHashData::Node *node); static void duplicateNode(QHashData::Node *originalNode, void *newNode); }; template inline void QHash::deleteNode(Node *node) { deleteNode2(reinterpret_cast(node)); d->freeNode(node); } template inline void QHash::deleteNode2(QHashData::Node *node) { concrete(node)->~Node(); } template inline void QHash::duplicateNode(QHashData::Node *node, void *newNode) { Node *concreteNode = concrete(node); if (QTypeInfo::isDummy) { (void) new (newNode) DummyNode(concreteNode->key); } else { (void) new (newNode) Node(concreteNode->key, concreteNode->value); } } template inline typename QHash::Node * QHash::createNode(uint ah, const Key &akey, const T &avalue, Node **anextNode) { Node *node; if (QTypeInfo::isDummy) { node = reinterpret_cast(new (d->allocateNode(alignOfDummyNode())) DummyNode(akey)); } else { node = new (d->allocateNode(alignOfNode())) Node(akey, avalue); } node->h = ah; node->next = *anextNode; *anextNode = node; ++d->size; return node; } template inline QHash &QHash::unite(const QHash &other) { QHash copy(other); const_iterator it = copy.constEnd(); while (it != copy.constBegin()) { --it; insertMulti(it.key(), it.value()); } return *this; } template void QHash::freeData(QHashData *x) { x->free_helper(deleteNode2); } template inline void QHash::clear() { *this = QHash(); } template void QHash::detach_helper() { QHashData *x = d->detach_helper2(duplicateNode, deleteNode2, QTypeInfo::isDummy ? sizeof(DummyNode) : sizeof(Node), QTypeInfo::isDummy ? alignOfDummyNode() : alignOfNode()); if (!d->ref.deref()) freeData(d); d = x; } template inline QHash &QHash::operator=(const QHash &other) { if (d != other.d) { other.d->ref.ref(); if (!d->ref.deref()) freeData(d); d = other.d; if (!d->sharable) detach_helper(); } return *this; } template inline const T QHash::value(const Key &akey) const { Node *node; if (d->size == 0 || (node = *findNode(akey)) == e) { return T(); } else { return node->value; } } template inline const T QHash::value(const Key &akey, const T &adefaultValue) const { Node *node; if (d->size == 0 || (node = *findNode(akey)) == e) { return adefaultValue; } else { return node->value; } } template QList QHash::uniqueKeys() const { QList res; const_iterator i = begin(); if (i != end()) { for (;;) { const Key &aKey = i.key(); res.append(aKey); do { if (++i == end()) goto break_out_of_outer_loop; } while (aKey == i.key()); } } break_out_of_outer_loop: return res; } template QList QHash::keys() const { QList res; const_iterator i = begin(); while (i != end()) { res.append(i.key()); ++i; } return res; } template QList QHash::keys(const T &avalue) const { QList res; const_iterator i = begin(); while (i != end()) { if (i.value() == avalue) res.append(i.key()); ++i; } return res; } template const Key QHash::key(const T &avalue) const { return key(avalue, Key()); } template const Key QHash::key(const T &avalue, const Key &defaultValue) const { const_iterator i = begin(); while (i != end()) { if (i.value() == avalue) return i.key(); ++i; } return defaultValue; } template QList QHash::values() const { QList res; const_iterator i = begin(); while (i != end()) { res.append(i.value()); ++i; } return res; } template QList QHash::values(const Key &akey) const { QList res; Node *node = *findNode(akey); if (node != e) { do { res.append(node->value); } while ((node = node->next) != e && node->key == akey); } return res; } template int QHash::count(const Key &akey) const { int cnt = 0; Node *node = *findNode(akey); if (node != e) { do { ++cnt; } while ((node = node->next) != e && node->key == akey); } return cnt; } template inline const T QHash::operator[](const Key &akey) const { return value(akey); } template inline T &QHash::operator[](const Key &akey) { detach(); uint h; Node **node = findNode(akey, &h); if (*node == e) { if (d->willGrow()) node = findNode(akey, &h); return createNode(h, akey, T(), node)->value; } return (*node)->value; } template inline typename QHash::iterator QHash::insert(const Key &akey, const T &avalue) { detach(); uint h; Node **node = findNode(akey, &h); if (*node == e) { if (d->willGrow()) node = findNode(akey, &h); return iterator(createNode(h, akey, avalue, node)); } if (!QTypeInfo::isDummy) (*node)->value = avalue; return iterator(*node); } template inline typename QHash::iterator QHash::insertMulti(const Key &akey, const T &avalue) { detach(); d->willGrow(); uint h; Node **nextNode = findNode(akey, &h); return iterator(createNode(h, akey, avalue, nextNode)); } template int QHash::remove(const Key &akey) { if (isEmpty()) return 0; detach(); int oldSize = d->size; Node **node = findNode(akey); if (*node != e) { bool deleteNext = true; do { Node *next = (*node)->next; deleteNext = (next != e && next->key == (*node)->key); deleteNode(*node); *node = next; --d->size; } while (deleteNext); d->hasShrunk(); } return oldSize - d->size; } template T QHash::take(const Key &akey) { if (isEmpty()) return T(); detach(); Node **node = findNode(akey); if (*node != e) { T t = (*node)->value; Node *next = (*node)->next; deleteNode(*node); *node = next; --d->size; d->hasShrunk(); return t; } return T(); } template typename QHash::iterator QHash::erase(iterator it) { if (it == iterator(e)) return it; iterator ret = it; ++ret; Node *node = it; Node **node_ptr = reinterpret_cast(&d->buckets[node->h % d->numBuckets]); while (*node_ptr != node) node_ptr = &(*node_ptr)->next; *node_ptr = node->next; deleteNode(node); --d->size; return ret; } template inline void QHash::reserve(int asize) { detach(); d->rehash(-qMax(asize, 1)); } template inline typename QHash::const_iterator QHash::find(const Key &akey) const { return const_iterator(*findNode(akey)); } template inline typename QHash::const_iterator QHash::constFind(const Key &akey) const { return const_iterator(*findNode(akey)); } template inline typename QHash::iterator QHash::find(const Key &akey) { detach(); return iterator(*findNode(akey)); } template inline bool QHash::contains(const Key &akey) const { return *findNode(akey) != e; } template typename QHash::Node **QHash::findNode(const Key &akey, uint *ahp) const { Node **node; uint h = qHash(akey); if (d->numBuckets) { node = reinterpret_cast(&d->buckets[h % d->numBuckets]); ((!(*node == e || (*node)->next)) ? qt_assert("*node == e || (*node)->next","/usr/include/qt4/QtCore/qhash.h",879) : qt_noop()); while (*node != e && !(*node)->same_key(h, akey)) node = &(*node)->next; } else { node = const_cast(reinterpret_cast(&e)); } if (ahp) *ahp = h; return node; } template bool QHash::operator==(const QHash &other) const { if (size() != other.size()) return false; if (d == other.d) return true; const_iterator it = begin(); while (it != end()) { const Key &akey = it.key(); const_iterator it2 = other.find(akey); do { if (it2 == other.end() || !(it2.key() == akey)) return false; if (!QTypeInfo::isDummy && !(it.value() == it2.value())) return false; ++it; ++it2; } while (it != end() && it.key() == akey); } return true; } template class QMultiHash : public QHash { public: QMultiHash() {} QMultiHash(const QHash &other) : QHash(other) {} inline typename QHash::iterator replace(const Key &key, const T &value) { return QHash::insert(key, value); } inline typename QHash::iterator insert(const Key &key, const T &value) { return QHash::insertMulti(key, value); } inline QMultiHash &operator+=(const QMultiHash &other) { unite(other); return *this; } inline QMultiHash operator+(const QMultiHash &other) const { QMultiHash result = *this; result += other; return result; } using QHash::contains; using QHash::remove; using QHash::count; using QHash::find; using QHash::constFind; # 958 "/usr/include/qt4/QtCore/qhash.h" bool contains(const Key &key, const T &value) const; int remove(const Key &key, const T &value); int count(const Key &key, const T &value) const; typename QHash::iterator find(const Key &key, const T &value) { typename QHash::iterator i(find(key)); typename QHash::iterator end(this->end()); while (i != end && i.key() == key) { if (i.value() == value) return i; ++i; } return end; } typename QHash::const_iterator find(const Key &key, const T &value) const { typename QHash::const_iterator i(constFind(key)); typename QHash::const_iterator end(QHash::constEnd()); while (i != end && i.key() == key) { if (i.value() == value) return i; ++i; } return end; } typename QHash::const_iterator constFind(const Key &key, const T &value) const { return find(key, value); } private: T &operator[](const Key &key); const T operator[](const Key &key) const; }; template inline bool QMultiHash::contains(const Key &key, const T &value) const { return constFind(key, value) != QHash::constEnd(); } template inline int QMultiHash::remove(const Key &key, const T &value) { int n = 0; typename QHash::iterator i(find(key)); typename QHash::iterator end(QHash::end()); while (i != end && i.key() == key) { if (i.value() == value) { i = erase(i); ++n; } else { ++i; } } return n; } template inline int QMultiHash::count(const Key &key, const T &value) const { int n = 0; typename QHash::const_iterator i(constFind(key)); typename QHash::const_iterator end(QHash::constEnd()); while (i != end && i.key() == key) { if (i.value() == value) ++n; ++i; } return n; } template class QHashIterator { typedef typename QHash::const_iterator const_iterator; typedef const_iterator Item; QHash c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline QHashIterator(const QHash &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline QHashIterator &operator=(const QHash &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qhash.h",1033) : qt_noop()); return *n; } inline const Key &key() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qhash.h",1033) : qt_noop()); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; template class QMutableHashIterator { typedef typename QHash::iterator iterator; typedef typename QHash::const_iterator const_iterator; typedef iterator Item; QHash *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableHashIterator(QHash &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableHashIterator() { c->setSharable(true); } inline QMutableHashIterator &operator=(QHash &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qhash.h",1034) : qt_noop()); return *n; } inline const T &value() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qhash.h",1034) : qt_noop()); return *n; } inline const Key &key() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qhash.h",1034) : qt_noop()); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 1 "/usr/include/qt4/QtCore/QHash" 2 # 32 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/qptr.hpp" 2 # 1 "/usr/include/qt4/QtCore/QDebug" 1 # 1 "/usr/include/qt4/QtCore/qdebug.h" 1 # 46 "/usr/include/qt4/QtCore/qdebug.h" # 1 "/usr/include/qt4/QtCore/qhash.h" 1 # 47 "/usr/include/qt4/QtCore/qdebug.h" 2 # 1 "/usr/include/qt4/QtCore/qmap.h" 1 # 55 "/usr/include/qt4/QtCore/qmap.h" typedef QtValidLicenseForCoreModule QtCoreModule; struct QMapData { struct Node { Node *backward; Node *forward[1]; }; enum { LastLevel = 11, Sparseness = 3 }; QMapData *backward; QMapData *forward[QMapData::LastLevel + 1]; QBasicAtomicInt ref; int topLevel; int size; uint randomBits; uint insertInOrder : 1; uint sharable : 1; uint strictAlignment : 1; uint reserved : 29; static QMapData *createData(); static QMapData *createData(int alignment); void continueFreeData(int offset); Node *node_create(Node *update[], int offset); Node *node_create(Node *update[], int offset, int alignment); void node_delete(Node *update[], int offset, Node *node); static QMapData shared_null; }; # 105 "/usr/include/qt4/QtCore/qmap.h" template inline bool qMapLessThanKey(const Key &key1, const Key &key2) { return key1 < key2; } template inline bool qMapLessThanKey(Ptr *key1, Ptr *key2) { ((!(sizeof(quintptr) == sizeof(Ptr *))) ? qt_assert("sizeof(quintptr) == sizeof(Ptr *)","/usr/include/qt4/QtCore/qmap.h",113) : qt_noop()); return quintptr(key1) < quintptr(key2); } template inline bool qMapLessThanKey(const Ptr *key1, const Ptr *key2) { ((!(sizeof(quintptr) == sizeof(const Ptr *))) ? qt_assert("sizeof(quintptr) == sizeof(const Ptr *)","/usr/include/qt4/QtCore/qmap.h",119) : qt_noop()); return quintptr(key1) < quintptr(key2); } template struct QMapNode { Key key; T value; QMapData::Node *backward; QMapData::Node *forward[1]; }; template struct QMapPayloadNode { Key key; T value; QMapData::Node *backward; }; template class QMap { typedef QMapNode Node; typedef QMapPayloadNode PayloadNode; union { QMapData *d; QMapData::Node *e; }; static inline int payload() { return sizeof(PayloadNode) - sizeof(QMapData::Node *); } static inline int alignment() { return int(qMax(sizeof(void*), __alignof__(Node))); } static inline Node *concrete(QMapData::Node *node) { return reinterpret_cast(reinterpret_cast(node) - payload()); } public: inline QMap() : d(&QMapData::shared_null) { d->ref.ref(); } inline QMap(const QMap &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); } inline ~QMap() { if (!d) return; if (!d->ref.deref()) freeData(d); } QMap &operator=(const QMap &other); explicit QMap(const typename std::map &other); std::map toStdMap() const; bool operator==(const QMap &other) const; inline bool operator!=(const QMap &other) const { return !(*this == other); } inline int size() const { return d->size; } inline bool isEmpty() const { return d->size == 0; } inline void detach() { if (d->ref != 1) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } inline void setInsertInOrder(bool ordered) { d->insertInOrder = ordered; } void clear(); int remove(const Key &key); T take(const Key &key); bool contains(const Key &key) const; const Key key(const T &value) const; const Key key(const T &value, const Key &defaultKey) const; const T value(const Key &key) const; const T value(const Key &key, const T &defaultValue) const; T &operator[](const Key &key); const T operator[](const Key &key) const; QList uniqueKeys() const; QList keys() const; QList keys(const T &value) const; QList values() const; QList values(const Key &key) const; int count(const Key &key) const; class const_iterator; class iterator { friend class const_iterator; QMapData::Node *i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef T *pointer; typedef T &reference; inline operator QMapData::Node *() const { return i; } inline iterator() : i(0) { } inline iterator(QMapData::Node *node) : i(node) { } inline const Key &key() const { return concrete(i)->key; } inline T &value() const { return concrete(i)->value; } inline T &operator*() const { return concrete(i)->value; } inline T *operator->() const { return &concrete(i)->value; } inline bool operator==(const iterator &o) const { return i == o.i; } inline bool operator!=(const iterator &o) const { return i != o.i; } inline iterator &operator++() { i = i->forward[0]; return *this; } inline iterator operator++(int) { iterator r = *this; i = i->forward[0]; return r; } inline iterator &operator--() { i = i->backward; return *this; } inline iterator operator--(int) { iterator r = *this; i = i->backward; return r; } inline iterator operator+(int j) const { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } inline iterator operator-(int j) const { return operator+(-j); } inline iterator &operator+=(int j) { return *this = *this + j; } inline iterator &operator-=(int j) { return *this = *this - j; } public: inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } private: inline operator bool() const { return false; } }; friend class iterator; class const_iterator { friend class iterator; QMapData::Node *i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline operator QMapData::Node *() const { return i; } inline const_iterator() : i(0) { } inline const_iterator(QMapData::Node *node) : i(node) { } inline const_iterator(const iterator &o) { i = o.i; } inline const Key &key() const { return concrete(i)->key; } inline const T &value() const { return concrete(i)->value; } inline const T &operator*() const { return concrete(i)->value; } inline const T *operator->() const { return &concrete(i)->value; } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline const_iterator &operator++() { i = i->forward[0]; return *this; } inline const_iterator operator++(int) { const_iterator r = *this; i = i->forward[0]; return r; } inline const_iterator &operator--() { i = i->backward; return *this; } inline const_iterator operator--(int) { const_iterator r = *this; i = i->backward; return r; } inline const_iterator operator+(int j) const { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } inline const_iterator operator-(int j) const { return operator+(-j); } inline const_iterator &operator+=(int j) { return *this = *this + j; } inline const_iterator &operator-=(int j) { return *this = *this - j; } # 341 "/usr/include/qt4/QtCore/qmap.h" private: inline operator bool() const { return false; } }; friend class const_iterator; inline iterator begin() { detach(); return iterator(e->forward[0]); } inline const_iterator begin() const { return const_iterator(e->forward[0]); } inline const_iterator constBegin() const { return const_iterator(e->forward[0]); } inline iterator end() { detach(); return iterator(e); } inline const_iterator end() const { return const_iterator(e); } inline const_iterator constEnd() const { return const_iterator(e); } iterator erase(iterator it); typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return d->size; } iterator find(const Key &key); const_iterator find(const Key &key) const; const_iterator constFind(const Key &key) const; iterator lowerBound(const Key &key); const_iterator lowerBound(const Key &key) const; iterator upperBound(const Key &key); const_iterator upperBound(const Key &key) const; iterator insert(const Key &key, const T &value); iterator insertMulti(const Key &key, const T &value); QMap &unite(const QMap &other); typedef Key key_type; typedef T mapped_type; typedef ptrdiff_t difference_type; typedef int size_type; inline bool empty() const { return isEmpty(); } private: void detach_helper(); void freeData(QMapData *d); QMapData::Node *findNode(const Key &key) const; QMapData::Node *mutableFindNode(QMapData::Node *update[], const Key &key) const; QMapData::Node *node_create(QMapData *d, QMapData::Node *update[], const Key &key, const T &value); }; template inline QMap &QMap::operator=(const QMap &other) { if (d != other.d) { other.d->ref.ref(); if (!d->ref.deref()) freeData(d); d = other.d; if (!d->sharable) detach_helper(); } return *this; } template inline void QMap::clear() { *this = QMap(); } template inline typename QMapData::Node * QMap::node_create(QMapData *adt, QMapData::Node *aupdate[], const Key &akey, const T &avalue) { QMapData::Node *abstractNode = adt->node_create(aupdate, payload(), alignment()); try { Node *concreteNode = concrete(abstractNode); new (&concreteNode->key) Key(akey); try { new (&concreteNode->value) T(avalue); } catch (...) { concreteNode->key.~Key(); throw; } } catch (...) { adt->node_delete(aupdate, payload(), abstractNode); throw; } # 452 "/usr/include/qt4/QtCore/qmap.h" return abstractNode; } template inline QMapData::Node *QMap::findNode(const Key &akey) const { QMapData::Node *cur = e; QMapData::Node *next = e; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, akey)) cur = next; } if (next != e && !qMapLessThanKey(akey, concrete(next)->key)) { return next; } else { return e; } } template inline const T QMap::value(const Key &akey) const { QMapData::Node *node; if (d->size == 0 || (node = findNode(akey)) == e) { return T(); } else { return concrete(node)->value; } } template inline const T QMap::value(const Key &akey, const T &adefaultValue) const { QMapData::Node *node; if (d->size == 0 || (node = findNode(akey)) == e) { return adefaultValue; } else { return concrete(node)->value; } } template inline const T QMap::operator[](const Key &akey) const { return value(akey); } template inline T &QMap::operator[](const Key &akey) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *node = mutableFindNode(update, akey); if (node == e) node = node_create(d, update, akey, T()); return concrete(node)->value; } template inline int QMap::count(const Key &akey) const { int cnt = 0; QMapData::Node *node = findNode(akey); if (node != e) { do { ++cnt; node = node->forward[0]; } while (node != e && !qMapLessThanKey(akey, concrete(node)->key)); } return cnt; } template inline bool QMap::contains(const Key &akey) const { return findNode(akey) != e; } template inline typename QMap::iterator QMap::insert(const Key &akey, const T &avalue) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *node = mutableFindNode(update, akey); if (node == e) { node = node_create(d, update, akey, avalue); } else { concrete(node)->value = avalue; } return iterator(node); } # 569 "/usr/include/qt4/QtCore/qmap.h" template inline typename QMap::iterator QMap::insertMulti(const Key &akey, const T &avalue) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; mutableFindNode(update, akey); return iterator(node_create(d, update, akey, avalue)); } template inline typename QMap::const_iterator QMap::find(const Key &akey) const { return const_iterator(findNode(akey)); } template inline typename QMap::const_iterator QMap::constFind(const Key &akey) const { return const_iterator(findNode(akey)); } template inline typename QMap::iterator QMap::find(const Key &akey) { detach(); return iterator(findNode(akey)); } template inline QMap &QMap::unite(const QMap &other) { QMap copy(other); const_iterator it = copy.constEnd(); const const_iterator b = copy.constBegin(); while (it != b) { --it; insertMulti(it.key(), it.value()); } return *this; } template void QMap::freeData(QMapData *x) { if (QTypeInfo::isComplex || QTypeInfo::isComplex) { QMapData *cur = x; QMapData *next = cur->forward[0]; while (next != x) { cur = next; next = cur->forward[0]; Node *concreteNode = concrete(reinterpret_cast(cur)); concreteNode->key.~Key(); concreteNode->value.~T(); } } x->continueFreeData(payload()); } template int QMap::remove(const Key &akey) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *cur = e; QMapData::Node *next = e; int oldSize = d->size; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, akey)) cur = next; update[i] = cur; } if (next != e && !qMapLessThanKey(akey, concrete(next)->key)) { bool deleteNext = true; do { cur = next; next = cur->forward[0]; deleteNext = (next != e && !qMapLessThanKey(concrete(cur)->key, concrete(next)->key)); concrete(cur)->key.~Key(); concrete(cur)->value.~T(); d->node_delete(update, payload(), cur); } while (deleteNext); } return oldSize - d->size; } template T QMap::take(const Key &akey) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *cur = e; QMapData::Node *next = e; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, akey)) cur = next; update[i] = cur; } if (next != e && !qMapLessThanKey(akey, concrete(next)->key)) { T t = concrete(next)->value; concrete(next)->key.~Key(); concrete(next)->value.~T(); d->node_delete(update, payload(), next); return t; } return T(); } template typename QMap::iterator QMap::erase(iterator it) { QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *cur = e; QMapData::Node *next = e; if (it == iterator(e)) return it; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, it.key())) cur = next; update[i] = cur; } while (next != e) { cur = next; next = cur->forward[0]; if (cur == it) { concrete(cur)->key.~Key(); concrete(cur)->value.~T(); d->node_delete(update, payload(), cur); return iterator(next); } for (int i = 0; i <= d->topLevel; ++i) { if (update[i]->forward[i] != cur) break; update[i] = cur; } } return end(); } template void QMap::detach_helper() { union { QMapData *d; QMapData::Node *e; } x; x.d = QMapData::createData(alignment()); if (d->size) { x.d->insertInOrder = true; QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *cur = e->forward[0]; update[0] = x.e; while (cur != e) { try { Node *concreteNode = concrete(cur); node_create(x.d, update, concreteNode->key, concreteNode->value); } catch (...) { freeData(x.d); throw; } cur = cur->forward[0]; } x.d->insertInOrder = false; } if (!d->ref.deref()) freeData(d); d = x.d; } template QMapData::Node *QMap::mutableFindNode(QMapData::Node *aupdate[], const Key &akey) const { QMapData::Node *cur = e; QMapData::Node *next = e; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, akey)) cur = next; aupdate[i] = cur; } if (next != e && !qMapLessThanKey(akey, concrete(next)->key)) { return next; } else { return e; } } template QList QMap::uniqueKeys() const { QList res; const_iterator i = begin(); if (i != end()) { for (;;) { const Key &aKey = i.key(); res.append(aKey); do { if (++i == end()) goto break_out_of_outer_loop; } while (!(aKey < i.key())); } } break_out_of_outer_loop: return res; } template QList QMap::keys() const { QList res; const_iterator i = begin(); while (i != end()) { res.append(i.key()); ++i; } return res; } template QList QMap::keys(const T &avalue) const { QList res; const_iterator i = begin(); while (i != end()) { if (i.value() == avalue) res.append(i.key()); ++i; } return res; } template const Key QMap::key(const T &avalue) const { return key(avalue, Key()); } template const Key QMap::key(const T &avalue, const Key &defaultKey) const { const_iterator i = begin(); while (i != end()) { if (i.value() == avalue) return i.key(); ++i; } return defaultKey; } template QList QMap::values() const { QList res; const_iterator i = begin(); while (i != end()) { res.append(i.value()); ++i; } return res; } template QList QMap::values(const Key &akey) const { QList res; QMapData::Node *node = findNode(akey); if (node != e) { do { res.append(concrete(node)->value); node = node->forward[0]; } while (node != e && !qMapLessThanKey(akey, concrete(node)->key)); } return res; } template inline typename QMap::const_iterator QMap::lowerBound(const Key &akey) const { QMapData::Node *update[QMapData::LastLevel + 1]; mutableFindNode(update, akey); return const_iterator(update[0]->forward[0]); } template inline typename QMap::iterator QMap::lowerBound(const Key &akey) { detach(); return static_cast(const_cast(this)->lowerBound(akey)); } template inline typename QMap::const_iterator QMap::upperBound(const Key &akey) const { QMapData::Node *update[QMapData::LastLevel + 1]; mutableFindNode(update, akey); QMapData::Node *node = update[0]->forward[0]; while (node != e && !qMapLessThanKey(akey, concrete(node)->key)) node = node->forward[0]; return const_iterator(node); } template inline typename QMap::iterator QMap::upperBound(const Key &akey) { detach(); return static_cast(const_cast(this)->upperBound(akey)); } template bool QMap::operator==(const QMap &other) const { if (size() != other.size()) return false; if (d == other.d) return true; const_iterator it1 = begin(); const_iterator it2 = other.begin(); while (it1 != end()) { if (!(it1.value() == it2.value()) || qMapLessThanKey(it1.key(), it2.key()) || qMapLessThanKey(it2.key(), it1.key())) return false; ++it2; ++it1; } return true; } template QMap::QMap(const std::map &other) { d = QMapData::createData(alignment()); d->insertInOrder = true; typename std::map::const_iterator it = other.end(); while (it != other.begin()) { --it; insert((*it).first, (*it).second); } d->insertInOrder = false; } template std::map QMap::toStdMap() const { std::map map; const_iterator it = end(); while (it != begin()) { --it; map.insert(std::pair(it.key(), it.value())); } return map; } template class QMultiMap : public QMap { public: QMultiMap() {} QMultiMap(const QMap &other) : QMap(other) {} inline typename QMap::iterator replace(const Key &key, const T &value) { return QMap::insert(key, value); } inline typename QMap::iterator insert(const Key &key, const T &value) { return QMap::insertMulti(key, value); } inline QMultiMap &operator+=(const QMultiMap &other) { unite(other); return *this; } inline QMultiMap operator+(const QMultiMap &other) const { QMultiMap result = *this; result += other; return result; } using QMap::contains; using QMap::remove; using QMap::count; using QMap::find; using QMap::constFind; # 984 "/usr/include/qt4/QtCore/qmap.h" bool contains(const Key &key, const T &value) const; int remove(const Key &key, const T &value); int count(const Key &key, const T &value) const; typename QMap::iterator find(const Key &key, const T &value) { typename QMap::iterator i(find(key)); typename QMap::iterator end(this->end()); while (i != end && !qMapLessThanKey(key, i.key())) { if (i.value() == value) return i; ++i; } return end; } typename QMap::const_iterator find(const Key &key, const T &value) const { typename QMap::const_iterator i(constFind(key)); typename QMap::const_iterator end(QMap::constEnd()); while (i != end && !qMapLessThanKey(key, i.key())) { if (i.value() == value) return i; ++i; } return end; } typename QMap::const_iterator constFind(const Key &key, const T &value) const { return find(key, value); } private: T &operator[](const Key &key); const T operator[](const Key &key) const; }; template inline bool QMultiMap::contains(const Key &key, const T &value) const { return constFind(key, value) != QMap::constEnd(); } template inline int QMultiMap::remove(const Key &key, const T &value) { int n = 0; typename QMap::iterator i(find(key)); typename QMap::iterator end(QMap::end()); while (i != end && !qMapLessThanKey(key, i.key())) { if (i.value() == value) { i = erase(i); ++n; } else { ++i; } } return n; } template inline int QMultiMap::count(const Key &key, const T &value) const { int n = 0; typename QMap::const_iterator i(constFind(key)); typename QMap::const_iterator end(QMap::constEnd()); while (i != end && !qMapLessThanKey(key, i.key())) { if (i.value() == value) ++n; ++i; } return n; } template class QMapIterator { typedef typename QMap::const_iterator const_iterator; typedef const_iterator Item; QMap c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline QMapIterator(const QMap &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline QMapIterator &operator=(const QMap &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qmap.h",1059) : qt_noop()); return *n; } inline const Key &key() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qmap.h",1059) : qt_noop()); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; template class QMutableMapIterator { typedef typename QMap::iterator iterator; typedef typename QMap::const_iterator const_iterator; typedef iterator Item; QMap *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableMapIterator(QMap &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableMapIterator() { c->setSharable(true); } inline QMutableMapIterator &operator=(QMap &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qmap.h",1060) : qt_noop()); return *n; } inline const T &value() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qmap.h",1060) : qt_noop()); return *n; } inline const Key &key() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qmap.h",1060) : qt_noop()); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 49 "/usr/include/qt4/QtCore/qdebug.h" 2 # 1 "/usr/include/qt4/QtCore/qtextstream.h" 1 # 48 "/usr/include/qt4/QtCore/qtextstream.h" # 1 "/usr/include/qt4/QtCore/qlocale.h" 1 # 48 "/usr/include/qt4/QtCore/qlocale.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QDataStream; class QDate; class QDateTime; class QTime; class QVariant; class QTextStream; class QTextStreamPrivate; class QLocale; class QSystemLocale { public: QSystemLocale(); virtual ~QSystemLocale(); enum QueryType { LanguageId, CountryId, DecimalPoint, GroupSeparator, ZeroDigit, NegativeSign, DateFormatLong, DateFormatShort, TimeFormatLong, TimeFormatShort, DayNameLong, DayNameShort, MonthNameLong, MonthNameShort, DateToStringLong, DateToStringShort, TimeToStringLong, TimeToStringShort, DateTimeFormatLong, DateTimeFormatShort, DateTimeToStringLong, DateTimeToStringShort, MeasurementSystem, PositiveSign, AMText, PMText }; virtual QVariant query(QueryType type, QVariant in) const; virtual QLocale fallbackLocale() const; private: QSystemLocale(bool); friend QSystemLocale *QSystemLocale_globalSystemLocale(); }; struct QLocalePrivate; class QLocale { public: static const QMetaObject staticMetaObject; private: friend class QString; friend class QByteArray; friend class QIntValidator; friend class QDoubleValidator; friend class QTextStream; friend class QTextStreamPrivate; public: enum Language { C = 1, Abkhazian = 2, Afan = 3, Afar = 4, Afrikaans = 5, Albanian = 6, Amharic = 7, Arabic = 8, Armenian = 9, Assamese = 10, Aymara = 11, Azerbaijani = 12, Bashkir = 13, Basque = 14, Bengali = 15, Bhutani = 16, Bihari = 17, Bislama = 18, Breton = 19, Bulgarian = 20, Burmese = 21, Byelorussian = 22, Cambodian = 23, Catalan = 24, Chinese = 25, Corsican = 26, Croatian = 27, Czech = 28, Danish = 29, Dutch = 30, English = 31, Esperanto = 32, Estonian = 33, Faroese = 34, FijiLanguage = 35, Finnish = 36, French = 37, Frisian = 38, Gaelic = 39, Galician = 40, Georgian = 41, German = 42, Greek = 43, Greenlandic = 44, Guarani = 45, Gujarati = 46, Hausa = 47, Hebrew = 48, Hindi = 49, Hungarian = 50, Icelandic = 51, Indonesian = 52, Interlingua = 53, Interlingue = 54, Inuktitut = 55, Inupiak = 56, Irish = 57, Italian = 58, Japanese = 59, Javanese = 60, Kannada = 61, Kashmiri = 62, Kazakh = 63, Kinyarwanda = 64, Kirghiz = 65, Korean = 66, Kurdish = 67, Kurundi = 68, Laothian = 69, Latin = 70, Latvian = 71, Lingala = 72, Lithuanian = 73, Macedonian = 74, Malagasy = 75, Malay = 76, Malayalam = 77, Maltese = 78, Maori = 79, Marathi = 80, Moldavian = 81, Mongolian = 82, NauruLanguage = 83, Nepali = 84, Norwegian = 85, NorwegianBokmal = Norwegian, Occitan = 86, Oriya = 87, Pashto = 88, Persian = 89, Polish = 90, Portuguese = 91, Punjabi = 92, Quechua = 93, RhaetoRomance = 94, Romanian = 95, Russian = 96, Samoan = 97, Sangho = 98, Sanskrit = 99, Serbian = 100, SerboCroatian = 101, Sesotho = 102, Setswana = 103, Shona = 104, Sindhi = 105, Singhalese = 106, Siswati = 107, Slovak = 108, Slovenian = 109, Somali = 110, Spanish = 111, Sundanese = 112, Swahili = 113, Swedish = 114, Tagalog = 115, Tajik = 116, Tamil = 117, Tatar = 118, Telugu = 119, Thai = 120, Tibetan = 121, Tigrinya = 122, TongaLanguage = 123, Tsonga = 124, Turkish = 125, Turkmen = 126, Twi = 127, Uigur = 128, Ukrainian = 129, Urdu = 130, Uzbek = 131, Vietnamese = 132, Volapuk = 133, Welsh = 134, Wolof = 135, Xhosa = 136, Yiddish = 137, Yoruba = 138, Zhuang = 139, Zulu = 140, NorwegianNynorsk = 141, Nynorsk = NorwegianNynorsk, Bosnian = 142, Divehi = 143, Manx = 144, Cornish = 145, Akan = 146, Konkani = 147, Ga = 148, Igbo = 149, Kamba = 150, Syriac = 151, Blin = 152, Geez = 153, Koro = 154, Sidamo = 155, Atsam = 156, Tigre = 157, Jju = 158, Friulian = 159, Venda = 160, Ewe = 161, Walamo = 162, Hawaiian = 163, Tyap = 164, Chewa = 165, LastLanguage = Chewa }; enum Country { AnyCountry = 0, Afghanistan = 1, Albania = 2, Algeria = 3, AmericanSamoa = 4, Andorra = 5, Angola = 6, Anguilla = 7, Antarctica = 8, AntiguaAndBarbuda = 9, Argentina = 10, Armenia = 11, Aruba = 12, Australia = 13, Austria = 14, Azerbaijan = 15, Bahamas = 16, Bahrain = 17, Bangladesh = 18, Barbados = 19, Belarus = 20, Belgium = 21, Belize = 22, Benin = 23, Bermuda = 24, Bhutan = 25, Bolivia = 26, BosniaAndHerzegowina = 27, Botswana = 28, BouvetIsland = 29, Brazil = 30, BritishIndianOceanTerritory = 31, BruneiDarussalam = 32, Bulgaria = 33, BurkinaFaso = 34, Burundi = 35, Cambodia = 36, Cameroon = 37, Canada = 38, CapeVerde = 39, CaymanIslands = 40, CentralAfricanRepublic = 41, Chad = 42, Chile = 43, China = 44, ChristmasIsland = 45, CocosIslands = 46, Colombia = 47, Comoros = 48, DemocraticRepublicOfCongo = 49, PeoplesRepublicOfCongo = 50, CookIslands = 51, CostaRica = 52, IvoryCoast = 53, Croatia = 54, Cuba = 55, Cyprus = 56, CzechRepublic = 57, Denmark = 58, Djibouti = 59, Dominica = 60, DominicanRepublic = 61, EastTimor = 62, Ecuador = 63, Egypt = 64, ElSalvador = 65, EquatorialGuinea = 66, Eritrea = 67, Estonia = 68, Ethiopia = 69, FalklandIslands = 70, FaroeIslands = 71, FijiCountry = 72, Finland = 73, France = 74, MetropolitanFrance = 75, FrenchGuiana = 76, FrenchPolynesia = 77, FrenchSouthernTerritories = 78, Gabon = 79, Gambia = 80, Georgia = 81, Germany = 82, Ghana = 83, Gibraltar = 84, Greece = 85, Greenland = 86, Grenada = 87, Guadeloupe = 88, Guam = 89, Guatemala = 90, Guinea = 91, GuineaBissau = 92, Guyana = 93, Haiti = 94, HeardAndMcDonaldIslands = 95, Honduras = 96, HongKong = 97, Hungary = 98, Iceland = 99, India = 100, Indonesia = 101, Iran = 102, Iraq = 103, Ireland = 104, Israel = 105, Italy = 106, Jamaica = 107, Japan = 108, Jordan = 109, Kazakhstan = 110, Kenya = 111, Kiribati = 112, DemocraticRepublicOfKorea = 113, RepublicOfKorea = 114, Kuwait = 115, Kyrgyzstan = 116, Lao = 117, Latvia = 118, Lebanon = 119, Lesotho = 120, Liberia = 121, LibyanArabJamahiriya = 122, Liechtenstein = 123, Lithuania = 124, Luxembourg = 125, Macau = 126, Macedonia = 127, Madagascar = 128, Malawi = 129, Malaysia = 130, Maldives = 131, Mali = 132, Malta = 133, MarshallIslands = 134, Martinique = 135, Mauritania = 136, Mauritius = 137, Mayotte = 138, Mexico = 139, Micronesia = 140, Moldova = 141, Monaco = 142, Mongolia = 143, Montserrat = 144, Morocco = 145, Mozambique = 146, Myanmar = 147, Namibia = 148, NauruCountry = 149, Nepal = 150, Netherlands = 151, NetherlandsAntilles = 152, NewCaledonia = 153, NewZealand = 154, Nicaragua = 155, Niger = 156, Nigeria = 157, Niue = 158, NorfolkIsland = 159, NorthernMarianaIslands = 160, Norway = 161, Oman = 162, Pakistan = 163, Palau = 164, PalestinianTerritory = 165, Panama = 166, PapuaNewGuinea = 167, Paraguay = 168, Peru = 169, Philippines = 170, Pitcairn = 171, Poland = 172, Portugal = 173, PuertoRico = 174, Qatar = 175, Reunion = 176, Romania = 177, RussianFederation = 178, Rwanda = 179, SaintKittsAndNevis = 180, StLucia = 181, StVincentAndTheGrenadines = 182, Samoa = 183, SanMarino = 184, SaoTomeAndPrincipe = 185, SaudiArabia = 186, Senegal = 187, Seychelles = 188, SierraLeone = 189, Singapore = 190, Slovakia = 191, Slovenia = 192, SolomonIslands = 193, Somalia = 194, SouthAfrica = 195, SouthGeorgiaAndTheSouthSandwichIslands = 196, Spain = 197, SriLanka = 198, StHelena = 199, StPierreAndMiquelon = 200, Sudan = 201, Suriname = 202, SvalbardAndJanMayenIslands = 203, Swaziland = 204, Sweden = 205, Switzerland = 206, SyrianArabRepublic = 207, Taiwan = 208, Tajikistan = 209, Tanzania = 210, Thailand = 211, Togo = 212, Tokelau = 213, TongaCountry = 214, TrinidadAndTobago = 215, Tunisia = 216, Turkey = 217, Turkmenistan = 218, TurksAndCaicosIslands = 219, Tuvalu = 220, Uganda = 221, Ukraine = 222, UnitedArabEmirates = 223, UnitedKingdom = 224, UnitedStates = 225, UnitedStatesMinorOutlyingIslands = 226, Uruguay = 227, Uzbekistan = 228, Vanuatu = 229, VaticanCityState = 230, Venezuela = 231, VietNam = 232, BritishVirginIslands = 233, USVirginIslands = 234, WallisAndFutunaIslands = 235, WesternSahara = 236, Yemen = 237, Yugoslavia = 238, Zambia = 239, Zimbabwe = 240, SerbiaAndMontenegro = 241, LastCountry = SerbiaAndMontenegro }; enum MeasurementSystem { MetricSystem, ImperialSystem }; enum FormatType { LongFormat, ShortFormat, NarrowFormat }; enum NumberOption { OmitGroupSeparator = 0x01, RejectGroupSeparator = 0x02 }; typedef QFlags NumberOptions; QLocale(); QLocale(const QString &name); QLocale(Language language, Country country = AnyCountry); QLocale(const QLocale &other); QLocale &operator=(const QLocale &other); Language language() const; Country country() const; QString name() const; short toShort(const QString &s, bool *ok = 0, int base = 0) const; ushort toUShort(const QString &s, bool *ok = 0, int base = 0) const; int toInt(const QString &s, bool *ok = 0, int base = 0) const; uint toUInt(const QString &s, bool *ok = 0, int base = 0) const; qlonglong toLongLong(const QString &s, bool *ok = 0, int base = 0) const; qlonglong toULongLong(const QString &s, bool *ok = 0, int base = 0) const; float toFloat(const QString &s, bool *ok = 0) const; double toDouble(const QString &s, bool *ok = 0) const; QString toString(qlonglong i) const; QString toString(qulonglong i) const; inline QString toString(short i) const; inline QString toString(ushort i) const; inline QString toString(int i) const; inline QString toString(uint i) const; QString toString(double i, char f = 'g', int prec = 6) const; inline QString toString(float i, char f = 'g', int prec = 6) const; QString toString(const QDate &date, const QString &formatStr) const; QString toString(const QDate &date, FormatType format = LongFormat) const; QString toString(const QTime &time, const QString &formatStr) const; QString toString(const QTime &time, FormatType format = LongFormat) const; QString toString(const QDateTime &dateTime, FormatType format = LongFormat) const; QString toString(const QDateTime &dateTime, const QString &format) const; QString dateFormat(FormatType format = LongFormat) const; QString timeFormat(FormatType format = LongFormat) const; QString dateTimeFormat(FormatType format = LongFormat) const; QDate toDate(const QString &string, FormatType = LongFormat) const; QTime toTime(const QString &string, FormatType = LongFormat) const; QDateTime toDateTime(const QString &string, FormatType format = LongFormat) const; QDate toDate(const QString &string, const QString &format) const; QTime toTime(const QString &string, const QString &format) const; QDateTime toDateTime(const QString &string, const QString &format) const; QChar decimalPoint() const; QChar groupSeparator() const; QChar percent() const; QChar zeroDigit() const; QChar negativeSign() const; QChar positiveSign() const; QChar exponential() const; QString monthName(int, FormatType format = LongFormat) const; QString standaloneMonthName(int, FormatType format = LongFormat) const; QString dayName(int, FormatType format = LongFormat) const; QString standaloneDayName(int, FormatType format = LongFormat) const; QString amText() const; QString pmText() const; MeasurementSystem measurementSystem() const; inline bool operator==(const QLocale &other) const; inline bool operator!=(const QLocale &other) const; static QString languageToString(Language language); static QString countryToString(Country country); static void setDefault(const QLocale &locale); static QLocale c() { return QLocale(C); } static QLocale system(); static QList countriesForLanguage(Language lang); void setNumberOptions(NumberOptions options); NumberOptions numberOptions() const; struct Data { quint16 index; quint16 numberOptions; } ; private: friend struct QLocalePrivate; union { void *v; Data p; }; const QLocalePrivate *d() const; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QLocale)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QLocale"; } }; inline QFlags operator|(QLocale::NumberOptions::enum_type f1, QLocale::NumberOptions::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QLocale::NumberOptions::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QLocale::NumberOptions::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } inline QString QLocale::toString(short i) const { return toString(qlonglong(i)); } inline QString QLocale::toString(ushort i) const { return toString(qulonglong(i)); } inline QString QLocale::toString(int i) const { return toString(qlonglong(i)); } inline QString QLocale::toString(uint i) const { return toString(qulonglong(i)); } inline QString QLocale::toString(float i, char f, int prec) const { return toString(double(i), f, prec); } inline bool QLocale::operator==(const QLocale &other) const { return d() == other.d() && numberOptions() == other.numberOptions(); } inline bool QLocale::operator!=(const QLocale &other) const { return d() != other.d() || numberOptions() != other.numberOptions(); } QDataStream &operator<<(QDataStream &, const QLocale &); QDataStream &operator>>(QDataStream &, QLocale &); # 49 "/usr/include/qt4/QtCore/qtextstream.h" 2 # 63 "/usr/include/qt4/QtCore/qtextstream.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QTextCodec; class QTextDecoder; class QTextStreamPrivate; class QTextStream { inline QTextStreamPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QTextStreamPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QTextStreamPrivate; public: enum RealNumberNotation { SmartNotation, FixedNotation, ScientificNotation }; enum FieldAlignment { AlignLeft, AlignRight, AlignCenter, AlignAccountingStyle }; enum Status { Ok, ReadPastEnd, ReadCorruptData }; enum NumberFlag { ShowBase = 0x1, ForcePoint = 0x2, ForceSign = 0x4, UppercaseBase = 0x8, UppercaseDigits = 0x10 }; typedef QFlags NumberFlags; QTextStream(); explicit QTextStream(QIODevice *device); explicit QTextStream(FILE *fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite); explicit QTextStream(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); explicit QTextStream(QByteArray *array, QIODevice::OpenMode openMode = QIODevice::ReadWrite); explicit QTextStream(const QByteArray &array, QIODevice::OpenMode openMode = QIODevice::ReadOnly); virtual ~QTextStream(); void setCodec(QTextCodec *codec); void setCodec(const char *codecName); QTextCodec *codec() const; void setAutoDetectUnicode(bool enabled); bool autoDetectUnicode() const; void setGenerateByteOrderMark(bool generate); bool generateByteOrderMark() const; void setLocale(const QLocale &locale); QLocale locale() const; void setDevice(QIODevice *device); QIODevice *device() const; void setString(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); QString *string() const; Status status() const; void setStatus(Status status); void resetStatus(); bool atEnd() const; void reset(); void flush(); bool seek(qint64 pos); qint64 pos() const; void skipWhiteSpace(); QString readLine(qint64 maxlen = 0); QString readAll(); QString read(qint64 maxlen); void setFieldAlignment(FieldAlignment alignment); FieldAlignment fieldAlignment() const; void setPadChar(QChar ch); QChar padChar() const; void setFieldWidth(int width); int fieldWidth() const; void setNumberFlags(NumberFlags flags); NumberFlags numberFlags() const; void setIntegerBase(int base); int integerBase() const; void setRealNumberNotation(RealNumberNotation notation); RealNumberNotation realNumberNotation() const; void setRealNumberPrecision(int precision); int realNumberPrecision() const; QTextStream &operator>>(QChar &ch); QTextStream &operator>>(char &ch); QTextStream &operator>>(signed short &i); QTextStream &operator>>(unsigned short &i); QTextStream &operator>>(signed int &i); QTextStream &operator>>(unsigned int &i); QTextStream &operator>>(signed long &i); QTextStream &operator>>(unsigned long &i); QTextStream &operator>>(qlonglong &i); QTextStream &operator>>(qulonglong &i); QTextStream &operator>>(float &f); QTextStream &operator>>(double &f); QTextStream &operator>>(QString &s); QTextStream &operator>>(QByteArray &array); QTextStream &operator>>(char *c); QTextStream &operator<<(QBool b); QTextStream &operator<<(QChar ch); QTextStream &operator<<(char ch); QTextStream &operator<<(signed short i); QTextStream &operator<<(unsigned short i); QTextStream &operator<<(signed int i); QTextStream &operator<<(unsigned int i); QTextStream &operator<<(signed long i); QTextStream &operator<<(unsigned long i); QTextStream &operator<<(qlonglong i); QTextStream &operator<<(qulonglong i); QTextStream &operator<<(float f); QTextStream &operator<<(double f); QTextStream &operator<<(const QString &s); QTextStream &operator<<(const QByteArray &array); QTextStream &operator<<(const char *c); QTextStream &operator<<(const void *ptr); # 252 "/usr/include/qt4/QtCore/qtextstream.h" private: QTextStream(const QTextStream &); QTextStream &operator=(const QTextStream &); QScopedPointer d_ptr; }; inline QFlags operator|(QTextStream::NumberFlags::enum_type f1, QTextStream::NumberFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QTextStream::NumberFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QIncompatibleFlag operator|(QTextStream::NumberFlags::enum_type f1, int f2) { return QIncompatibleFlag(int(f1) | f2); } typedef QTextStream & (*QTextStreamFunction)(QTextStream &); typedef void (QTextStream::*QTSMFI)(int); typedef void (QTextStream::*QTSMFC)(QChar); class QTextStreamManipulator { public: QTextStreamManipulator(QTSMFI m, int a) { mf = m; mc = 0; arg = a; } QTextStreamManipulator(QTSMFC m, QChar c) { mf = 0; mc = m; ch = c; arg = -1; } void exec(QTextStream &s) { if (mf) { (s.*mf)(arg); } else { (s.*mc)(ch); } } private: QTSMFI mf; QTSMFC mc; int arg; QChar ch; }; inline QTextStream &operator>>(QTextStream &s, QTextStreamFunction f) { return (*f)(s); } inline QTextStream &operator<<(QTextStream &s, QTextStreamFunction f) { return (*f)(s); } inline QTextStream &operator<<(QTextStream &s, QTextStreamManipulator m) { m.exec(s); return s; } QTextStream &bin(QTextStream &s); QTextStream &oct(QTextStream &s); QTextStream &dec(QTextStream &s); QTextStream &hex(QTextStream &s); QTextStream &showbase(QTextStream &s); QTextStream &forcesign(QTextStream &s); QTextStream &forcepoint(QTextStream &s); QTextStream &noshowbase(QTextStream &s); QTextStream &noforcesign(QTextStream &s); QTextStream &noforcepoint(QTextStream &s); QTextStream &uppercasebase(QTextStream &s); QTextStream &uppercasedigits(QTextStream &s); QTextStream &lowercasebase(QTextStream &s); QTextStream &lowercasedigits(QTextStream &s); QTextStream &fixed(QTextStream &s); QTextStream &scientific(QTextStream &s); QTextStream &left(QTextStream &s); QTextStream &right(QTextStream &s); QTextStream ¢er(QTextStream &s); QTextStream &endl(QTextStream &s); QTextStream &flush(QTextStream &s); QTextStream &reset(QTextStream &s); QTextStream &bom(QTextStream &s); QTextStream &ws(QTextStream &s); inline QTextStreamManipulator qSetFieldWidth(int width) { QTSMFI func = &QTextStream::setFieldWidth; return QTextStreamManipulator(func,width); } inline QTextStreamManipulator qSetPadChar(QChar ch) { QTSMFC func = &QTextStream::setPadChar; return QTextStreamManipulator(func, ch); } inline QTextStreamManipulator qSetRealNumberPrecision(int precision) { QTSMFI func = &QTextStream::setRealNumberPrecision; return QTextStreamManipulator(func, precision); } # 372 "/usr/include/qt4/QtCore/qtextstream.h" # 51 "/usr/include/qt4/QtCore/qdebug.h" 2 # 1 "/usr/include/qt4/QtCore/qset.h" 1 # 47 "/usr/include/qt4/QtCore/qset.h" typedef QtValidLicenseForCoreModule QtCoreModule; template class QSet { typedef QHash Hash; public: inline QSet() {} inline QSet(const QSet &other) : q_hash(other.q_hash) {} inline QSet &operator=(const QSet &other) { q_hash = other.q_hash; return *this; } inline bool operator==(const QSet &other) const { return q_hash == other.q_hash; } inline bool operator!=(const QSet &other) const { return q_hash != other.q_hash; } inline int size() const { return q_hash.size(); } inline bool isEmpty() const { return q_hash.isEmpty(); } inline int capacity() const { return q_hash.capacity(); } inline void reserve(int size); inline void squeeze() { q_hash.squeeze(); } inline void detach() { q_hash.detach(); } inline bool isDetached() const { return q_hash.isDetached(); } inline void setSharable(bool sharable) { q_hash.setSharable(sharable); } inline void clear() { q_hash.clear(); } inline bool remove(const T &value) { return q_hash.remove(value) != 0; } inline bool contains(const T &value) const { return q_hash.contains(value); } bool contains(const QSet &set) const; class const_iterator; class iterator { typedef QHash Hash; typename Hash::iterator i; friend class const_iterator; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline iterator() {} inline iterator(typename Hash::iterator o) : i(o) {} inline iterator(const iterator &o) : i(o.i) {} inline iterator &operator=(const iterator &o) { i = o.i; return *this; } inline const T &operator*() const { return i.key(); } inline const T *operator->() const { return &i.key(); } inline bool operator==(const iterator &o) const { return i == o.i; } inline bool operator!=(const iterator &o) const { return i != o.i; } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline iterator &operator++() { ++i; return *this; } inline iterator operator++(int) { iterator r = *this; ++i; return r; } inline iterator &operator--() { --i; return *this; } inline iterator operator--(int) { iterator r = *this; --i; return r; } inline iterator operator+(int j) const { return i + j; } inline iterator operator-(int j) const { return i - j; } inline iterator &operator+=(int j) { i += j; return *this; } inline iterator &operator-=(int j) { i -= j; return *this; } }; class const_iterator { typedef QHash Hash; typename Hash::const_iterator i; friend class iterator; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline const_iterator() {} inline const_iterator(typename Hash::const_iterator o) : i(o) {} inline const_iterator(const const_iterator &o) : i(o.i) {} inline const_iterator(const iterator &o) : i(o.i) {} inline const_iterator &operator=(const const_iterator &o) { i = o.i; return *this; } inline const T &operator*() const { return i.key(); } inline const T *operator->() const { return &i.key(); } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline const_iterator &operator++() { ++i; return *this; } inline const_iterator operator++(int) { const_iterator r = *this; ++i; return r; } inline const_iterator &operator--() { --i; return *this; } inline const_iterator operator--(int) { const_iterator r = *this; --i; return r; } inline const_iterator operator+(int j) const { return i + j; } inline const_iterator operator-(int j) const { return i - j; } inline const_iterator &operator+=(int j) { i += j; return *this; } inline const_iterator &operator-=(int j) { i -= j; return *this; } }; inline iterator begin() { return q_hash.begin(); } inline const_iterator begin() const { return q_hash.begin(); } inline const_iterator constBegin() const { return q_hash.constBegin(); } inline iterator end() { return q_hash.end(); } inline const_iterator end() const { return q_hash.end(); } inline const_iterator constEnd() const { return q_hash.constEnd(); } iterator erase(iterator i) { return q_hash.erase(reinterpret_cast(i)); } typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return q_hash.count(); } inline const_iterator insert(const T &value) { return static_cast(q_hash.insert(value, QHashDummyValue())); } iterator find(const T &value) { return q_hash.find(value); } const_iterator find(const T &value) const { return q_hash.find(value); } inline const_iterator constFind(const T &value) const { return find(value); } QSet &unite(const QSet &other); QSet &intersect(const QSet &other); QSet &subtract(const QSet &other); typedef T key_type; typedef T value_type; typedef value_type *pointer; typedef const value_type *const_pointer; typedef value_type &reference; typedef const value_type &const_reference; typedef ptrdiff_t difference_type; typedef int size_type; inline bool empty() const { return isEmpty(); } inline QSet &operator<<(const T &value) { insert(value); return *this; } inline QSet &operator|=(const QSet &other) { unite(other); return *this; } inline QSet &operator|=(const T &value) { insert(value); return *this; } inline QSet &operator&=(const QSet &other) { intersect(other); return *this; } inline QSet &operator&=(const T &value) { QSet result; if (contains(value)) result.insert(value); return (*this = result); } inline QSet &operator+=(const QSet &other) { unite(other); return *this; } inline QSet &operator+=(const T &value) { insert(value); return *this; } inline QSet &operator-=(const QSet &other) { subtract(other); return *this; } inline QSet &operator-=(const T &value) { remove(value); return *this; } inline QSet operator|(const QSet &other) const { QSet result = *this; result |= other; return result; } inline QSet operator&(const QSet &other) const { QSet result = *this; result &= other; return result; } inline QSet operator+(const QSet &other) const { QSet result = *this; result += other; return result; } inline QSet operator-(const QSet &other) const { QSet result = *this; result -= other; return result; } inline QSet operator|(const QSet &other) { QSet result = *this; result |= other; return result; } inline QSet operator&(const QSet &other) { QSet result = *this; result &= other; return result; } inline QSet operator+(const QSet &other) { QSet result = *this; result += other; return result; } inline QSet operator-(const QSet &other) { QSet result = *this; result -= other; return result; } QList toList() const; inline QList values() const { return toList(); } static QSet fromList(const QList &list); private: Hash q_hash; }; template inline void QSet::reserve(int asize) { q_hash.reserve(asize); } template inline QSet &QSet::unite(const QSet &other) { QSet copy(other); typename QSet::const_iterator i = copy.constEnd(); while (i != copy.constBegin()) { --i; insert(*i); } return *this; } template inline QSet &QSet::intersect(const QSet &other) { QSet copy1(*this); QSet copy2(other); typename QSet::const_iterator i = copy1.constEnd(); while (i != copy1.constBegin()) { --i; if (!copy2.contains(*i)) remove(*i); } return *this; } template inline QSet &QSet::subtract(const QSet &other) { QSet copy1(*this); QSet copy2(other); typename QSet::const_iterator i = copy1.constEnd(); while (i != copy1.constBegin()) { --i; if (copy2.contains(*i)) remove(*i); } return *this; } template inline bool QSet::contains(const QSet &other) const { typename QSet::const_iterator i = other.constBegin(); while (i != other.constEnd()) { if (!contains(*i)) return false; ++i; } return true; } template QList QSet::toList() const { QList result; typename QSet::const_iterator i = constBegin(); while (i != constEnd()) { result.append(*i); ++i; } return result; } template QSet QList::toSet() const { QSet result; result.reserve(size()); for (int i = 0; i < size(); ++i) result.insert(at(i)); return result; } template QSet QSet::fromList(const QList &list) { return list.toSet(); } template QList QList::fromSet(const QSet &set) { return set.toList(); } template class QSetIterator { typedef typename QSet::const_iterator const_iterator; QSet c; const_iterator i; public: inline QSetIterator(const QSet &container) : c(container), i(c.constBegin()) {} inline QSetIterator &operator=(const QSet &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; template class QMutableSetIterator { typedef typename QSet::iterator iterator; QSet *c; iterator i, n; inline bool item_exists() const { return n != c->constEnd(); } public: inline QMutableSetIterator(QSet &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableSetIterator() { c->setSharable(true); } inline QMutableSetIterator &operator=(QSet &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != i; } inline const T &next() { n = i++; return *n; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != i; } inline const T &previous() { n = --i; return *n; } inline const T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != n) { i = c->erase(n); n = c->end(); } } inline const T &value() const { ((!(item_exists())) ? qt_assert("item_exists()","/usr/include/qt4/QtCore/qset.h",354) : qt_noop()); return *n; } inline bool findNext(const T &t) { while (c->constEnd() != (n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != i) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 54 "/usr/include/qt4/QtCore/qdebug.h" 2 # 1 "/usr/include/qt4/QtCore/qcontiguouscache.h" 1 # 46 "/usr/include/qt4/QtCore/qcontiguouscache.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include-fixed/limits.h" 1 3 4 # 47 "/usr/include/qt4/QtCore/qcontiguouscache.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; struct QContiguousCacheData { QBasicAtomicInt ref; int alloc; int count; int start; int offset; uint sharable : 1; uint reserved : 31; static QContiguousCacheData *allocate(int size, int alignment); static void free(QContiguousCacheData *data); }; template struct QContiguousCacheTypedData: private QContiguousCacheData { T array[1]; static inline void free(QContiguousCacheTypedData *data) { QContiguousCacheData::free(data); } }; template class QContiguousCache { typedef QContiguousCacheTypedData Data; union { QContiguousCacheData *d; QContiguousCacheTypedData *p; }; public: typedef T value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef ptrdiff_t difference_type; typedef int size_type; explicit QContiguousCache(int capacity = 0); QContiguousCache(const QContiguousCache &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } inline ~QContiguousCache() { if (!d) return; if (!d->ref.deref()) free(p); } inline void detach() { if (d->ref != 1) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } QContiguousCache &operator=(const QContiguousCache &other); bool operator==(const QContiguousCache &other) const; inline bool operator!=(const QContiguousCache &other) const { return !(*this == other); } inline int capacity() const {return d->alloc; } inline int count() const { return d->count; } inline int size() const { return d->count; } inline bool isEmpty() const { return d->count == 0; } inline bool isFull() const { return d->count == d->alloc; } inline int available() const { return d->alloc - d->count; } void clear(); void setCapacity(int size); const T &at(int pos) const; T &operator[](int i); const T &operator[](int i) const; void append(const T &value); void prepend(const T &value); void insert(int pos, const T &value); inline bool containsIndex(int pos) const { return pos >= d->offset && pos - d->offset < d->count; } inline int firstIndex() const { return d->offset; } inline int lastIndex() const { return d->offset + d->count - 1; } inline const T &first() const { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qcontiguouscache.h",139) : qt_noop()); return p->array[d->start]; } inline const T &last() const { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qcontiguouscache.h",140) : qt_noop()); return p->array[(d->start + d->count -1) % d->alloc]; } inline T &first() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qcontiguouscache.h",141) : qt_noop()); detach(); return p->array[d->start]; } inline T &last() { ((!(!isEmpty())) ? qt_assert("!isEmpty()","/usr/include/qt4/QtCore/qcontiguouscache.h",142) : qt_noop()); detach(); return p->array[(d->start + d->count -1) % d->alloc]; } void removeFirst(); T takeFirst(); void removeLast(); T takeLast(); inline bool areIndexesValid() const { return d->offset >= 0 && d->offset < 2147483647 - d->count && (d->offset % d->alloc) == d->start; } inline void normalizeIndexes() { d->offset = d->start; } private: void detach_helper(); QContiguousCacheData *malloc(int aalloc); void free(Data *x); int sizeOfTypedData() { return reinterpret_cast(&(reinterpret_cast(this))->array[1]) - reinterpret_cast(this); } int alignOfTypedData() const { return qMax(sizeof(void*), __alignof__(Data)); } }; template void QContiguousCache::detach_helper() { union { QContiguousCacheData *d; QContiguousCacheTypedData *p; } x; x.d = malloc(d->alloc); x.d->ref = 1; x.d->count = d->count; x.d->start = d->start; x.d->offset = d->offset; x.d->alloc = d->alloc; x.d->sharable = true; x.d->reserved = 0; T *dest = x.p->array + x.d->start; T *src = p->array + d->start; int oldcount = x.d->count; while (oldcount--) { if (QTypeInfo::isComplex) { new (dest) T(*src); } else { *dest = *src; } dest++; if (dest == x.p->array + x.d->alloc) dest = x.p->array; src++; if (src == p->array + d->alloc) src = p->array; } if (!d->ref.deref()) free(p); d = x.d; } template void QContiguousCache::setCapacity(int asize) { if (asize == d->alloc) return; detach(); union { QContiguousCacheData *d; QContiguousCacheTypedData *p; } x; x.d = malloc(asize); x.d->alloc = asize; x.d->count = qMin(d->count, asize); x.d->offset = d->offset + d->count - x.d->count; x.d->start = x.d->offset % x.d->alloc; T *dest = x.p->array + (x.d->start + x.d->count-1) % x.d->alloc; T *src = p->array + (d->start + d->count-1) % d->alloc; int oldcount = x.d->count; while (oldcount--) { if (QTypeInfo::isComplex) { new (dest) T(*src); } else { *dest = *src; } if (dest == x.p->array) dest = x.p->array + x.d->alloc; dest--; if (src == p->array) src = p->array + d->alloc; src--; } free(p); d = x.d; } template void QContiguousCache::clear() { if (d->ref == 1) { if (QTypeInfo::isComplex) { int oldcount = d->count; T * i = p->array + d->start; T * e = p->array + d->alloc; while (oldcount--) { i->~T(); i++; if (i == e) i = p->array; } } d->count = d->start = d->offset = 0; } else { union { QContiguousCacheData *d; QContiguousCacheTypedData *p; } x; x.d = malloc(d->alloc); x.d->ref = 1; x.d->alloc = d->alloc; x.d->count = x.d->start = x.d->offset = 0; x.d->sharable = true; if (!d->ref.deref()) free(p); d = x.d; } } template inline QContiguousCacheData *QContiguousCache::malloc(int aalloc) { return QContiguousCacheData::allocate(sizeOfTypedData() + (aalloc - 1) * sizeof(T), alignOfTypedData()); } template QContiguousCache::QContiguousCache(int cap) { d = malloc(cap); d->ref = 1; d->alloc = cap; d->count = d->start = d->offset = 0; d->sharable = true; } template QContiguousCache &QContiguousCache::operator=(const QContiguousCache &other) { other.d->ref.ref(); if (!d->ref.deref()) free(d); d = other.d; if (!d->sharable) detach_helper(); return *this; } template bool QContiguousCache::operator==(const QContiguousCache &other) const { if (other.d == d) return true; if (other.d->start != d->start || other.d->count != d->count || other.d->offset != d->offset || other.d->alloc != d->alloc) return false; for (int i = firstIndex(); i <= lastIndex(); ++i) if (!(at(i) == other.at(i))) return false; return true; } template void QContiguousCache::free(Data *x) { if (QTypeInfo::isComplex) { int oldcount = d->count; T * i = p->array + d->start; T * e = p->array + d->alloc; while (oldcount--) { i->~T(); i++; if (i == e) i = p->array; } } x->free(x); } template void QContiguousCache::append(const T &value) { detach(); if (QTypeInfo::isComplex) { if (d->count == d->alloc) (p->array + (d->start+d->count) % d->alloc)->~T(); new (p->array + (d->start+d->count) % d->alloc) T(value); } else { p->array[(d->start+d->count) % d->alloc] = value; } if (d->count == d->alloc) { d->start++; d->start %= d->alloc; d->offset++; } else { d->count++; } } template void QContiguousCache::prepend(const T &value) { detach(); if (d->start) d->start--; else d->start = d->alloc-1; d->offset--; if (d->count != d->alloc) d->count++; else if (d->count == d->alloc) (p->array + d->start)->~T(); if (QTypeInfo::isComplex) new (p->array + d->start) T(value); else p->array[d->start] = value; } template void QContiguousCache::insert(int pos, const T &value) { ((!(pos >= 0 && pos < 2147483647)) ? qt_assert_x("QContiguousCache::insert", "index out of range","/usr/include/qt4/QtCore/qcontiguouscache.h",380) : qt_noop()); detach(); if (containsIndex(pos)) { if(QTypeInfo::isComplex) new (p->array + pos % d->alloc) T(value); else p->array[pos % d->alloc] = value; } else if (pos == d->offset-1) prepend(value); else if (pos == d->offset+d->count) append(value); else { clear(); d->offset = pos; d->start = pos % d->alloc; d->count = 1; if (QTypeInfo::isComplex) new (p->array + d->start) T(value); else p->array[d->start] = value; } } template inline const T &QContiguousCache::at(int pos) const { ((!(pos >= d->offset && pos - d->offset < d->count)) ? qt_assert_x("QContiguousCache::at", "index out of range","/usr/include/qt4/QtCore/qcontiguouscache.h",406) : qt_noop()); return p->array[pos % d->alloc]; } template inline const T &QContiguousCache::operator[](int pos) const { ((!(pos >= d->offset && pos - d->offset < d->count)) ? qt_assert_x("QContiguousCache::at", "index out of range","/usr/include/qt4/QtCore/qcontiguouscache.h",409) : qt_noop()); return p->array[pos % d->alloc]; } template inline T &QContiguousCache::operator[](int pos) { detach(); if (!containsIndex(pos)) insert(pos, T()); return p->array[pos % d->alloc]; } template inline void QContiguousCache::removeFirst() { ((!(d->count > 0)) ? qt_assert("d->count > 0","/usr/include/qt4/QtCore/qcontiguouscache.h",423) : qt_noop()); detach(); d->count--; if (QTypeInfo::isComplex) (p->array + d->start)->~T(); d->start = (d->start + 1) % d->alloc; d->offset++; } template inline void QContiguousCache::removeLast() { ((!(d->count > 0)) ? qt_assert("d->count > 0","/usr/include/qt4/QtCore/qcontiguouscache.h",435) : qt_noop()); detach(); d->count--; if (QTypeInfo::isComplex) (p->array + (d->start + d->count) % d->alloc)->~T(); } template inline T QContiguousCache::takeFirst() { T t = first(); removeFirst(); return t; } template inline T QContiguousCache::takeLast() { T t = last(); removeLast(); return t; } # 55 "/usr/include/qt4/QtCore/qdebug.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QDebug { struct Stream { Stream(QIODevice *device) : ts(device), ref(1), type(QtDebugMsg), space(true), message_output(false) {} Stream(QString *string) : ts(string, QIODevice::WriteOnly), ref(1), type(QtDebugMsg), space(true), message_output(false) {} Stream(QtMsgType t) : ts(&buffer, QIODevice::WriteOnly), ref(1), type(t), space(true), message_output(true) {} QTextStream ts; QString buffer; int ref; QtMsgType type; bool space; bool message_output; } *stream; public: inline QDebug(QIODevice *device) : stream(new Stream(device)) {} inline QDebug(QString *string) : stream(new Stream(string)) {} inline QDebug(QtMsgType t) : stream(new Stream(t)) {} inline QDebug(const QDebug &o):stream(o.stream) { ++stream->ref; } inline QDebug &operator=(const QDebug &other); inline ~QDebug() { if (!--stream->ref) { if(stream->message_output) { try { qt_message_output(stream->type, stream->buffer.toLocal8Bit().data()); } catch (std::bad_alloc&) { } } delete stream; } } inline QDebug &space() { stream->space = true; stream->ts << ' '; return *this; } inline QDebug &nospace() { stream->space = false; return *this; } inline QDebug &maybeSpace() { if (stream->space) stream->ts << ' '; return *this; } inline QDebug &operator<<(QChar t) { stream->ts << '\'' << t << '\''; return maybeSpace(); } inline QDebug &operator<<(QBool t) { stream->ts << (bool(t != 0) ? "true" : "false"); return maybeSpace(); } inline QDebug &operator<<(bool t) { stream->ts << (t ? "true" : "false"); return maybeSpace(); } inline QDebug &operator<<(char t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(signed short t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(unsigned short t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(signed int t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(unsigned int t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(signed long t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(unsigned long t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(qint64 t) { stream->ts << QString::number(t); return maybeSpace(); } inline QDebug &operator<<(quint64 t) { stream->ts << QString::number(t); return maybeSpace(); } inline QDebug &operator<<(float t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(double t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(const char* t) { stream->ts << QString::fromAscii(t); return maybeSpace(); } inline QDebug &operator<<(const QString & t) { stream->ts << '\"' << t << '\"'; return maybeSpace(); } inline QDebug &operator<<(const QStringRef & t) { return operator<<(t.toString()); } inline QDebug &operator<<(const QLatin1String &t) { stream->ts << '\"' << t.latin1() << '\"'; return maybeSpace(); } inline QDebug &operator<<(const QByteArray & t) { stream->ts << '\"' << t << '\"'; return maybeSpace(); } inline QDebug &operator<<(const void * t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(QTextStreamFunction f) { stream->ts << f; return *this; } inline QDebug &operator<<(QTextStreamManipulator m) { stream->ts << m; return *this; } }; class QNoDebug { public: inline QNoDebug(){} inline QNoDebug(const QDebug &){} inline ~QNoDebug(){} inline QNoDebug &operator<<(QTextStreamFunction) { return *this; } inline QNoDebug &operator<<(QTextStreamManipulator) { return *this; } inline QNoDebug &space() { return *this; } inline QNoDebug &nospace() { return *this; } inline QNoDebug &maybeSpace() { return *this; } template inline QNoDebug &operator<<(const T &) { return *this; } }; inline QDebug qCritical() { return QDebug(QtCriticalMsg); } inline QDebug &QDebug::operator=(const QDebug &other) { if (this != &other) { QDebug copy(other); qSwap(stream, copy.stream); } return *this; } template inline QDebug operator<<(QDebug debug, const QList &list) { debug.nospace() << '('; for (typename QList::size_type i = 0; i < list.count(); ++i) { if (i) debug << ", "; debug << list.at(i); } debug << ')'; return debug.space(); } template inline QDebug operator<<(QDebug debug, const QVector &vec) { debug.nospace() << "QVector"; return operator<<(debug, vec.toList()); } template inline QDebug operator<<(QDebug debug, const QMap &map) { debug.nospace() << "QMap("; for (typename QMap::const_iterator it = map.constBegin(); it != map.constEnd(); ++it) { debug << '(' << it.key() << ", " << it.value() << ')'; } debug << ')'; return debug.space(); } template inline QDebug operator<<(QDebug debug, const QHash &hash) { debug.nospace() << "QHash("; for (typename QHash::const_iterator it = hash.constBegin(); it != hash.constEnd(); ++it) debug << '(' << it.key() << ", " << it.value() << ')'; debug << ')'; return debug.space(); } template inline QDebug operator<<(QDebug debug, const QPair &pair) { debug.nospace() << "QPair(" << pair.first << ',' << pair.second << ')'; return debug.space(); } template inline QDebug operator<<(QDebug debug, const QSet &set) { debug.nospace() << "QSet"; return operator<<(debug, set.toList()); } template inline QDebug operator<<(QDebug debug, const QContiguousCache &cache) { debug.nospace() << "QContiguousCache("; for (int i = cache.firstIndex(); i <= cache.lastIndex(); ++i) { debug << cache[i]; if (i != cache.lastIndex()) debug << ", "; } debug << ')'; return debug.space(); } inline QDebug qDebug() { return QDebug(QtDebugMsg); } # 273 "/usr/include/qt4/QtCore/qdebug.h" inline QDebug qWarning() { return QDebug(QtWarningMsg); } # 1 "/usr/include/qt4/QtCore/QDebug" 2 # 33 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/qptr.hpp" 2 namespace PySide { class __attribute__ ((visibility("default"))) qptr_base { public: enum construction_mode { none = 0x00000000, check_cache = 0x00000001, no_check_cache = 0x00000002, wrapper_pointer = 0x00000004, no_wrapper_pointer = 0x00000008 }; qptr_base(void* cpp_obj, PyObject *py_obj, void (*deleter)(void*), int mode); qptr_base(const qptr_base& other); qptr_base() : m_data(0) {} virtual ~qptr_base(); static void invalidate(void *cpp_obj, bool cleanup = false); static bool exists(void *cpp_obj); bool is_null() const; qptr_base& operator=(const qptr_base& other); bool operator==(const qptr_base& other) { return m_data == other.m_data; } void acquire_ownership(); void release_ownership(); bool has_ownership(); bool is_wrapper() const; void add_cpp_ref(); void remove_cpp_ref(); bool has_cpp_ref(); void add_child(qptr_base &child); void remove_child(qptr_base &child); void remove_parent(); PyObject* get_pyobject(); void set_pyobject(PyObject *py_obj); void release(); bool has_parent(); int children_count(); int refcount(); static inline int list_size() { return m_cpp_to_qptrs.size(); } void* raw_ptr() const; protected: bool ptr_assert() const; void destroy(); void invalidate(); void invalidate(bool invalidate_ptr); class qptr_base_private; mutable qptr_base_private* m_data; static QHash m_cpp_to_qptrs; explicit qptr_base(qptr_base::qptr_base_private* data); qptr_base_private* create_copy() const; }; template inline __attribute__ ((visibility("internal"))) void delete_pointer(T *p) { delete p; } template inline __attribute__ ((visibility("internal"))) void delete_pointer_helper(void* p) { T *ptr = reinterpret_cast(p); delete_pointer(ptr); } template class __attribute__ ((visibility("internal"))) qptr : public qptr_base { public: typedef T element_type; typedef T value_type; typedef T * pointer; public: qptr(T* ptr, int mode = c_mode) : qptr_base(get_void_pointer(ptr), (mode & wrapper_pointer ? extract_pyobject(ptr, boost::is_polymorphic()) : 0 ), &delete_pointer_helper, mode) { } template qptr(const qptr& ptr) : qptr_base(ptr) { } qptr(T* ptr, PyObject* py_obj) : qptr_base(get_void_pointer(ptr), py_obj, &delete_pointer_helper, no_check_cache | no_wrapper_pointer) { } qptr(PyObject* py_obj) : qptr_base(get_void_pointer(boost::python::extract(py_obj)), py_obj, &delete_pointer_helper, c_mode) { } template qptr& operator=(const qptr& ptr) { if ( m_data != ptr.m_data ) { release(); m_data = ptr.create_copy(); } return *this; } inline T& operator*() const { return *get(); } inline T* operator->() const { return get(); } inline T* get() const { ptr_assert(); return reinterpret_cast(raw_ptr()); } ~qptr() { if (!is_null() && refcount() == 1 && has_cpp_ref()) { notify_ptr_del(reinterpret_cast(raw_ptr()), boost::is_polymorphic()); } } static inline void* get_void_pointer(T* pointer) { return get_void_pointer(pointer, boost::is_polymorphic()); } private: static inline PyObject* extract_pyobject(T* ptr, boost::mpl::false_) { return 0; } static inline PyObject* extract_pyobject(T* ptr, boost::mpl::true_) { PySide::wrapper *w = dynamic_cast(ptr); if (w) return w->py_object(); else return 0; } static inline void notify_ptr_del(T* ptr, boost::mpl::false_) { } static inline void notify_ptr_del(T* ptr, boost::mpl::true_) { PySide::wrapper *w = dynamic_cast(ptr); if (w) w->keep_cpp_ref(); } static inline void* get_void_pointer(T* ptr, boost::mpl::false_) { return static_cast(ptr); } static inline void* get_void_pointer(T* ptr, boost::mpl::true_) { boost::python::objects::dynamic_id_t base_id = boost::python::objects::polymorphic_id_generator::execute(ptr); return base_id.first; } }; template inline __attribute__ ((visibility("internal"))) T* get_pointer(qptr const& p){ return p.get(); } } # 32 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" 2 namespace PySide { template < class T , class BasePolicy_ = boost::python::default_call_policies> struct __attribute__ ((visibility("internal"))) register_wrapper_object : BasePolicy_ { template static PyObject* postcall(ArgumentPackage const& args_, PyObject* result) { result = BasePolicy_::postcall(args_, result); if (result) { PyObject* py_self = boost::python::detail::get_prev<1>::execute(args_, result); qptr ptr_parent(py_self); } return result; } }; # 72 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" template < std::size_t parent , std::size_t child , class T_PARENT , class T_CHILD , class BasePolicy_ = boost::python::default_call_policies , class T = void> struct __attribute__ ((visibility("internal"))) parent_policy_add : BasePolicy_ { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((parent != child) == 0 ? false : true) >)> boost_static_assert_typedef_81; template static PyObject* postcall(ArgumentPackage const& args_, PyObject* result) { unsigned arity_ = boost::python::detail::arity(args_); if ((std::max)(parent, child) > arity_) { return BasePolicy_::postcall(args_, result); } result = BasePolicy_::postcall(args_, result); if (result) { PyObject* py_parent = (&_Py_NoneStruct); if (parent <= arity_) py_parent = boost::python::detail::get_prev::execute(args_, result); PyObject* py_child = boost::python::detail::get_prev::execute(args_, result); if (py_child == (&_Py_NoneStruct)) { return result; } else if (py_parent == (&_Py_NoneStruct)) { qptr ptr_child(py_child); ptr_child.remove_parent(); } else { qptr ptr_parent(py_parent); qptr ptr_child(py_child); if (ptr_parent.is_wrapper()) { ptr_parent.add_child(ptr_child); } else { ptr_child.add_cpp_ref(); } } } return result; } }; template < std::size_t parent , std::size_t child , class T_PARENT , class BasePolicy_ , class T> struct __attribute__ ((visibility("internal"))) parent_policy_add, BasePolicy_ > : BasePolicy_ { template static PyObject* postcall(ArgumentPackage const& args_, PyObject* result) { unsigned arity_ = boost::python::detail::arity(args_); if ((std::max)(parent, child) > arity_) { return BasePolicy_::postcall(args_, result); } result = BasePolicy_::postcall(args_, result); if (result) { PyObject* py_parent = (&_Py_NoneStruct); if (parent <= arity_) py_parent = boost::python::detail::get_prev::execute(args_, result); PyObject* py_child = boost::python::detail::get_prev::execute(args_, result); if (py_child == (&_Py_NoneStruct) || !((((((PyObject*)(py_child))->ob_type))->tp_flags & ((1L<<25))) != 0)) { return result; } else if (py_parent == (&_Py_NoneStruct)) { Py_ssize_t max = PyList_Size(py_child); for (Py_ssize_t i = 0; i < max; ++i) { qptr ptr_child(PyList_GetItem(py_child, i)); ptr_child.remove_parent(); } } else { Py_ssize_t max = PyList_Size(py_child); qptr ptr_parent(py_parent); for (Py_ssize_t i = 0; i < max; ++i) { qptr ptr_child(PyList_GetItem(py_child, i)); if (ptr_parent.is_wrapper()) { ptr_parent.add_child(ptr_child); } else { ptr_child.add_cpp_ref(); } } } } return result; } }; # 179 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" template < std::size_t arg_index , bool release_ownership , class T , class BasePolicy_ = boost::python::default_call_policies> struct __attribute__ ((visibility("internal"))) transfer_ownership : BasePolicy_ { template static PyObject* postcall(ArgumentPackage const& args_, PyObject* result) { unsigned arity_ = boost::python::detail::arity(args_); if (arg_index > arity_) { PyErr_SetString(PyExc_IndexError, "PySide::transfer_ownership: argument index out of range"); return 0; } result = BasePolicy_::postcall(args_, result); if (result) { PyObject* py_arg = boost::python::detail::get_prev::execute(args_, result); qptr ptr_child(py_arg); if (release_ownership) ptr_child.release_ownership(); else ptr_child.acquire_ownership(); } return result; } }; # 223 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" template < std::size_t parent , std::size_t child , class T_PARENT , class T_CHILD , class BasePolicy_ = boost::python::default_call_policies , class T = void> struct __attribute__ ((visibility("internal"))) parent_policy_remove : BasePolicy_ { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((parent != child) == 0 ? false : true) >)> boost_static_assert_typedef_232; template static PyObject* postcall(ArgumentPackage const& args_, PyObject* result) { unsigned arity_ = boost::python::detail::arity(args_); if ((std::max)(parent, child) > arity_) { PyErr_SetString(PyExc_IndexError, "PyQt::parent_policy_remove: argument index out of range"); return 0; } result = BasePolicy_::postcall(args_, result); if (result) { PyObject* py_parent = 0; if (parent <= arity_) py_parent = boost::python::detail::get_prev::execute(args_, result); PyObject* py_child = boost::python::detail::get_prev::execute(args_, result); qptr ptr_parent(py_parent); qptr ptr_child(py_child); if (ptr_parent.is_wrapper()) { ptr_child.remove_parent(); } else { ptr_child.remove_cpp_ref(); } } return result; } }; template < std::size_t parent , std::size_t child , class T_PARENT , class BasePolicy_ , class T> struct __attribute__ ((visibility("internal"))) parent_policy_remove, BasePolicy_> : BasePolicy_ { typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< ((parent != child) == 0 ? false : true) >)> boost_static_assert_typedef_274; template static PyObject* postcall(ArgumentPackage const& args_, PyObject* result) { unsigned arity_ = boost::python::detail::arity(args_); if ((std::max)(parent, child) > arity_) { PyErr_SetString(PyExc_IndexError, "PyQt::parent_policy_remove: argument index out of range"); return 0; } result = BasePolicy_::postcall(args_, result); if (result) { PyObject* py_parent = 0; if (parent <= arity_) py_parent = boost::python::detail::get_prev::execute(args_, result); PyObject* py_child = boost::python::detail::get_prev::execute(args_, result); if (((((((PyObject*)(py_child))->ob_type))->tp_flags & ((1L<<25))) != 0)) { qptr ptr_parent(py_parent); uint max = PyList_Size(py_child); for (Py_ssize_t i = 0; i < max; ++i) { qptr ptr_child(PyList_GetItem(py_child, i)); if (ptr_parent.is_wrapper()) { ptr_child.remove_parent(); } else { ptr_child.remove_cpp_ref(); } } } } return result; } }; template struct __attribute__ ((visibility("internal"))) make_ptr_reference_holder { template static PyObject* execute(T* p) { if(p == 0) { return boost::python::incref((&_Py_NoneStruct)); } qptr ptr(const_cast(p)); PyObject *ret = ptr.get_pyobject(); if (ret) return boost::python::incref(ret); ptr.set_pyobject(execute_impl(p)); if (cpp_ownership) { ptr.release_ownership(); } return ptr.get_pyobject(); } template static PyObject* execute_impl(T* p) { typedef qptr smart_pointer; typedef boost::python::objects::pointer_holder holder_t; smart_pointer ptr(const_cast(p)); PyObject *ret = boost::python::objects::make_ptr_instance::execute(ptr); ptr.set_pyobject(ret); return ret; } }; # 369 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" template struct __attribute__ ((visibility("internal"))) return_ptr_object { template struct apply { typedef typename boost::mpl::if_c< boost::is_pointer::value , boost::python::to_python_indirect > , boost::python::detail::reference_existing_object_requires_a_pointer_or_reference_return_type >::type type; }; }; struct __attribute__ ((visibility("internal"))) reference_ptr_object { template struct apply { static const bool ok = boost::is_pointer::value || boost::is_reference::value ; typedef typename boost::mpl::if_c< ok , boost::python::to_python_indirect > , boost::python::detail::reference_existing_object_requires_a_pointer_or_reference_return_type >::type type; }; }; # 407 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" template < std::size_t parent_arg , std::size_t child_arg , class T_PARENT , class T_CHILD , class BasePolicy_ = boost::python::default_call_policies , class T = void > struct __attribute__ ((visibility("internal"))) return_object : parent_policy_add { private: static const bool legal = parent_arg > 0; public: typedef typename boost::mpl::if_c< legal , reference_ptr_object , boost::python::detail::return_internal_reference_owner_arg_must_be_greater_than_zero >::type result_converter; }; template < std::size_t parent_arg , std::size_t child_arg , class T_PARENT , class BasePolicy_ , class T > struct __attribute__ ((visibility("internal"))) return_object, BasePolicy_> : parent_policy_add, BasePolicy_, T> { }; template inline boost::python::handle<> ptr(T* data, bool take_ownership = false) { if (data == 0) return boost::python::handle<>(boost::python::incref((&_Py_NoneStruct))); PyObject *ret; if (take_ownership) { boost::python::to_python_indirect > convert; ret = convert(data); } else { boost::python::to_python_indirect > convert; ret = convert(data); } return boost::python::handle<>(ret); } } # 31 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/qcontainer_indexing_suite.hpp" 1 # 29 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/qcontainer_indexing_suite.hpp" namespace PySide { template class __attribute__ ((visibility("internal"))) qcontainer_indexing_suite; template class __attribute__ ((visibility("internal"))) final_qcontainer_derived_policies : public qcontainer_indexing_suite > {}; template > class __attribute__ ((visibility("internal"))) qcontainer_indexing_suite : public boost::python::indexing_suite { public: typedef typename Container::value_type data_type; typedef typename Container::value_type key_type; typedef typename Container::size_type index_type; typedef typename Container::size_type size_type; typedef typename Container::difference_type difference_type; static typename boost::mpl::if_, data_type&, data_type>::type get_item(Container& container, index_type i) { return container[i]; } static boost::python::object get_slice(Container& container, index_type from, index_type to) { if (from > to) return boost::python::object(Container()); return boost::python::object(container.mid(from, to-from)); } static void set_item(Container& container, index_type i, data_type const& v) { container[i] = v; } static void set_slice(Container& container, index_type from, index_type to, data_type const& v) { if (from > to) return; container.erase(container.begin()+from, container.end()+to); container.insert(container.begin()+from, v); } template static void set_slice(Container& container, index_type from, index_type to, Iter first, Iter last) { if (from > to) { std::copy(first, last, container.begin()+from); } else { container.erase(container.begin()+from, container.end()+to); std::copy(first, last, container.begin()+from); } } static void delete_item(Container& container, index_type i) { container.erase(container.begin()+i); } static void delete_slice(Container& container, index_type from, index_type to) { if (from > to) return; container.erase(container.begin()+from, container.begin()+to); } static size_t size(Container& container) { return container.size(); } static bool contains(Container& container, key_type const& key) { return std::find(container.begin(), container.end(), key) != container.end(); } static index_type convert_index(Container& container, PyObject* i_) { boost::python::extract i(i_); if (i.check()) { long index = i(); if (index < 0) index += DerivedPolicies::size(container); if (index >= long(container.size()) || index < 0) { PyErr_SetString(PyExc_IndexError, "Index out of range"); boost::python::throw_error_already_set(); } return index; } PyErr_SetString(PyExc_TypeError, "Invalid index type"); boost::python::throw_error_already_set(); return index_type(); } static index_type get_min_index(Container& ) { return 0; } static index_type get_max_index(Container& container) { return container.size(); } static bool compare_index(Container& , index_type a, index_type b) { return a < b; } static void append(Container& container, data_type const& v) { container.push_back(v); } }; } # 32 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/thread_support.hpp" 1 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/thread_support.hpp" # 1 "/usr/include/python2.6/pystate.h" 1 # 29 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/thread_support.hpp" 2 # 1 "/usr/include/python2.6/ceval.h" 1 # 30 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/thread_support.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 32 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/thread_support.hpp" 2 namespace PySide { class __attribute__ ((visibility("default"))) thread_support { private: static bool m_enabled; thread_support() {} public: static void init(); static void shutdown(); static inline bool enabled(); }; class __attribute__ ((visibility("default"))) thread_locker { private: PyThreadState *m_thread_state; PyGILState_STATE m_gstate; public: thread_locker(); ~thread_locker(); }; class __attribute__ ((visibility("default"))) py_allow_threads { private: PyThreadState *_save; public: py_allow_threads(); ~py_allow_threads(); }; } # 34 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" 1 # 30 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" # 1 "/usr/include/qt4/QtCore/QDebug" 1 # 31 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" 2 # 1 "/usr/include/qt4/QtCore/QHash" 1 # 32 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" 2 # 1 "/usr/include/qt4/QtCore/QString" 1 # 1 "/usr/include/qt4/QtCore/qstring.h" 1 # 1 "/usr/include/qt4/QtCore/QString" 2 # 33 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" 2 # 1 "/usr/include/qt4/QtCore/QGenericArgument" 1 # 1 "/usr/include/qt4/QtCore/qobjectdefs.h" 1 # 1 "/usr/include/qt4/QtCore/QGenericArgument" 2 # 34 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" 2 # 1 "/usr/include/qt4/QtCore/QSet" 1 # 1 "/usr/include/qt4/QtCore/qset.h" 1 # 1 "/usr/include/qt4/QtCore/QSet" 2 # 35 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 39 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_details.hpp" 1 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_details.hpp" # 1 "/usr/include/qt4/QtCore/QString" 1 # 29 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_details.hpp" 2 # 1 "/usr/include/qt4/QtCore/QGenericArgument" 1 # 30 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_details.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 33 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_details.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/parent_policy.hpp" 1 # 34 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_details.hpp" 2 namespace PySide { class __attribute__ ((visibility("internal"))) type_details { typedef boost::python::object(*func_cpp_to_python_type)(void*); typedef QGenericArgument(*func_python_to_cpp_type)(const boost::python::object&, const char*); typedef void(*func_delete_type)(void*); type_details() {} type_details(const type_details&); type_details& operator=(const type_details&); public: template static type_details* create_object_type_details(const char* type_name) { type_details* self = new type_details(); self->m_type_name = type_name; self->m_type_object = boost::python::converter::registry::query(boost::python::type_id())->get_class_object(); self->m_func_cpp_to_python = &objecttype_to_python; self->m_func_python_to_cpp = &python_to_objecttype; self->m_func_delete = 0; return self; } template static type_details* create_value_type_details(const char* type_name) { type_details* self = new type_details(); self->m_type_name = type_name; self->m_type_object = boost::python::converter::registry::query(boost::python::type_id())->get_class_object(); self->m_func_cpp_to_python = &valuetype_to_python; self->m_func_python_to_cpp = &python_to_value_type; self->m_func_delete = &func_delete_data; return self; } template static type_details* create_native_type_details(const char* type_name) { type_details* self = new type_details(); self->m_type_name = type_name; self->m_type_object = 0; self->m_func_cpp_to_python = &native_to_python; self->m_func_python_to_cpp = &python_to_value_type; self->m_func_delete = &func_delete_data; return self; } template static type_details* create_container_type_details(const char* type_name) { type_details* self = new type_details(); self->m_type_name = type_name; self->m_type_object = 0; self->m_func_cpp_to_python = &container_to_python; self->m_func_python_to_cpp = &python_to_container; self->m_func_delete = &func_delete_data; return self; } boost::python::object to_python(void *data) const { return m_func_cpp_to_python(data); } QGenericArgument to_cpp(const boost::python::object &obj) const { return m_func_python_to_cpp(obj, m_type_name); } const PyTypeObject* get_python_type_object() const { return m_type_object; } void delete_data(QGenericArgument &arg) const { if (m_func_delete) m_func_delete(arg.data()); } private: const char* m_type_name; const PyTypeObject *m_type_object; func_cpp_to_python_type m_func_cpp_to_python; func_python_to_cpp_type m_func_python_to_cpp; func_delete_type m_func_delete; template static boost::python::object objecttype_to_python(void* p) { T* obj = *(reinterpret_cast< T*(*)>(p)); boost::python::object py_obj(PySide::ptr(obj)); if (!py_obj.ptr()) { fprintf(stderr, "Fail to create python object from object in adress: %p\n", obj); py_obj = boost::python::object(); } else { boost::python::incref(py_obj.ptr()); } return py_obj; } template static QGenericArgument python_to_objecttype(const boost::python::object &obj, const char *type_name) { T val = boost::python::extract(obj); return QGenericArgument(type_name, val); } template static boost::python::object valuetype_to_python(void* p) { T* val = reinterpret_cast(p); return boost::python::object(val); } template static QGenericArgument python_to_value_type(const boost::python::object& obj, const char *type_name) { T* val = new T(boost::python::extract(obj)); return QGenericArgument(type_name, static_cast(val)); } template static QGenericArgument python_to_container(const boost::python::object& obj, const char* type_name) { T* val = new T(boost::python::extract(obj)); return QGenericArgument(type_name, static_cast(val)); } template static boost::python::object container_to_python(void* p) { return boost::python::object(reinterpret_cast(p)); } template static boost::python::object container_value_to_python(T t) { return valuetype_to_python(&t); } template static boost::python::object container_value_to_python(T* t) { return objecttype_to_python(&t); } template static void func_delete_data(void *data) { delete reinterpret_cast(data); } template static boost::python::object native_to_python(void* p) { T* val = new T(*reinterpret_cast(p)); return boost::python::object(*val); } }; } # 40 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/type_manager.hpp" 2 namespace PySide { class __attribute__ ((visibility("default"))) type_manager { public: static type_manager& instance(); ~type_manager(); boost::python::object to_python(const QString &name, void *data); QGenericArgument to_cpp(const QString &name, const boost::python::object &obj); void delete_data(QGenericArgument &arg); template void __attribute__ ((visibility("internal"))) register_object_type(const char* type_name) { m_type_map[type_name] = type_details::create_object_type_details(type_name); } template void __attribute__ ((visibility("internal"))) register_value_type(const char* type_name) { m_type_map[type_name] = type_details::create_value_type_details(type_name); } template void __attribute__ ((visibility("internal"))) register_native_type(const char* type_name) { m_type_map[type_name] = type_details::create_native_type_details(type_name); } template void __attribute__ ((visibility("internal"))) register_container_type(const char* type_name) { m_type_map[type_name] = type_details::create_container_type_details(type_name); } bool __attribute__ ((visibility("internal"))) register_converter(const char* type_name) { QString key(type_name); if (m_registered_converters.contains(key)) return false; m_registered_converters << key; return true; } const type_details* get_type_details(const char* type_name) { return m_type_map[type_name]; } private: QSet m_registered_converters; QHash m_type_map; type_manager(); type_manager(const type_manager&); }; } # 35 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" 1 # 27 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" # 1 "/usr/include/qt4/QtCore/QHash" 1 # 28 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" 2 # 1 "/usr/include/qt4/QtCore/QList" 1 # 1 "/usr/include/qt4/QtCore/qlist.h" 1 # 1 "/usr/include/qt4/QtCore/QList" 2 # 29 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" 2 # 1 "/usr/include/qt4/QtCore/QByteArray" 1 # 1 "/usr/include/qt4/QtCore/qbytearray.h" 1 # 1 "/usr/include/qt4/QtCore/QByteArray" 2 # 30 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside_global.hpp" 1 # 31 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" 2 # 1 "/usr/include/qt4/QtCore/QMap" 1 # 1 "/usr/include/qt4/QtCore/qmap.h" 1 # 1 "/usr/include/qt4/QtCore/QMap" 2 # 33 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" 2 class QObject; namespace PySide { class signal_holder; class pyqt_signal; class pyqt_slot; class trigger; struct signal_manager_data; # 63 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" class __attribute__ ((visibility("default"))) signal_manager { public: static signal_manager& instance(); bool connect(QObject* src, const pyqt_signal& signal, boost::python::object& callable, Qt::ConnectionType type = Qt::AutoConnection); bool connect(QObject* sender, const pyqt_signal& signal, QObject* receiver, const pyqt_slot& slot, Qt::ConnectionType type = Qt::AutoConnection); bool disconnect(QObject* src, const pyqt_signal& signal, boost::python::object& callable); bool disconnect(QObject* sender, const pyqt_signal& signal, QObject* receiver, const pyqt_slot& slot); int dynamicsignal_receivers(const QObject *sender, const pyqt_signal &signal, int offset) const; QList signals_of(const QObject* obj); # 96 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" void register_dynamic_signal(QObject *src, const pyqt_signal& signal, trigger* trigger, int slot_id); # 107 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" QObject* register_dynamic_signal(QObject *parent, QObject *sender, const pyqt_signal& signal, const pyqt_signal& receiver); # 119 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/signal_manager.hpp" QObject* register_dynamic_slot(QObject *parent, const boost::python::object &callback, QString &slot_name); const QMetaObject* get_dynamic_metaobject(QObject* obj); void unregister_qobj(QObject* obj); void emit_(QObject *src, const pyqt_signal& signal, const boost::python::object& args); ~signal_manager(); void register_sender(QObject* sender); void unregister_sender(); QObject* sender(); private: signal_manager_data *m_data; trigger* find_trigger(QObject* src); trigger* get_trigger(const QObject *src) const; void emit_dynamic_signal(QObject *source, const pyqt_signal& signal, const boost::python::object& args); void emit_native_signal(QObject *source, int signal_index, const pyqt_signal& signal, const boost::python::object& args); void parse_objects_to_qarguments(const QStringList &args_type, const boost::python::object &argv, QList &q_args); signal_manager(); signal_manager(const signal_manager&); signal_manager& operator=(const signal_manager&); }; class __attribute__ ((visibility("internal"))) set_sender { signal_manager& m_sm; public: set_sender(QObject* sender) : m_sm(signal_manager::instance()) { m_sm.register_sender(sender); } ~set_sender() { m_sm.unregister_sender(); } }; } # 37 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3/base/pyside.hpp" 2 # 35 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit/PySide/QtWebKit/qwebpage_extensionoption_wrapper.cpp" 2 # 1 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit/PySide/QtWebKit/qwebpage_extensionoption_wrapper.hpp" 1 # 31 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit/PySide/QtWebKit/qwebpage_extensionoption_wrapper.hpp" using namespace PySide; class __attribute__ ((visibility("internal"))) qwebpage_extensionoption_wrapper : public QWebPage::ExtensionOption, public PySide::wrapper { private: typedef boost::python::class_< QWebPage::ExtensionOption, PySide::qptr < qwebpage_extensionoption_wrapper, qptr_base::no_check_cache | qptr_base::wrapper_pointer> > class_type; public: qwebpage_extensionoption_wrapper(PyObject *py_self, const QWebPage::ExtensionOption& self) : QWebPage::ExtensionOption(self), wrapper(py_self) { } qwebpage_extensionoption_wrapper(PyObject *py_self); ~qwebpage_extensionoption_wrapper(); static void define_python_class() throw(); }; # 36 "/var/tmp/portage/dev-python/pyside-0.2.3-r1/work/pyside-qt4.6+0.2.3_build/PySide/QtWebKit/PySide/QtWebKit/qwebpage_extensionoption_wrapper.cpp" 2 using namespace boost; using namespace PySide; qwebpage_extensionoption_wrapper::qwebpage_extensionoption_wrapper(PyObject *py_self) : QWebPage::ExtensionOption(), wrapper(py_self) { } qwebpage_extensionoption_wrapper::~qwebpage_extensionoption_wrapper() { PySide::qptr_base::invalidate(PySide::qptr::get_void_pointer(this)); } void qwebpage_extensionoption_wrapper::define_python_class() throw() { class_type python_cls("ExtensionOption", python::init< > ()); python::scope qwebpage_extensionoption_wrapper_scope(python_cls); python::implicitly_convertible< PySide::qptr, PySide::qptr >(); python_cls.def(python::init()); type_manager::instance().register_value_type("QWebPage::ExtensionOption"); }