diff options
Diffstat (limited to 'src/core/common/Variant.cpp')
-rw-r--r-- | src/core/common/Variant.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/common/Variant.cpp b/src/core/common/Variant.cpp index 280cba5..e3be395 100644 --- a/src/core/common/Variant.cpp +++ b/src/core/common/Variant.cpp @@ -22,11 +22,12 @@ #include "Location.hpp" #include "Logger.hpp" +#include "Rtti.hpp" +#include "RttiBuilder.hpp" #include "Utils.hpp" #include "Variant.hpp" #include "VariantConverter.hpp" #include "VariantWriter.hpp" -#include "Rtti.hpp" namespace ousia { @@ -188,6 +189,11 @@ Variant::cardinalityType Variant::toCardinality() const return res.asCardinality(); } +Rooted<ManagedVariant> Variant::toManaged(Manager &mgr) const +{ + return Rooted<ManagedVariant>(new ManagedVariant(mgr, *this)); +} + /* Type management */ const Rtti *Variant::getRtti() const @@ -306,5 +312,10 @@ bool operator!=(const Variant &lhs, const Variant &rhs) { return !(lhs == rhs); } + +namespace RttiTypes { +const Rtti ManagedVariant = RttiBuilder<ousia::ManagedVariant>("Variant"); +} + } |