include
fkie_message_filters
filter_base.h
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* fkie_message_filters
4
* Copyright © 2018-2020 Fraunhofer FKIE
5
* Author: Timo Röhling
6
*
7
* Licensed under the Apache License, Version 2.0 (the "License");
8
* you may not use this file except in compliance with the License.
9
* You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing, software
14
* distributed under the License is distributed on an "AS IS" BASIS,
15
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
* See the License for the specific language governing permissions and
17
* limitations under the License.
18
*
19
****************************************************************************/
20
21
#ifndef INCLUDE_FKIE_MESSAGE_FILTERS_FILTER_BASE_H_
22
#define INCLUDE_FKIE_MESSAGE_FILTERS_FILTER_BASE_H_
23
24
#include "
types.h
"
25
#include <boost/noncopyable.hpp>
26
#include <functional>
27
28
namespace
fkie_message_filters
29
{
30
namespace
helpers
31
{
32
template
<
class
... Types>
33
struct
FilterCB
34
{
35
using
Type
= std::function<void(
const
Types&...)>;
36
};
37
38
template
<
class
... Types>
39
struct
FilterCB
<IO<Types...>>
40
{
41
using
Type
= std::function<void(
const
Types&...)>;
42
};
43
44
}
// namespace helpers
45
49
template
<
class
... Types>
50
using
FilterCB
=
typename
helpers::FilterCB
<Types...>::Type;
51
57
class
FilterBase :
public
boost::noncopyable
58
{
59
public
:
60
virtual
~FilterBase
() {}
65
virtual
void
disconnect
() noexcept = 0;
75
virtual
void
reset
() noexcept {};
76
};
77
78
}
// namespace fkie_message_filters
79
80
#endif
/* INCLUDE_FKIE_MESSAGE_FILTERS_FILTER_BASE_H_ */
fkie_message_filters
Definition:
buffer.h:33
types.h
fkie_message_filters::FilterBase::~FilterBase
virtual ~FilterBase()
Definition:
filter_base.h:78
fkie_message_filters::FilterCB
typename helpers::FilterCB< Types... >::Type FilterCB
Callback function for customizable filters.
Definition:
filter_base.h:68
fkie_message_filters::FilterBase::disconnect
virtual void disconnect() noexcept=0
Disconnect from all connected sources and sinks.
fkie_message_filters::helpers::FilterCB::Type
std::function< void(const Types &...)> Type
Definition:
filter_base.h:89
fkie_message_filters::FilterBase::reset
virtual void reset() noexcept
Reset filter state.
Definition:
filter_base.h:93
fkie_message_filters
Author(s): Timo Röhling
autogenerated on Wed Mar 2 2022 00:18:57