Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET
Apache Qpid Documentation
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
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
protected
:
57
typedef
T
Impl
;
58
QPID_MESSAGING_INLINE_EXTERN
Handle
() :
impl
() {}
59
60
// Not implemented,subclasses must implement.
61
QPID_MESSAGING_EXTERN
Handle
(
const
Handle
&);
62
QPID_MESSAGING_EXTERN
Handle
&
operator=
(
const
Handle
&);
63
64
Impl
*
impl
;
65
66
friend
class
PrivateImplRef
<T>;
67
};
68
69
}}
// namespace qpid::messaging
70
71
#endif
Qpid C++ API Reference
Generated on Tue Jul 2 2013 for Qpid C++ Client API by
1.8.3.1