// This is a generated file, do not edit.  Generated from variant_basictypes.cc.m4

#include <glibmm/variant.h>

namespace Glib
{

/**** Glib::Variant<bool> ****************************************************/

// static
const GVariantType* Variant<bool>::variant_type()
{
  return G_VARIANT_TYPE_BOOLEAN;
}

Variant<bool> Variant<bool>::create(bool data)
{
  return Variant<bool>(g_variant_new_boolean(data));
}

bool Variant<bool>::get() const
{
  return g_variant_get_boolean(gobject_);
}


/**** Glib::Variant<gint16> **************************************************/

// static
const GVariantType* Variant<gint16>::variant_type()
{
  return G_VARIANT_TYPE_INT16;
}

Variant<gint16> Variant<gint16>::create(gint16 data)
{
  return Variant<gint16>(g_variant_new_int16(data));
}

gint16 Variant<gint16>::get() const
{
  return g_variant_get_int16(gobject_);
}


/**** Glib::Variant<guint16> *************************************************/

// static
const GVariantType* Variant<guint16>::variant_type()
{
  return G_VARIANT_TYPE_UINT16;
}

Variant<guint16> Variant<guint16>::create(guint16 data)
{
  return Variant<guint16>(g_variant_new_uint16(data));
}

guint16 Variant<guint16>::get() const
{
  return g_variant_get_uint16(gobject_);
}


/**** Glib::Variant<gint32> **************************************************/

// static
const GVariantType* Variant<gint32>::variant_type()
{
  return G_VARIANT_TYPE_INT32;
}

Variant<gint32> Variant<gint32>::create(gint32 data)
{
  return Variant<gint32>(g_variant_new_int32(data));
}

gint32 Variant<gint32>::get() const
{
  return g_variant_get_int32(gobject_);
}


/**** Glib::Variant<guint32> *************************************************/

// static
const GVariantType* Variant<guint32>::variant_type()
{
  return G_VARIANT_TYPE_UINT32;
}

Variant<guint32> Variant<guint32>::create(guint32 data)
{
  return Variant<guint32>(g_variant_new_uint32(data));
}

guint32 Variant<guint32>::get() const
{
  return g_variant_get_uint32(gobject_);
}


/**** Glib::Variant<gint64> **************************************************/

// static
const GVariantType* Variant<gint64>::variant_type()
{
  return G_VARIANT_TYPE_INT64;
}

Variant<gint64> Variant<gint64>::create(gint64 data)
{
  return Variant<gint64>(g_variant_new_int64(data));
}

gint64 Variant<gint64>::get() const
{
  return g_variant_get_int64(gobject_);
}


/**** Glib::Variant<guint64> *************************************************/

// static
const GVariantType* Variant<guint64>::variant_type()
{
  return G_VARIANT_TYPE_UINT64;
}

Variant<guint64> Variant<guint64>::create(guint64 data)
{
  return Variant<guint64>(g_variant_new_uint64(data));
}

guint64 Variant<guint64>::get() const
{
  return g_variant_get_uint64(gobject_);
}


/**** Glib::Variant<double> **************************************************/

// static
const GVariantType* Variant<double>::variant_type()
{
  return G_VARIANT_TYPE_DOUBLE;
}

Variant<double> Variant<double>::create(double data)
{
  return Variant<double>(g_variant_new_double(data));
}

double Variant<double>::get() const
{
  return g_variant_get_double(gobject_);
}

} // namespace Glib
