Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
MarshaledResult.h
1// Copyright (c) ZeroC, Inc.
2
3#ifndef ICE_MARSHALED_RESULT_H
4#define ICE_MARSHALED_RESULT_H
5
6#include "Config.h"
7#include "Current.h"
8#include "OutputStream.h"
9
10namespace Ice
11{
12 /// Base class for marshaled result structures, which are generated for operations having the marshaled-result
13 /// metadata tag.
14 /// @headerfile Ice/Ice.h
15 class ICE_API MarshaledResult
16 {
17 public:
18 MarshaledResult() = delete;
19 MarshaledResult(const MarshaledResult&) = delete;
20
21 /// Move constructor. Constructs a MarshaledResult with the contents of @p other using move semantics.
22 /// @param other The result to move from.
23 MarshaledResult(MarshaledResult&& other) = default;
24
25 virtual ~MarshaledResult();
26
27 MarshaledResult& operator=(const MarshaledResult&) = delete;
28
29 /// Move assignment operator. Replaces the contents of this result with the contents of @p rhs using move
30 /// semantics.
31 /// @param rhs The result to move from.
32 /// @return A reference to this result.
33 MarshaledResult& operator=(MarshaledResult&& rhs) = default;
34
35 /// @cond INTERNAL
36
37 OutputStream&& outputStream() && noexcept { return std::move(_ostr); }
38
39 protected:
40 /// The constructor requires the Current object that was passed to the servant.
41 MarshaledResult(const Current& current);
42
43 /// The output stream used to marshal the results.
44 OutputStream _ostr;
45
46 /// @endcond
47 };
48}
49
50#endif
MarshaledResult & operator=(MarshaledResult &&rhs)=default
Move assignment operator.
MarshaledResult(MarshaledResult &&other)=default
Move constructor.
Base class for marshaled result structures, which are generated for operations having the marshaled-r...
Represents a byte buffer used for marshaling data using the Slice encoding.
The Ice RPC framework.
Definition SampleEvent.h:59
Provides information about an incoming request being dispatched.
Definition Current.h:18