summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/SlicedData.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Ice/SlicedData.h')
-rw-r--r--cpp/include/Ice/SlicedData.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/cpp/include/Ice/SlicedData.h b/cpp/include/Ice/SlicedData.h
index 96ec59fd24c..2956e7431f2 100644
--- a/cpp/include/Ice/SlicedData.h
+++ b/cpp/include/Ice/SlicedData.h
@@ -12,6 +12,7 @@
#include <Ice/SlicedDataF.h>
#include <Ice/GCObject.h>
+#include <Ice/Value.h>
namespace Ice
{
@@ -19,7 +20,10 @@ namespace Ice
//
// SliceInfo encapsulates the details of a slice for an unknown class or exception type.
//
-struct ICE_API SliceInfo : public ::IceUtil::Shared
+struct ICE_API SliceInfo
+#ifndef ICE_CPP11_MAPPING
+ : public ::IceUtil::Shared
+#endif
{
//
// The Slice type ID for this slice.
@@ -39,7 +43,7 @@ struct ICE_API SliceInfo : public ::IceUtil::Shared
//
// The Ice objects referenced by this slice.
//
- ::std::vector<ObjectPtr> objects;
+ ::std::vector<ValuePtr> objects;
//
// Whether or not the slice contains optional members.
@@ -55,21 +59,30 @@ struct ICE_API SliceInfo : public ::IceUtil::Shared
//
// SlicedData holds the slices of unknown types.
//
-class ICE_API SlicedData : public ::IceUtil::Shared
+class ICE_API SlicedData
+#ifndef ICE_CPP11_MAPPING
+ : public ::IceUtil::Shared
+#endif
{
public:
SlicedData(const SliceInfoSeq&);
const SliceInfoSeq slices;
-
+#ifndef ICE_CPP11_MAPPING
void __gcVisitMembers(IceInternal::GCVisitor&);
+#endif
};
//
// Unknown sliced object holds instance of unknown type.
//
-class ICE_API UnknownSlicedObject : virtual public Object, private IceInternal::GCObject
+class ICE_API UnknownSlicedObject
+#ifdef ICE_CPP11_MAPPING
+ : public Value
+#else
+ : virtual public Object, private IceInternal::GCObject
+#endif
{
public:
@@ -79,13 +92,12 @@ public:
SlicedDataPtr getSlicedData() const;
+#ifndef ICE_CPP11_MAPPING
virtual void __gcVisitMembers(IceInternal::GCVisitor&);
+#endif
virtual void __write(::IceInternal::BasicStream*) const;
virtual void __read(::IceInternal::BasicStream*);
-
- using Object::__write;
- using Object::__read;
private: