NVIDIA DeepStream SDK API Reference
7.1 Release
datafilter.hpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
* SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4
*
5
* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6
* property and proprietary rights in and to this material, related
7
* documentation and any modifications thereto. Any use, reproduction,
8
* disclosure or distribution of this material and related documentation
9
* without an express license agreement from NVIDIA CORPORATION or
10
* its affiliates is strictly prohibited.
11
*/
12
13
14
#ifndef DS3D_COMMON_HPP_DATA_FILTER_HPP
15
#define DS3D_COMMON_HPP_DATA_FILTER_HPP
16
17
#include <
ds3d/common/common.h
>
18
#include <
ds3d/common/func_utils.h
>
19
#include <
ds3d/common/hpp/dataprocess.hpp
>
20
21
namespace
ds3d
{
22
55
class
GuardDataFilter
:
public
GuardDataProcess
<abiDataFilter> {
56
using
_Base
=
GuardDataProcess<abiDataFilter>
;
57
58
public
:
59
template
<
typename
... Args>
60
GuardDataFilter
(Args&&... args) :
_Base
(std::forward<Args>(args)...)
61
{
62
}
63
~GuardDataFilter
() =
default
;
64
65
ErrCode
process
(
66
GuardDataMap
datamap,
abiOnDataCB::CppFunc
outputDataCB,
67
abiOnDataCB::CppFunc
inputConsumedCB)
68
{
69
GuardCB<abiOnDataCB>
guardOutputCb;
70
GuardCB<abiOnDataCB>
guardConsumedCb;
71
guardOutputCb.
setFn
<
ErrCode
,
const
abiRefDataMap
*>(std::move(outputDataCB));
72
guardConsumedCb.
setFn
<
ErrCode
,
const
abiRefDataMap
*>(std::move(inputConsumedCB));
73
74
DS_ASSERT
(
ptr
());
75
ErrCode
code =
76
ptr
()->
process_i
(datamap.
abiRef
(), guardOutputCb.
abiRef
(), guardConsumedCb.
abiRef
());
77
return
code;
78
}
79
};
80
81
}
// namespace ds3d
82
83
#endif // DS3D_COMMON_HPP_DATA_FILTER_HPP
DS_ASSERT
#define DS_ASSERT(...)
Definition:
defines.h:31
ds3d::GuardDataProcess
Definition:
dataprocess.hpp:29
dataprocess.hpp
ds3d::GuardRef::abiRef
ref * abiRef() const
Definition:
obj.hpp:269
ds3d::abiRefT< abiDataMap >
ds3d::ErrCode
ErrCode
Definition:
common.h:43
ds3d::GuardCB::setFn
void setFn(F f)
Definition:
obj.hpp:297
ds3d::GuardDataFilter::~GuardDataFilter
~GuardDataFilter()=default
ds3d::GuardDataFilter::process
ErrCode process(GuardDataMap datamap, abiOnDataCB::CppFunc outputDataCB, abiOnDataCB::CppFunc inputConsumedCB)
Definition:
datafilter.hpp:65
common.h
ds3d::GuardDataT< abiDataFilter >::ptr
abiDataFilter * ptr() const
Definition:
obj.hpp:361
func_utils.h
ds3d::GuardDataMap
Definition:
datamap.hpp:21
ds3d::GuardDataFilter::GuardDataFilter
GuardDataFilter(Args &&... args)
Definition:
datafilter.hpp:60
ds3d
Definition:
lidar_3d_datatype.h:35
ds3d::abiCallBackT::CppFunc
std::function< void(Args...)> CppFunc
Definition:
abi_obj.h:72
ds3d::GuardDataFilter
GuardDataFilter is the safe access entry for abiDataFilter.
Definition:
datafilter.hpp:55
ds3d::abiDataFilter::process_i
virtual ErrCode process_i(const abiRefDataMap *inputData, const abiOnDataCB *outputDataCb, const abiOnDataCB *dataConsumedCb)=0
ds3d::GuardCB
Definition:
obj.hpp:285
Advance Information | Subject to Change | Generated by NVIDIA | Mon Oct 14 2024 13:27:43 | PR-09318-R32