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
qmf
Handle.h
Go to the documentation of this file.
1
#ifndef QMF_HANDLE_H
2
#define QMF_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 "
qmf/ImportExport.h
"
26
27
namespace
qmf {
28
29
template
<
class
>
class
PrivateImplRef;
30
38
template
<
class
T>
class
Handle
{
39
public
:
40
42
QMF_INLINE_EXTERN
bool
isValid
()
const
{
return
impl
; }
43
45
QMF_INLINE_EXTERN
bool
isNull
()
const
{
return
!
impl
; }
46
48
QMF_INLINE_EXTERN
operator
bool()
const
{
return
impl
; }
49
51
QMF_INLINE_EXTERN
bool
operator !
()
const
{
return
!
impl
; }
52
53
void
swap
(
Handle<T>
& h) { T* t = h.
impl
; h.
impl
=
impl
;
impl
= t; }
54
55
protected
:
56
typedef
T
Impl
;
57
QMF_INLINE_EXTERN
Handle
() :
impl
() {}
58
59
// Not implemented,subclasses must implement.
60
QMF_EXTERN
Handle
(
const
Handle
&);
61
QMF_EXTERN
Handle
&
operator=
(
const
Handle
&);
62
63
Impl
*
impl
;
64
65
friend
class
PrivateImplRef
<T>;
66
};
67
68
}
// namespace qmf
69
70
#endif
Qpid C++ API Reference
Generated on Tue Sep 2 2014 for Qpid C++ Client API by
1.8.3.1