1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
#ifndef ICE_INTERFACE_BY_VALUE_H
#define ICE_INTERFACE_BY_VALUE_H
#include <Ice/Value.h>
#include <Ice/OutputStream.h>
#include <Ice/InputStream.h>
#ifdef ICE_CPP11_MAPPING
namespace Ice
{
/**
* Represents an instance of a Slice interface that was marshaled by value.
* \headerfile Ice/Ice.h
*/
template<typename T>
class InterfaceByValue : public ValueHelper<InterfaceByValue<T>, Value>
{
public:
/**
* Obtains the Slice type ID of this exception.
* @return The fully-scoped type ID.
*/
virtual std::string ice_id() const
{
return T::ice_staticId();
}
/**
* Obtains the Slice type ID of this exception.
* @return The fully-scoped type ID.
*/
static const std::string& ice_staticId()
{
return T::ice_staticId();
}
/**
* Returns an empty tuple.
* @return The empty tuple.
*/
std::tuple<> ice_tuple() const
{
return std::tie();
}
};
}
#endif
#endif
|