Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET
Apache Qpid Documentation
qpid
messaging
Handle.h
Go to the documentation of this file.
1
#ifndef QPID_MESSAGING_HANDLE_H
2
#define QPID_MESSAGING_HANDLE_H
3
4
/*
5
*
6
* Licensed to the Apache Software Foundation (ASF) under one
7
* or more contributor license agreements. See the NOTICE file
8
* distributed with this work for additional information
9
* regarding copyright ownership. The ASF licenses this file
10
* to you under the Apache License, Version 2.0 (the
11
* "License"); you may not use this file except in compliance
12
* with the License. You may obtain a copy of the License at
13
*
14
* http://www.apache.org/licenses/LICENSE-2.0
15
*
16
* Unless required by applicable law or agreed to in writing,
17
* software distributed under the License is distributed on an
18
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19
* KIND, either express or implied. See the License for the
20
* specific language governing permissions and limitations
21
* under the License.
22
*
23
*/
24
25
#include "
qpid/messaging/ImportExport.h
"
26
27
namespace
qpid
{
28
namespace
messaging {
29
30
template
<
class
>
class
PrivateImplRef;
31
39
template
<
class
T>
class
Handle
{
40
public
:
41
43
QPID_MESSAGING_INLINE_EXTERN
bool
isValid
()
const
{
return
impl
; }
44
46
QPID_MESSAGING_INLINE_EXTERN
bool
isNull
()
const
{
return
!
impl
; }
47
49
QPID_MESSAGING_INLINE_EXTERN
operator
bool()
const
{
return
impl
; }
50
52
QPID_MESSAGING_INLINE_EXTERN
bool
operator !
()
const
{
return
!
impl
; }
53
54
void
swap
(
Handle<T>
& h) { T* t = h.
impl
; h.
impl
=
impl
;
impl
= t; }
55
56
private
:
57
// Not implemented, subclasses must implement.
58
Handle
(
const
Handle
&);
59
Handle
& operator=(
const
Handle
&);
60
61
protected
:
62
typedef
T
Impl
;
63
QPID_MESSAGING_INLINE_EXTERN
Handle
() :
impl
() {}
64
65
Impl
*
impl
;
66
67
friend
class
PrivateImplRef
<T>;
68
};
69
70
}}
// namespace qpid::messaging
71
72
#endif
qpid::messaging::Handle::Impl
T Impl
Definition:
Handle.h:62
qpid::messaging::Handle::swap
void swap(Handle< T > &h)
Definition:
Handle.h:54
qpid::messaging::PrivateImplRef
Definition:
Connection.h:36
qpid
This file was automatically generated from the AMQP specification.
Definition:
arg.h:33
qpid::messaging::Handle::isValid
QPID_MESSAGING_INLINE_EXTERN bool isValid() const
Definition:
Handle.h:43
qpid::messaging::Handle::operator!
QPID_MESSAGING_INLINE_EXTERN bool operator!() const
Operator ! supports idiom if (!handle) { do_if_handle_is_null(); }.
Definition:
Handle.h:52
qpid::messaging::Handle::isNull
QPID_MESSAGING_INLINE_EXTERN bool isNull() const
Definition:
Handle.h:46
QPID_MESSAGING_INLINE_EXTERN
#define QPID_MESSAGING_INLINE_EXTERN
Definition:
ImportExport.h:32
qpid::messaging::Handle::Handle
QPID_MESSAGING_INLINE_EXTERN Handle()
Definition:
Handle.h:63
qpid::messaging::Handle
Definition:
Handle.h:39
ImportExport.h
qpid::messaging::Handle::impl
Impl * impl
Definition:
Handle.h:65
Qpid C++ API Reference
Generated on Tue Aug 16 2022 for Qpid C++ Client API by
1.8.17