summaryrefslogtreecommitdiff
path: root/glib/src/variant.ccg
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2011-03-29 10:28:41 +0200
committerMurray Cumming <murrayc@murrayc.com>2011-03-29 10:28:41 +0200
commit5f56698cbf63dc055258f7e2e9558eee7969be48 (patch)
treeb764b4e37b86a86e8bf7265a9b3bc7d7fe24bd9a /glib/src/variant.ccg
parentc724c60cb0a566230565d270e1584cd50f0e1478 (diff)
downloadglibmm-5f56698cbf63dc055258f7e2e9558eee7969be48.tar.gz
Variant: Move constructor definitions into the .cc file.
* glib/src/variant.[hg|ccg]: The implementations of constructors for template specializations do not need to be inline. This lets us fix them later without requiring recompilation of applications.
Diffstat (limited to 'glib/src/variant.ccg')
-rw-r--r--glib/src/variant.ccg74
1 files changed, 74 insertions, 0 deletions
diff --git a/glib/src/variant.ccg b/glib/src/variant.ccg
index adad1d60..426cd73c 100644
--- a/glib/src/variant.ccg
+++ b/glib/src/variant.ccg
@@ -39,6 +39,17 @@ void VariantBase::byteswap(VariantBase& result) const
result.init(g_value); // g_value is already referenced.
}
+
+VariantStringBase::VariantStringBase()
+: VariantBase()
+{
+}
+
+VariantStringBase::VariantStringBase(GVariant* castitem, bool take_a_reference)
+: VariantBase(castitem, take_a_reference)
+{
+}
+
//static
void VariantStringBase::create_object_path(VariantStringBase& output,
const std::string& object_path)
@@ -59,6 +70,17 @@ void VariantStringBase::create_signature(VariantStringBase& output,
output.init(result);
}
+
+VariantContainerBase::VariantContainerBase()
+: VariantBase()
+{
+}
+
+VariantContainerBase::VariantContainerBase(GVariant* castitem, bool take_a_reference)
+: VariantBase(castitem, take_a_reference)
+{
+}
+
//static
VariantContainerBase
VariantContainerBase::create_tuple(const std::vector<VariantBase>& children)
@@ -137,6 +159,17 @@ void VariantBase::init(const GVariant* cobject, bool take_a_reference)
g_variant_ref(gobject_);
}
+
+Variant<VariantBase>::Variant()
+: VariantContainerBase()
+{
+}
+
+Variant<VariantBase>::Variant(GVariant* castitem, bool take_a_reference)
+: VariantContainerBase(castitem, take_a_reference)
+{
+}
+
// static
const VariantType& Variant<VariantBase>::variant_type()
{
@@ -159,6 +192,17 @@ void Variant<VariantBase>::get(VariantBase& variant) const
variant.init(gvariant);
}
+
+Variant<Glib::ustring>::Variant()
+: VariantStringBase()
+{
+}
+
+Variant<Glib::ustring>::Variant(GVariant* castitem, bool take_a_reference)
+: VariantStringBase(castitem, take_a_reference)
+{
+}
+
// static
const VariantType& Variant<Glib::ustring>::variant_type()
{
@@ -207,6 +251,16 @@ throw(std::bad_cast)
}
}
+Variant<std::string>::Variant()
+: VariantStringBase()
+{
+}
+
+Variant<std::string>::Variant(GVariant* castitem, bool take_a_reference)
+: VariantStringBase(castitem, take_a_reference)
+{
+}
+
// static
const VariantType& Variant<std::string>::variant_type()
{
@@ -266,6 +320,16 @@ std::string Variant<std::string>::get() const
typedef std::vector<Glib::ustring> type_vec_ustring;
+Variant<type_vec_ustring>::Variant()
+: VariantContainerBase()
+{
+}
+
+Variant<type_vec_ustring>::Variant(GVariant* castitem, bool take_a_reference)
+: VariantContainerBase(castitem, take_a_reference)
+{
+}
+
// static
const VariantType& Variant<type_vec_ustring>::variant_type()
{
@@ -349,6 +413,16 @@ VariantIter Variant<type_vec_ustring>::get_iter() const
typedef std::vector<std::string> type_vec_string;
+Variant<type_vec_string>::Variant()
+: VariantContainerBase()
+{
+}
+
+Variant<type_vec_string>::Variant(GVariant* castitem, bool take_a_reference)
+: VariantContainerBase(castitem, take_a_reference)
+{
+}
+
// static
const VariantType& Variant<type_vec_string>::variant_type()
{