
/*

  KLayout Layout Viewer
  Copyright (C) 2006-2016 Matthias Koefferlein

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

*/

/**
*  @file gsiDeclQSizePolicy.cc 
*
*  DO NOT EDIT THIS FILE. 
*  This file has been created automatically
*/

#include "gsiQtGui.h"
#include "gsiDeclQtTypeTraits.h"
#include "gsiDeclQSizePolicy_Enums.h"
#include <memory>

// -----------------------------------------------------------------------
// class QSizePolicy

//  Constructor QSizePolicy::QSizePolicy()


static void _init_ctor_QSizePolicy_0 (qt_gsi::GenericStaticMethod *decl)
{
  decl->set_return_new<QSizePolicy *> ();
}

static void _call_ctor_QSizePolicy_0 (const qt_gsi::GenericStaticMethod *decl, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ret.write<QSizePolicy *> (new QSizePolicy ());
}

static qt_gsi::GenericStaticMethod *_create_ctor_QSizePolicy_0 ()
{
  return new qt_gsi::GenericStaticMethod ("new", "@brief Constructor QSizePolicy::QSizePolicy()\nThis method creates an object of class QSizePolicy.", &_init_ctor_QSizePolicy_0, &_call_ctor_QSizePolicy_0);
}

//  Constructor QSizePolicy::QSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)


static void _init_ctor_QSizePolicy_4476 (qt_gsi::GenericStaticMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("horizontal");
  decl->add_arg<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > (argspec_0);
  static gsi::ArgSpecBase argspec_1 ("vertical");
  decl->add_arg<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > (argspec_1);
  decl->set_return_new<QSizePolicy *> ();
}

static void _call_ctor_QSizePolicy_4476 (const qt_gsi::GenericStaticMethod *decl, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  const qt_gsi::Converter<QSizePolicy::Policy>::target_type & arg1 = args.read<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > ();
  const qt_gsi::Converter<QSizePolicy::Policy>::target_type & arg2 = args.read<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > ();
  ret.write<QSizePolicy *> (new QSizePolicy (qt_gsi::QtToCppAdaptor<QSizePolicy::Policy>(arg1).cref(), qt_gsi::QtToCppAdaptor<QSizePolicy::Policy>(arg2).cref()));
}

static qt_gsi::GenericStaticMethod *_create_ctor_QSizePolicy_4476 ()
{
  return new qt_gsi::GenericStaticMethod ("new", "@brief Constructor QSizePolicy::QSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)\nThis method creates an object of class QSizePolicy.", &_init_ctor_QSizePolicy_4476, &_call_ctor_QSizePolicy_4476);
}

//  Constructor QSizePolicy::QSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical, QSizePolicy::ControlType type)


static void _init_ctor_QSizePolicy_7191 (qt_gsi::GenericStaticMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("horizontal");
  decl->add_arg<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > (argspec_0);
  static gsi::ArgSpecBase argspec_1 ("vertical");
  decl->add_arg<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > (argspec_1);
  static gsi::ArgSpecBase argspec_2 ("type");
  decl->add_arg<const qt_gsi::Converter<QSizePolicy::ControlType>::target_type & > (argspec_2);
  decl->set_return_new<QSizePolicy *> ();
}

static void _call_ctor_QSizePolicy_7191 (const qt_gsi::GenericStaticMethod *decl, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  const qt_gsi::Converter<QSizePolicy::Policy>::target_type & arg1 = args.read<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > ();
  const qt_gsi::Converter<QSizePolicy::Policy>::target_type & arg2 = args.read<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > ();
  const qt_gsi::Converter<QSizePolicy::ControlType>::target_type & arg3 = args.read<const qt_gsi::Converter<QSizePolicy::ControlType>::target_type & > ();
  ret.write<QSizePolicy *> (new QSizePolicy (qt_gsi::QtToCppAdaptor<QSizePolicy::Policy>(arg1).cref(), qt_gsi::QtToCppAdaptor<QSizePolicy::Policy>(arg2).cref(), qt_gsi::QtToCppAdaptor<QSizePolicy::ControlType>(arg3).cref()));
}

static qt_gsi::GenericStaticMethod *_create_ctor_QSizePolicy_7191 ()
{
  return new qt_gsi::GenericStaticMethod ("new", "@brief Constructor QSizePolicy::QSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical, QSizePolicy::ControlType type)\nThis method creates an object of class QSizePolicy.", &_init_ctor_QSizePolicy_7191, &_call_ctor_QSizePolicy_7191);
}

// QSizePolicy::ControlType QSizePolicy::controlType()


static void _init_f_controlType_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<qt_gsi::Converter<QSizePolicy::ControlType>::target_type > ();
}

static void _call_f_controlType_c0 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ret.write<qt_gsi::Converter<QSizePolicy::ControlType>::target_type > ((qt_gsi::Converter<QSizePolicy::ControlType>::target_type)qt_gsi::CppToQtAdaptor<QSizePolicy::ControlType>(((QSizePolicy *)cls)->controlType ()));
}

static qt_gsi::GenericMethod *_create_f_controlType_c0 ()
{
  return new qt_gsi::GenericMethod (":controlType", "@brief Method QSizePolicy::ControlType QSizePolicy::controlType()\n", true, &_init_f_controlType_c0, &_call_f_controlType_c0);
}

// QFlags<Qt::Orientation> QSizePolicy::expandingDirections()


static void _init_f_expandingDirections_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<qt_gsi::Converter<QFlags<Qt::Orientation> >::target_type > ();
}

static void _call_f_expandingDirections_c0 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ret.write<qt_gsi::Converter<QFlags<Qt::Orientation> >::target_type > ((qt_gsi::Converter<QFlags<Qt::Orientation> >::target_type)qt_gsi::CppToQtAdaptor<QFlags<Qt::Orientation> >(((QSizePolicy *)cls)->expandingDirections ()));
}

static qt_gsi::GenericMethod *_create_f_expandingDirections_c0 ()
{
  return new qt_gsi::GenericMethod ("expandingDirections", "@brief Method QFlags<Qt::Orientation> QSizePolicy::expandingDirections()\n", true, &_init_f_expandingDirections_c0, &_call_f_expandingDirections_c0);
}

// bool QSizePolicy::hasHeightForWidth()


static void _init_f_hasHeightForWidth_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<bool > ();
}

static void _call_f_hasHeightForWidth_c0 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ret.write<bool > ((bool)((QSizePolicy *)cls)->hasHeightForWidth ());
}

static qt_gsi::GenericMethod *_create_f_hasHeightForWidth_c0 ()
{
  return new qt_gsi::GenericMethod ("hasHeightForWidth|:heightForWidth", "@brief Method bool QSizePolicy::hasHeightForWidth()\n", true, &_init_f_hasHeightForWidth_c0, &_call_f_hasHeightForWidth_c0);
}

// QSizePolicy::Policy QSizePolicy::horizontalPolicy()


static void _init_f_horizontalPolicy_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<qt_gsi::Converter<QSizePolicy::Policy>::target_type > ();
}

static void _call_f_horizontalPolicy_c0 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ret.write<qt_gsi::Converter<QSizePolicy::Policy>::target_type > ((qt_gsi::Converter<QSizePolicy::Policy>::target_type)qt_gsi::CppToQtAdaptor<QSizePolicy::Policy>(((QSizePolicy *)cls)->horizontalPolicy ()));
}

static qt_gsi::GenericMethod *_create_f_horizontalPolicy_c0 ()
{
  return new qt_gsi::GenericMethod (":horizontalPolicy", "@brief Method QSizePolicy::Policy QSizePolicy::horizontalPolicy()\n", true, &_init_f_horizontalPolicy_c0, &_call_f_horizontalPolicy_c0);
}

// int QSizePolicy::horizontalStretch()


static void _init_f_horizontalStretch_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<int > ();
}

static void _call_f_horizontalStretch_c0 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ret.write<int > ((int)((QSizePolicy *)cls)->horizontalStretch ());
}

static qt_gsi::GenericMethod *_create_f_horizontalStretch_c0 ()
{
  return new qt_gsi::GenericMethod ("horizontalStretch", "@brief Method int QSizePolicy::horizontalStretch()\n", true, &_init_f_horizontalStretch_c0, &_call_f_horizontalStretch_c0);
}

// bool QSizePolicy::operator!=(const QSizePolicy &s)


static void _init_f_operator_excl__eq__c2429 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("s");
  decl->add_arg<const QSizePolicy & > (argspec_0);
  decl->set_return<bool > ();
}

static void _call_f_operator_excl__eq__c2429 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  const QSizePolicy &arg1 = args.read<const QSizePolicy & > ();
  ret.write<bool > ((bool)((QSizePolicy *)cls)->operator!= (arg1));
}

static qt_gsi::GenericMethod *_create_f_operator_excl__eq__c2429 ()
{
  return new qt_gsi::GenericMethod ("!=", "@brief Method bool QSizePolicy::operator!=(const QSizePolicy &s)\n", true, &_init_f_operator_excl__eq__c2429, &_call_f_operator_excl__eq__c2429);
}

// bool QSizePolicy::operator==(const QSizePolicy &s)


static void _init_f_operator_eq__eq__c2429 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("s");
  decl->add_arg<const QSizePolicy & > (argspec_0);
  decl->set_return<bool > ();
}

static void _call_f_operator_eq__eq__c2429 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  const QSizePolicy &arg1 = args.read<const QSizePolicy & > ();
  ret.write<bool > ((bool)((QSizePolicy *)cls)->operator== (arg1));
}

static qt_gsi::GenericMethod *_create_f_operator_eq__eq__c2429 ()
{
  return new qt_gsi::GenericMethod ("==", "@brief Method bool QSizePolicy::operator==(const QSizePolicy &s)\n", true, &_init_f_operator_eq__eq__c2429, &_call_f_operator_eq__eq__c2429);
}

// void QSizePolicy::setControlType(QSizePolicy::ControlType type)


static void _init_f_setControlType_2823 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("type");
  decl->add_arg<const qt_gsi::Converter<QSizePolicy::ControlType>::target_type & > (argspec_0);
  decl->set_return<void > ();
}

static void _call_f_setControlType_2823 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  const qt_gsi::Converter<QSizePolicy::ControlType>::target_type & arg1 = args.read<const qt_gsi::Converter<QSizePolicy::ControlType>::target_type & > ();
  ((QSizePolicy *)cls)->setControlType (qt_gsi::QtToCppAdaptor<QSizePolicy::ControlType>(arg1).cref());
}

static qt_gsi::GenericMethod *_create_f_setControlType_2823 ()
{
  return new qt_gsi::GenericMethod ("setControlType|controlType=", "@brief Method void QSizePolicy::setControlType(QSizePolicy::ControlType type)\n", false, &_init_f_setControlType_2823, &_call_f_setControlType_2823);
}

// void QSizePolicy::setHeightForWidth(bool b)


static void _init_f_setHeightForWidth_864 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("b");
  decl->add_arg<bool > (argspec_0);
  decl->set_return<void > ();
}

static void _call_f_setHeightForWidth_864 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  bool arg1 = args.read<bool > ();
  ((QSizePolicy *)cls)->setHeightForWidth (arg1);
}

static qt_gsi::GenericMethod *_create_f_setHeightForWidth_864 ()
{
  return new qt_gsi::GenericMethod ("setHeightForWidth|heightForWidth=", "@brief Method void QSizePolicy::setHeightForWidth(bool b)\n", false, &_init_f_setHeightForWidth_864, &_call_f_setHeightForWidth_864);
}

// void QSizePolicy::setHorizontalPolicy(QSizePolicy::Policy d)


static void _init_f_setHorizontalPolicy_2292 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("d");
  decl->add_arg<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > (argspec_0);
  decl->set_return<void > ();
}

static void _call_f_setHorizontalPolicy_2292 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  const qt_gsi::Converter<QSizePolicy::Policy>::target_type & arg1 = args.read<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > ();
  ((QSizePolicy *)cls)->setHorizontalPolicy (qt_gsi::QtToCppAdaptor<QSizePolicy::Policy>(arg1).cref());
}

static qt_gsi::GenericMethod *_create_f_setHorizontalPolicy_2292 ()
{
  return new qt_gsi::GenericMethod ("setHorizontalPolicy|horizontalPolicy=", "@brief Method void QSizePolicy::setHorizontalPolicy(QSizePolicy::Policy d)\n", false, &_init_f_setHorizontalPolicy_2292, &_call_f_setHorizontalPolicy_2292);
}

// void QSizePolicy::setHorizontalStretch(unsigned char stretchFactor)


static void _init_f_setHorizontalStretch_1855 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("stretchFactor");
  decl->add_arg<unsigned char > (argspec_0);
  decl->set_return<void > ();
}

static void _call_f_setHorizontalStretch_1855 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  unsigned char arg1 = args.read<unsigned char > ();
  ((QSizePolicy *)cls)->setHorizontalStretch (arg1);
}

static qt_gsi::GenericMethod *_create_f_setHorizontalStretch_1855 ()
{
  return new qt_gsi::GenericMethod ("setHorizontalStretch", "@brief Method void QSizePolicy::setHorizontalStretch(unsigned char stretchFactor)\n", false, &_init_f_setHorizontalStretch_1855, &_call_f_setHorizontalStretch_1855);
}

// void QSizePolicy::setVerticalPolicy(QSizePolicy::Policy d)


static void _init_f_setVerticalPolicy_2292 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("d");
  decl->add_arg<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > (argspec_0);
  decl->set_return<void > ();
}

static void _call_f_setVerticalPolicy_2292 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  const qt_gsi::Converter<QSizePolicy::Policy>::target_type & arg1 = args.read<const qt_gsi::Converter<QSizePolicy::Policy>::target_type & > ();
  ((QSizePolicy *)cls)->setVerticalPolicy (qt_gsi::QtToCppAdaptor<QSizePolicy::Policy>(arg1).cref());
}

static qt_gsi::GenericMethod *_create_f_setVerticalPolicy_2292 ()
{
  return new qt_gsi::GenericMethod ("setVerticalPolicy|verticalPolicy=", "@brief Method void QSizePolicy::setVerticalPolicy(QSizePolicy::Policy d)\n", false, &_init_f_setVerticalPolicy_2292, &_call_f_setVerticalPolicy_2292);
}

// void QSizePolicy::setVerticalStretch(unsigned char stretchFactor)


static void _init_f_setVerticalStretch_1855 (qt_gsi::GenericMethod *decl)
{
  static gsi::ArgSpecBase argspec_0 ("stretchFactor");
  decl->add_arg<unsigned char > (argspec_0);
  decl->set_return<void > ();
}

static void _call_f_setVerticalStretch_1855 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  unsigned char arg1 = args.read<unsigned char > ();
  ((QSizePolicy *)cls)->setVerticalStretch (arg1);
}

static qt_gsi::GenericMethod *_create_f_setVerticalStretch_1855 ()
{
  return new qt_gsi::GenericMethod ("setVerticalStretch", "@brief Method void QSizePolicy::setVerticalStretch(unsigned char stretchFactor)\n", false, &_init_f_setVerticalStretch_1855, &_call_f_setVerticalStretch_1855);
}

// void QSizePolicy::transpose()


static void _init_f_transpose_0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<void > ();
}

static void _call_f_transpose_0 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ((QSizePolicy *)cls)->transpose ();
}

static qt_gsi::GenericMethod *_create_f_transpose_0 ()
{
  return new qt_gsi::GenericMethod ("transpose", "@brief Method void QSizePolicy::transpose()\n", false, &_init_f_transpose_0, &_call_f_transpose_0);
}

// QSizePolicy::Policy QSizePolicy::verticalPolicy()


static void _init_f_verticalPolicy_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<qt_gsi::Converter<QSizePolicy::Policy>::target_type > ();
}

static void _call_f_verticalPolicy_c0 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ret.write<qt_gsi::Converter<QSizePolicy::Policy>::target_type > ((qt_gsi::Converter<QSizePolicy::Policy>::target_type)qt_gsi::CppToQtAdaptor<QSizePolicy::Policy>(((QSizePolicy *)cls)->verticalPolicy ()));
}

static qt_gsi::GenericMethod *_create_f_verticalPolicy_c0 ()
{
  return new qt_gsi::GenericMethod (":verticalPolicy", "@brief Method QSizePolicy::Policy QSizePolicy::verticalPolicy()\n", true, &_init_f_verticalPolicy_c0, &_call_f_verticalPolicy_c0);
}

// int QSizePolicy::verticalStretch()


static void _init_f_verticalStretch_c0 (qt_gsi::GenericMethod *decl)
{
  decl->set_return<int > ();
}

static void _call_f_verticalStretch_c0 (const qt_gsi::GenericMethod *decl, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) 
{
  ret.write<int > ((int)((QSizePolicy *)cls)->verticalStretch ());
}

static qt_gsi::GenericMethod *_create_f_verticalStretch_c0 ()
{
  return new qt_gsi::GenericMethod ("verticalStretch", "@brief Method int QSizePolicy::verticalStretch()\n", true, &_init_f_verticalStretch_c0, &_call_f_verticalStretch_c0);
}


namespace gsi
{
gsi::Class<QSizePolicy> decl_QSizePolicy ("QSizePolicy",
  gsi::Methods(_create_ctor_QSizePolicy_0 ()) +
  gsi::Methods(_create_ctor_QSizePolicy_4476 ()) +
  gsi::Methods(_create_ctor_QSizePolicy_7191 ()) +
  gsi::Methods(_create_f_controlType_c0 ()) +
  gsi::Methods(_create_f_expandingDirections_c0 ()) +
  gsi::Methods(_create_f_hasHeightForWidth_c0 ()) +
  gsi::Methods(_create_f_horizontalPolicy_c0 ()) +
  gsi::Methods(_create_f_horizontalStretch_c0 ()) +
  gsi::Methods(_create_f_operator_excl__eq__c2429 ()) +
  gsi::Methods(_create_f_operator_eq__eq__c2429 ()) +
  gsi::Methods(_create_f_setControlType_2823 ()) +
  gsi::Methods(_create_f_setHeightForWidth_864 ()) +
  gsi::Methods(_create_f_setHorizontalPolicy_2292 ()) +
  gsi::Methods(_create_f_setHorizontalStretch_1855 ()) +
  gsi::Methods(_create_f_setVerticalPolicy_2292 ()) +
  gsi::Methods(_create_f_setVerticalStretch_1855 ()) +
  gsi::Methods(_create_f_transpose_0 ()) +
  gsi::Methods(_create_f_verticalPolicy_c0 ()) +
  gsi::Methods(_create_f_verticalStretch_c0 ()),
  "@qt\n@brief Binding of QSizePolicy");

}


//  Implementation of the enum wrapper class for QSizePolicy::ControlType
namespace qt_gsi
{

static QSizePolicy_ControlType_Enum *c_1_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::DefaultType); }
static QSizePolicy_ControlType_Enum *c_2_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::ButtonBox); }
static QSizePolicy_ControlType_Enum *c_3_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::CheckBox); }
static QSizePolicy_ControlType_Enum *c_4_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::ComboBox); }
static QSizePolicy_ControlType_Enum *c_5_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::Frame); }
static QSizePolicy_ControlType_Enum *c_6_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::GroupBox); }
static QSizePolicy_ControlType_Enum *c_7_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::Label); }
static QSizePolicy_ControlType_Enum *c_8_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::Line); }
static QSizePolicy_ControlType_Enum *c_9_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::LineEdit); }
static QSizePolicy_ControlType_Enum *c_10_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::PushButton); }
static QSizePolicy_ControlType_Enum *c_11_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::RadioButton); }
static QSizePolicy_ControlType_Enum *c_12_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::Slider); }
static QSizePolicy_ControlType_Enum *c_13_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::SpinBox); }
static QSizePolicy_ControlType_Enum *c_14_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::TabWidget); }
static QSizePolicy_ControlType_Enum *c_15_QSizePolicy_ControlType_Enum () { return new QSizePolicy_ControlType_Enum (QSizePolicy::ToolButton); }

static gsi::Methods mkdefs_QSizePolicy_ControlType () {
  return
    gsi::constant ("DefaultType", &qt_gsi::c_1_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::DefaultType") +
    gsi::constant ("ButtonBox", &qt_gsi::c_2_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::ButtonBox") +
    gsi::constant ("CheckBox", &qt_gsi::c_3_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::CheckBox") +
    gsi::constant ("ComboBox", &qt_gsi::c_4_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::ComboBox") +
    gsi::constant ("Frame", &qt_gsi::c_5_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::Frame") +
    gsi::constant ("GroupBox", &qt_gsi::c_6_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::GroupBox") +
    gsi::constant ("Label", &qt_gsi::c_7_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::Label") +
    gsi::constant ("Line", &qt_gsi::c_8_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::Line") +
    gsi::constant ("LineEdit", &qt_gsi::c_9_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::LineEdit") +
    gsi::constant ("PushButton", &qt_gsi::c_10_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::PushButton") +
    gsi::constant ("RadioButton", &qt_gsi::c_11_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::RadioButton") +
    gsi::constant ("Slider", &qt_gsi::c_12_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::Slider") +
    gsi::constant ("SpinBox", &qt_gsi::c_13_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::SpinBox") +
    gsi::constant ("TabWidget", &qt_gsi::c_14_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::TabWidget") +
    gsi::constant ("ToolButton", &qt_gsi::c_15_QSizePolicy_ControlType_Enum, "@brief Enum constant QSizePolicy::ToolButton");
}

static std::string to_s_QSizePolicy_ControlType_Enum (const QSizePolicy_ControlType_Enum *e)
{
  if (e->value () == QSizePolicy::DefaultType) { return tl::sprintf ("DefaultType (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::ButtonBox) { return tl::sprintf ("ButtonBox (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::CheckBox) { return tl::sprintf ("CheckBox (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::ComboBox) { return tl::sprintf ("ComboBox (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Frame) { return tl::sprintf ("Frame (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::GroupBox) { return tl::sprintf ("GroupBox (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Label) { return tl::sprintf ("Label (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Line) { return tl::sprintf ("Line (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::LineEdit) { return tl::sprintf ("LineEdit (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::PushButton) { return tl::sprintf ("PushButton (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::RadioButton) { return tl::sprintf ("RadioButton (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Slider) { return tl::sprintf ("Slider (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::SpinBox) { return tl::sprintf ("SpinBox (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::TabWidget) { return tl::sprintf ("TabWidget (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::ToolButton) { return tl::sprintf ("ToolButton (%u)", (unsigned int) e->value ()); }
  return std::string ("(not a valid enum evalue)");
}

static unsigned int to_i_QSizePolicy_ControlType_Enum (const QSizePolicy_ControlType_Enum *e)
{
  return (unsigned int) e->value ();
}

static QSizePolicy_ControlType_Enum *from_i_QSizePolicy_ControlType_Enum (unsigned int i)
{
  return new QSizePolicy_ControlType_Enum ((QSizePolicy::ControlType) i);
}

static bool equalQSizePolicy_ControlType_Enum (const QSizePolicy_ControlType_Enum *e, QSizePolicy_ControlType_Enum d)
{
  return e->value () == d.value ();
}

static bool equal2QSizePolicy_ControlType_Enum (const QSizePolicy_ControlType_Enum *e, unsigned int i)
{
  return (unsigned int) e->value () == i;
}

static QSizePolicy_ControlType_Enums oropQSizePolicy_ControlType_Enums (const QSizePolicy_ControlType_Enums *e, const QSizePolicy_ControlType_Enums &d)
{
  return e->flags () | d.flags ();
}

static QSizePolicy_ControlType_Enums andopQSizePolicy_ControlType_Enums (const QSizePolicy_ControlType_Enums *e, const QSizePolicy_ControlType_Enums &d)
{
  return e->flags () & d.flags ();
}

static QSizePolicy_ControlType_Enums xoropQSizePolicy_ControlType_Enums (const QSizePolicy_ControlType_Enums *e, const QSizePolicy_ControlType_Enums &d)
{
  return e->flags () ^ d.flags ();
}

static std::string to_s_QSizePolicy_ControlType_Enums (const QSizePolicy_ControlType_Enums *e)
{
  std::string l;
  if (e->testFlag (QSizePolicy::DefaultType)) { if (!l.empty ()) l += "|"; l += "DefaultType"; }
  if (e->testFlag (QSizePolicy::ButtonBox)) { if (!l.empty ()) l += "|"; l += "ButtonBox"; }
  if (e->testFlag (QSizePolicy::CheckBox)) { if (!l.empty ()) l += "|"; l += "CheckBox"; }
  if (e->testFlag (QSizePolicy::ComboBox)) { if (!l.empty ()) l += "|"; l += "ComboBox"; }
  if (e->testFlag (QSizePolicy::Frame)) { if (!l.empty ()) l += "|"; l += "Frame"; }
  if (e->testFlag (QSizePolicy::GroupBox)) { if (!l.empty ()) l += "|"; l += "GroupBox"; }
  if (e->testFlag (QSizePolicy::Label)) { if (!l.empty ()) l += "|"; l += "Label"; }
  if (e->testFlag (QSizePolicy::Line)) { if (!l.empty ()) l += "|"; l += "Line"; }
  if (e->testFlag (QSizePolicy::LineEdit)) { if (!l.empty ()) l += "|"; l += "LineEdit"; }
  if (e->testFlag (QSizePolicy::PushButton)) { if (!l.empty ()) l += "|"; l += "PushButton"; }
  if (e->testFlag (QSizePolicy::RadioButton)) { if (!l.empty ()) l += "|"; l += "RadioButton"; }
  if (e->testFlag (QSizePolicy::Slider)) { if (!l.empty ()) l += "|"; l += "Slider"; }
  if (e->testFlag (QSizePolicy::SpinBox)) { if (!l.empty ()) l += "|"; l += "SpinBox"; }
  if (e->testFlag (QSizePolicy::TabWidget)) { if (!l.empty ()) l += "|"; l += "TabWidget"; }
  if (e->testFlag (QSizePolicy::ToolButton)) { if (!l.empty ()) l += "|"; l += "ToolButton"; }
  return tl::sprintf ("%u (%s)", (unsigned int) (e->flags ()), l);
}

static int to_i_QSizePolicy_ControlType_Enums (const QSizePolicy_ControlType_Enums *e)
{
  return int (e->flags ());
}

static bool testFlag_QSizePolicy_ControlType_Enums (const QSizePolicy_ControlType_Enums *e, const QSizePolicy_ControlType_Enum &d)
{
  return e->flags ().testFlag (d.value ());
}

}

namespace gsi
{

//  Declarations for QFlags<enum> wrapper class
gsi::Class<qt_gsi::QSizePolicy_ControlType_Enums> decl_QSizePolicy_ControlType_Enums ("QSizePolicy_QFlags_ControlType",
  gsi::method_ext ("|", &qt_gsi::oropQSizePolicy_ControlType_Enums, gsi::arg ("other"), "@brief 'or' operator between two flag sets") +
  gsi::method_ext ("&", &qt_gsi::andopQSizePolicy_ControlType_Enums, gsi::arg ("other"), "@brief 'and' operator between two flag sets") +
  gsi::method_ext ("^", &qt_gsi::xoropQSizePolicy_ControlType_Enums, gsi::arg ("other"), "@brief 'xor' operator between two flag sets") +
  gsi::method_ext ("to_s|inspect", &qt_gsi::to_s_QSizePolicy_ControlType_Enums, "@brief Converts the flag set to a string") +
  gsi::method_ext ("to_i", &qt_gsi::to_i_QSizePolicy_ControlType_Enums, "@brief Returns the integer value encoding the flag set") +
  gsi::method_ext ("testFlag", &qt_gsi::testFlag_QSizePolicy_ControlType_Enums, gsi::arg ("flag"), "@brief Tests whether the flag is contained in the flag set"),
  "@qt\n@brief This class represents the QFlags<QSizePolicy::ControlType> flag set");

//  Declarations for enum wrapper class
gsi::Class<qt_gsi::QSizePolicy_ControlType_Enum> decl_QSizePolicy_ControlType_Enum (decl_QSizePolicy_ControlType_Enums, "QSizePolicy_ControlType",
  qt_gsi::mkdefs_QSizePolicy_ControlType () +
  gsi::method_ext ("to_s|inspect", &qt_gsi::to_s_QSizePolicy_ControlType_Enum, "@brief Converts the enum class to a string") +
  gsi::method_ext ("to_i", &qt_gsi::to_i_QSizePolicy_ControlType_Enum, "@brief Converts the enum class to an integer") +
  gsi::method_ext ("==", &qt_gsi::equalQSizePolicy_ControlType_Enum, gsi::arg ("other"), "@brief Compares the enum class against an enum of it's own type") +
  gsi::method_ext ("==", &qt_gsi::equal2QSizePolicy_ControlType_Enum, gsi::arg ("other"), "@brief Compares the enum class against an integer") +
  gsi::constructor ("new", &qt_gsi::from_i_QSizePolicy_ControlType_Enum, gsi::arg ("value"), "@brief Creates the enum object from an integer"),
  "@qt\n@brief This class represents the QSizePolicy::ControlType enum");

//  Inject the declarations into the parent
static gsi::ClassExt<QSizePolicy> inject_QSizePolicy_ControlType_Enum_in_parent (qt_gsi::mkdefs_QSizePolicy_ControlType ());
static gsi::ClassExt<QSizePolicy> decl_QSizePolicy_ControlType_Enum_as_child (decl_QSizePolicy_ControlType_Enum, "ControlType");

}


//  Implementation of the enum wrapper class for QSizePolicy::Policy
namespace qt_gsi
{

static QSizePolicy_Policy_Enum *c_1_QSizePolicy_Policy_Enum () { return new QSizePolicy_Policy_Enum (QSizePolicy::Fixed); }
static QSizePolicy_Policy_Enum *c_2_QSizePolicy_Policy_Enum () { return new QSizePolicy_Policy_Enum (QSizePolicy::Minimum); }
static QSizePolicy_Policy_Enum *c_3_QSizePolicy_Policy_Enum () { return new QSizePolicy_Policy_Enum (QSizePolicy::Maximum); }
static QSizePolicy_Policy_Enum *c_4_QSizePolicy_Policy_Enum () { return new QSizePolicy_Policy_Enum (QSizePolicy::Preferred); }
static QSizePolicy_Policy_Enum *c_5_QSizePolicy_Policy_Enum () { return new QSizePolicy_Policy_Enum (QSizePolicy::MinimumExpanding); }
static QSizePolicy_Policy_Enum *c_6_QSizePolicy_Policy_Enum () { return new QSizePolicy_Policy_Enum (QSizePolicy::Expanding); }
static QSizePolicy_Policy_Enum *c_7_QSizePolicy_Policy_Enum () { return new QSizePolicy_Policy_Enum (QSizePolicy::Ignored); }

static gsi::Methods mkdefs_QSizePolicy_Policy () {
  return
    gsi::constant ("Fixed", &qt_gsi::c_1_QSizePolicy_Policy_Enum, "@brief Enum constant QSizePolicy::Fixed") +
    gsi::constant ("Minimum", &qt_gsi::c_2_QSizePolicy_Policy_Enum, "@brief Enum constant QSizePolicy::Minimum") +
    gsi::constant ("Maximum", &qt_gsi::c_3_QSizePolicy_Policy_Enum, "@brief Enum constant QSizePolicy::Maximum") +
    gsi::constant ("Preferred", &qt_gsi::c_4_QSizePolicy_Policy_Enum, "@brief Enum constant QSizePolicy::Preferred") +
    gsi::constant ("MinimumExpanding", &qt_gsi::c_5_QSizePolicy_Policy_Enum, "@brief Enum constant QSizePolicy::MinimumExpanding") +
    gsi::constant ("Expanding", &qt_gsi::c_6_QSizePolicy_Policy_Enum, "@brief Enum constant QSizePolicy::Expanding") +
    gsi::constant ("Ignored", &qt_gsi::c_7_QSizePolicy_Policy_Enum, "@brief Enum constant QSizePolicy::Ignored");
}

static std::string to_s_QSizePolicy_Policy_Enum (const QSizePolicy_Policy_Enum *e)
{
  if (e->value () == QSizePolicy::Fixed) { return tl::sprintf ("Fixed (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Minimum) { return tl::sprintf ("Minimum (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Maximum) { return tl::sprintf ("Maximum (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Preferred) { return tl::sprintf ("Preferred (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::MinimumExpanding) { return tl::sprintf ("MinimumExpanding (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Expanding) { return tl::sprintf ("Expanding (%u)", (unsigned int) e->value ()); }
  if (e->value () == QSizePolicy::Ignored) { return tl::sprintf ("Ignored (%u)", (unsigned int) e->value ()); }
  return std::string ("(not a valid enum evalue)");
}

static unsigned int to_i_QSizePolicy_Policy_Enum (const QSizePolicy_Policy_Enum *e)
{
  return (unsigned int) e->value ();
}

static QSizePolicy_Policy_Enum *from_i_QSizePolicy_Policy_Enum (unsigned int i)
{
  return new QSizePolicy_Policy_Enum ((QSizePolicy::Policy) i);
}

static bool equalQSizePolicy_Policy_Enum (const QSizePolicy_Policy_Enum *e, QSizePolicy_Policy_Enum d)
{
  return e->value () == d.value ();
}

static bool equal2QSizePolicy_Policy_Enum (const QSizePolicy_Policy_Enum *e, unsigned int i)
{
  return (unsigned int) e->value () == i;
}

static QSizePolicy_Policy_Enums oropQSizePolicy_Policy_Enums (const QSizePolicy_Policy_Enums *e, const QSizePolicy_Policy_Enums &d)
{
  return e->flags () | d.flags ();
}

static QSizePolicy_Policy_Enums andopQSizePolicy_Policy_Enums (const QSizePolicy_Policy_Enums *e, const QSizePolicy_Policy_Enums &d)
{
  return e->flags () & d.flags ();
}

static QSizePolicy_Policy_Enums xoropQSizePolicy_Policy_Enums (const QSizePolicy_Policy_Enums *e, const QSizePolicy_Policy_Enums &d)
{
  return e->flags () ^ d.flags ();
}

static std::string to_s_QSizePolicy_Policy_Enums (const QSizePolicy_Policy_Enums *e)
{
  std::string l;
  if (e->testFlag (QSizePolicy::Fixed)) { if (!l.empty ()) l += "|"; l += "Fixed"; }
  if (e->testFlag (QSizePolicy::Minimum)) { if (!l.empty ()) l += "|"; l += "Minimum"; }
  if (e->testFlag (QSizePolicy::Maximum)) { if (!l.empty ()) l += "|"; l += "Maximum"; }
  if (e->testFlag (QSizePolicy::Preferred)) { if (!l.empty ()) l += "|"; l += "Preferred"; }
  if (e->testFlag (QSizePolicy::MinimumExpanding)) { if (!l.empty ()) l += "|"; l += "MinimumExpanding"; }
  if (e->testFlag (QSizePolicy::Expanding)) { if (!l.empty ()) l += "|"; l += "Expanding"; }
  if (e->testFlag (QSizePolicy::Ignored)) { if (!l.empty ()) l += "|"; l += "Ignored"; }
  return tl::sprintf ("%u (%s)", (unsigned int) (e->flags ()), l);
}

static int to_i_QSizePolicy_Policy_Enums (const QSizePolicy_Policy_Enums *e)
{
  return int (e->flags ());
}

static bool testFlag_QSizePolicy_Policy_Enums (const QSizePolicy_Policy_Enums *e, const QSizePolicy_Policy_Enum &d)
{
  return e->flags ().testFlag (d.value ());
}

}

namespace gsi
{

//  Declarations for QFlags<enum> wrapper class
gsi::Class<qt_gsi::QSizePolicy_Policy_Enums> decl_QSizePolicy_Policy_Enums ("QSizePolicy_QFlags_Policy",
  gsi::method_ext ("|", &qt_gsi::oropQSizePolicy_Policy_Enums, gsi::arg ("other"), "@brief 'or' operator between two flag sets") +
  gsi::method_ext ("&", &qt_gsi::andopQSizePolicy_Policy_Enums, gsi::arg ("other"), "@brief 'and' operator between two flag sets") +
  gsi::method_ext ("^", &qt_gsi::xoropQSizePolicy_Policy_Enums, gsi::arg ("other"), "@brief 'xor' operator between two flag sets") +
  gsi::method_ext ("to_s|inspect", &qt_gsi::to_s_QSizePolicy_Policy_Enums, "@brief Converts the flag set to a string") +
  gsi::method_ext ("to_i", &qt_gsi::to_i_QSizePolicy_Policy_Enums, "@brief Returns the integer value encoding the flag set") +
  gsi::method_ext ("testFlag", &qt_gsi::testFlag_QSizePolicy_Policy_Enums, gsi::arg ("flag"), "@brief Tests whether the flag is contained in the flag set"),
  "@qt\n@brief This class represents the QFlags<QSizePolicy::Policy> flag set");

//  Declarations for enum wrapper class
gsi::Class<qt_gsi::QSizePolicy_Policy_Enum> decl_QSizePolicy_Policy_Enum (decl_QSizePolicy_Policy_Enums, "QSizePolicy_Policy",
  qt_gsi::mkdefs_QSizePolicy_Policy () +
  gsi::method_ext ("to_s|inspect", &qt_gsi::to_s_QSizePolicy_Policy_Enum, "@brief Converts the enum class to a string") +
  gsi::method_ext ("to_i", &qt_gsi::to_i_QSizePolicy_Policy_Enum, "@brief Converts the enum class to an integer") +
  gsi::method_ext ("==", &qt_gsi::equalQSizePolicy_Policy_Enum, gsi::arg ("other"), "@brief Compares the enum class against an enum of it's own type") +
  gsi::method_ext ("==", &qt_gsi::equal2QSizePolicy_Policy_Enum, gsi::arg ("other"), "@brief Compares the enum class against an integer") +
  gsi::constructor ("new", &qt_gsi::from_i_QSizePolicy_Policy_Enum, gsi::arg ("value"), "@brief Creates the enum object from an integer"),
  "@qt\n@brief This class represents the QSizePolicy::Policy enum");

//  Inject the declarations into the parent
static gsi::ClassExt<QSizePolicy> inject_QSizePolicy_Policy_Enum_in_parent (qt_gsi::mkdefs_QSizePolicy_Policy ());
static gsi::ClassExt<QSizePolicy> decl_QSizePolicy_Policy_Enum_as_child (decl_QSizePolicy_Policy_Enum, "Policy");

}

