Gazebo Plugin
API Reference
2.0.3
insert_drive_file
Tutorials
library_books
Classes
toc
Namespaces
insert_drive_file
Files
launch
Gazebo Website
Index
List
Hierarchy
Members: All
Members: Functions
Members: Variables
Members: Typedefs
Members: Enumerations
Members: Enumerator
List
Members
Functions
Typedefs
Variables
Enumerations
Enumerator
src
gz-plugin
core
include
gz
plugin
gz/plugin/WeakPluginPtr.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2018 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
18
#ifndef GZ_PLUGIN_WEAKPLUGINPTR_HH_
19
#define GZ_PLUGIN_WEAKPLUGINPTR_HH_
20
21
#include <memory>
22
23
#include <
gz/plugin/PluginPtr.hh
>
24
25
namespace
gz
26
{
27
namespace
plugin
28
{
39
class
GZ_PLUGIN_VISIBLE
WeakPluginPtr
40
{
42
public
:
WeakPluginPtr
();
43
47
public
:
WeakPluginPtr
(
const
WeakPluginPtr
&_other);
48
52
public
:
WeakPluginPtr
(
WeakPluginPtr
&&_other);
53
59
// cppcheck-suppress noExplicitConstructor
60
public
:
WeakPluginPtr
(
const
PluginPtr
&_ptr);
61
66
public
:
WeakPluginPtr
&operator=(
const
WeakPluginPtr
&_other);
67
72
public
:
WeakPluginPtr
&operator=(
WeakPluginPtr
&&_other);
73
79
public
:
WeakPluginPtr
&operator=(
const
PluginPtr
&_ptr);
80
84
public
:
PluginPtr
Lock()
const
;
85
88
public
:
bool
IsExpired()
const
;
89
91
public
: ~
WeakPluginPtr
();
92
93
private
:
class
Implementation;
94
GZ_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING
96
private
:
std::unique_ptr<Implementation>
pimpl;
97
GZ_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING
98
};
99
}
100
}
101
102
#endif